目录
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 与 OPT5.19 NRU 与改进 CLOCK5.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. 总结