目录
1. 操作系统概述
1.1 操作系统发展阶段与批处理系统
1.2 多道程序设计
1.3 多道程序吞吐量与单个作业周转时间
1.4 操作系统的四个基本特征
1.5 操作系统的主要功能
1.6 分时系统的特征
1.7 批处理、分时和实时系统的区别
1.8 CPU 工作模式:用户态与内核态
1.9 用户态进入内核态的三种方式
1.10 系统调用执行过程
1.11 系统调用与普通函数调用
1.12 中断与异常的区别及处理过程
1.13 操作系统启动过程
1.14 内核体系结构
2. 进程与线程
2.1 程序、作业与进程
2.2 进程的特征
2.3 PCB 进程控制块
2.4 进程三种基本状态与转换
2.5 进程控制与原语
2.6 进程创建、终止与层次结构
2.7 进程创建后的状态
2.8 线程引入的目的与适用场景
2.9 进程与线程的区别
2.10 用户级线程与内核级线程
2.11 进程通信方式
2.12 管道通信
3. 同步、互斥与调度
3.1 临界资源与临界区
3.2 同步与互斥
3.3 临界区访问原则
3.4 互斥的软件与硬件实现
3.5 信号量的值与 P、V 操作
3.6 P、V 操作的基本判断
3.7 普通生产者—消费者
3.8 连续消费 10 件的生产者—消费者
3.9 Peterson 算法
3.10 哲学家就餐与死锁避免
3.11 进程调度的时机
3.12 调度指标
3.13 FCFS、SJF、HRRN 和优先级调度
3.14 时间片轮转 RR 计算
3.15 多道程序 CPU 与 I/O 重叠计算
4. 死锁
4.1 死锁的定义
4.2 死锁的四个必要条件
4.3 资源分配图
4.4 安全状态与不安全状态
4.5 银行家算法:Need 矩阵与安全序列
4.6 银行家算法:资源请求
4.7 保证不死锁的资源数量
4.8 死锁预防、避免、检测与解除
4.9 死锁、饥饿与活锁
5. 存储管理
5.1 存储管理的基本功能
5.2 三级存储体系
5.3 静态重定位与动态重定位
5.4 固定分区与动态分区
5.5 动态分区分配算法
5.6 动态分区回收与合并
5.7 位图与空闲链表
5.8 位图位置计算
5.9 覆盖与交换
5.10 分页地址结构与物理地址计算
5.11 分页系统页号与页数
5.12 两级页表索引位数
5.13 页表、TLB 和两次访存
5.14 TLB 有效访问时间
5.15 虚拟存储与局部性原理
5.16 缺页中断处理
5.17 缺页率与 EAT 上界
5.18 页面置换:FIFO、LRU 与 OPT
5.19 NRU 与改进 CLOCK
5.20 工作集
5.21 颠簸及处理
5.22 分段地址转换与越界
5.23 分页与分段比较
6. 文件系统
6.1 文件、文件系统与逻辑结构
6.2 文件物理结构:连续、链接和索引
6.3 UNIX i 节点与最大文件大小
6.4 FCB 与 i 节点
6.5 open 操作与打开文件表
6.6 文件删除
6.7 目录结构与路径
6.8 硬链接与符号链接
6.9 文件空闲空间管理
6.10 目录查找磁盘次数
6.11 文件系统可靠性
6.12 文件系统性能优化
6.13 目录树操作与文件保护
7. 设备管理
7.1 字符设备、块设备与虚拟设备
7.2 设备独立性与逻辑设备名
7.3 I/O 端口统一编址与独立编址
7.4 I/O 控制方式
7.5 I/O 软件四层结构
7.6 I/O 请求处理流程
7.7 缓冲与缓存
7.8 SPOOLing 技术
7.9 磁盘访问时间
7.10 磁盘传输率
7.11 SSTF 磁盘调度
7.12 SCAN 电梯调度
7.13 设备分配与死锁
7.14 设备驱动程序与中断处理程序职责
8. 高频公式汇总
9. 总结