计算机网络概述
网络基础
- 网络组成部分:主机、路由器、交换机等
- 网络结构:网络的网络
- 信息交换方式:电路交换和分组交换
- 网络分层:物理层、链路层、网络层、运输层和应用层
- 网络协议:标头和载荷
Web中的网络
-
HTTP
-
HTTP连接模型
-
HTTP1:短连接和长连接、HTTP管线、HTTP队头堵塞
-
HTTP2:帧、头部压缩、Server Push
-
HTTP3:QUIC、TCP队头堵塞、0RTT连接
-
-
CDN
- CDN服务器分布
- CDN服务器选择
- DNS劫持
- CDN服务器内容管理策略
-
WebSocket:HTTP协议升级
网络安全
- 三要素:机密性、完整性和身份验证
- 对称加密和非对称加密
- 密码散列函数(哈希函数)
- PKI
- 证书链
Linux基础
计算机硬件
- 计算机五大基本单元:控制器、运算器、存储器单元、输入单元、输出单元
计算机操作系统
- 操作系统:管理和控制计算机系统中的硬件和软件资源,用于在用户和系统硬件之间传递信息
Linux系统
- Linux版本:内核版本和发行版本
- Linux内核 + 常用软件 = Linux发行版本
- Linux应用领域:IT服务器(操作系统、虚拟化和云计算)、嵌入式和智能设备、个人办公桌面、学术研究与软件研发
Linux系统结构
- Linux基本组成:内核、shell、文件系统、应用程序
- 进程管理
- 进程是正在执行的一个程序或命令
- 进程有自己的地址空间,占用一定的系统资源
- 一个CPU核同一时间只能运行一个进程
- 进程由它的进程ID(PID)和父进程的进程ID(PPID)唯一识别
- 进程调度:指操作系统按某种策略或规则选择进程占用CPU进行运行的过程
- 进程调度规则
- 一个CPU核同一时间只能运行一个进程
- 每个进程有近乎相等的执行时间
- 对于逻辑CPU而言进程调度使用轮询的方式执行,当轮询完成则回到第一个进程反复
- 进程执行消耗时间和进程量成正比
- 进程的系统调用
- 内核空间(Kernal Space):系统内核运行的空间
- 用户空间(User Space):应用程序运行的空间
- **文件系统:**负责管理持久化数据的子系统,负责把用户的文件存到磁盘硬件中
- Lin中一切皆文件
- Linux文件系统采用树状的目录结构,最上层是/(根)目录
- 虚拟文件系统(VFS)
- 对应用层提供一个标准的文件操作接口
- 对文件系统提供一个标准的文件接入接口
- 用户权限
- 用户账户
- 普通用户账户:在系统中进行普通作业
- 超级用户账户:在系统中对普通用户和整个系统进行管理
- 用户组
- 标准组:可以容纳多个用户
- 私有组:只有用户自己
- 文件权限:每个用户UI与文件都有不同的权限,包括读(R)、写(W)、执行(X)
- 所有者:文件的所有者
- 所在组:文件的所有者所在的组
- 其他人:除文件所有者及所在组外的其他人
- 用户账户
Linux软件包管理
- 软件包:通常指的是一个应用程序,它可以是一个GUI应用程序、命令行工具或(其他软件程序需要的)软件库
- 软件包管理
- 低层工具:主要用来处理安装和删除软件包文件等文件,DKPG,RPM
- 上层工具:主要用于数据的搜索任务和依赖解析任务,APT,YUM,DNF
- 软件包管理工具
- RPM(Red Hat Package Manager),为Red Hat操作系统的包管理系统
- DPKG(Debian Package),为Debian操作系统的包管理系统