
OS 与网络基础
一、操作系统核心概念
1. 内核态与用户态
| 模式 | 权限与功能 | 特点 |
|---|---|---|
| 内核态 | 可执行所有指令,访问所有硬件资源;运行操作系统内核(内存管理、进程管理、设备驱动等)。 | 高权限,直接操作硬件。 |
| 用户态 | 仅能执行部分指令集;运行用户程序。 | 安全性高,程序崩溃不会影响系统稳定性;通过系统调用请求内核服务。 |
2. 进程管理
线程切换流程
- 保存当前线程上下文:寄存器状态、程序计数器(PC)、堆栈指针 → 存入线程控制块(TCB)。
- 切换至调度器:由调度器选择下一个线程。
- 恢复新线程上下文:从进程控制块(PCB)加载内存、全局变量等 → 恢复执行。
进程状态
- 创建、就绪、运行、阻塞、终止。
进程间通信(IPC)
- 管道:半双工通信。
- 消息队列:异步消息传递。
- 共享内存:高效数据共享。
- 信号/信号量:事件通知与资源同步。
- Socket:跨网络通信。
线程间通信
- 互斥锁:独占资源访问。
- 读写锁:读共享,写独占。
- 条件变量:线程等待特定条件。
- 自旋锁:用户态忙等待(基于 CAS 原子操作)。
- 信号量(Semaphores):
P操作(请求资源 -1)、V操作(释放资源 +1)。
进程调度算法
- 先来先服务(FCFS)、最短作业优先(SJF)、高响应比优先(HRRN)、时间片轮转(RR)、最高优先级(HPF)、多级反馈队列(MFQ)。
3. 死锁
发生条件
- 互斥:资源独占。
- 持有并等待:进程持有资源并等待其他资源。
- 不可剥夺:资源只能由持有者释放。
- 环路等待:进程间形成环形等待链。
解决方案
- 破坏条件:如有序分配资源。
- 银行家算法:检查资源分配安全性,避免进入不安全状态。
4. 内存管理
写时复制(Copy-On-Write)
- 机制:
fork()时仅复制页表,物理内存共享;写入时触发复制。
页面置换算法
- OPT(最佳置换):淘汰未来最久未使用的页面。
- FIFO(先进先出)。
- LRU(最近最久未使用)。
- 时钟算法:近似 LRU 的实现。
- LFU(最不常用):淘汰访问次数最少的页面。
5. 中断
分类
- 外部中断:来自 CPU 外部(可屏蔽/不可屏蔽)。
- 内部中断(异常):陷阱(Trap)、故障(Fault)、终止(Abort)。
处理流程
- 发出中断信号。
- CPU 保存现场,查询中断向量表定位处理程序。
- 执行中断处理程序并恢复现场。
二、计算机网络
1. 网络模型分层
| 层级 | 功能 |
|---|---|
| 应用层 | 提供应用程序统一接口(如 HTTP、FTP)。 |
| 表示层 | 数据格式转换(兼容不同系统)。 |
| 会话层 | 建立、管理、终止通信会话。 |
| 传输层 | 端到端数据传输(如 TCP、UDP)。 |
| 网络层 | 路由、转发、分片(如 IP 协议)。 |
| 数据链路层 | 封帧、差错检测、MAC 寻址(如 Ethernet)。 |
| 物理层 | 物理介质传输数据帧(如光纤、电缆)。 |
2. TCP 与 UDP
TCP 特性
- 三次握手:确认双方收发能力,避免历史连接问题。
- 四次挥手:全双工通信,确保数据发送完毕后再关闭连接。
- 可靠传输:
- 数据分块编号 + 校验和。
- 滑动窗口流量控制。
- 拥塞控制(慢开始、拥塞避免、快重传、快恢复)。
- ARQ 协议 + 超时重传。
UDP 特性
- 无连接:无需握手,直接发送数据。
- 不可靠:不保证顺序和送达。
- 头部开销小(固定 8 字节)。
- 适用场景:实时视频、语音通话、DNS。
对比表格
| 特性 | TCP | UDP |
|---|---|---|
| 连接类型 | 面向连接 | 无连接 |
| 可靠性 | 可靠传输 | 不可靠 |
| 头部大小 | 20-60 字节 | 8 字节 |
| 速度 | 较慢 | 较快 |
| 顺序性 | 严格有序 | 无序 |
| 错误检测 | 流量控制 + 拥塞控制 | 仅校验和 |
| 典型应用 | HTTP、FTP、SMTP | DNS、DHCP、VoIP |
3. TCP 拥塞控制
- 慢开始:指数增长拥塞窗口(cwnd)。
- 拥塞避免:线性增长 cwnd。
- 快重传:收到 3 个重复 ACK 立即重传。
- 快恢复:调整 ssthresh 和 cwnd,避免慢启动。
4. HTTP 与 HTTPS
HTTP 版本演进
- HTTP/1.0:短连接(每次请求新建 TCP 连接)。
- HTTP/1.1:长连接(持久化连接,默认启用)。
- HTTP/2.0:多路复用、头部压缩。
- HTTP/3:基于 UDP(QUIC 协议)。
HTTPS
- 加密:SSL/TLS 加密数据。
- 证书:数字证书验证身份。
- 端口:443。
5. DNS 与网络协议
- DNS:域名解析为 IP 地址。
- ARP/RARP:
- ARP:IP → MAC(广播)。
- RARP:MAC → IP。
- 路由器 vs 交换机:
- 交换机:数据链路层,基于 MAC 地址转发。
- 路由器:网络层,基于 IP 地址路由。
三、用户状态管理
1. Cookie、Session、Token
| 机制 | 存储位置 | 安全性 | 数据类型 | 有效期 | 适用场景 |
|---|---|---|---|---|---|
| Cookie | 客户端 | 较低 | 仅字符串 | 可长期保持 | 记住登录状态、个性化设置 |
| Session | 服务器 | 高 | 任意数据类型 | 短期(会话级) | 敏感数据存储(如购物车) |
| Token | 客户端 | 中高 | 任意数据(通常 JWT) | 可配置 | 跨域 API、分布式系统、移动端 |
2. 核心区别
- 安全性:Session > Token > Cookie。
- 扩展性:Token 适合分布式系统;Cookie 受跨域限制。
- 性能:Cookie 减少服务器存储压力。
四、实际应用场景
1. 浏览器访问流程(以 www.taobao.com 为例)
- URL 解析:提取域名、路径等信息。
- DNS 查询:将域名解析为 IP 地址。
- HTTP 请求:构建请求头/体,通过 TCP 发送。
- 服务器处理:Web 服务器(如 Nginx)处理请求,返回响应。
- 浏览器渲染:解析 HTML/CSS/JS,生成页面。
2. 网络诊断工具
- Ping:基于 ICMP 协议测试主机连通性。
- 代理:
- 正向代理:客户端隐藏真实 IP。
- 反向代理:服务端隐藏真实服务器。
3. IP 协议演进
- IPv6 优势:更大地址空间、简化头部、即插即用、增强安全。
- IPv4 → IPv6 转换:
- 双栈技术:设备同时支持双协议栈。
- 隧道技术:封装 IPv6 数据包到 IPv4 中传输。
- 协议转换:网关设备进行协议转换。
操作系统与计算机网络基础详解

被折叠的 条评论
为什么被折叠?



