第1章 操作系统概论
1.1 操作系统是什么与为什么
1.1.1 引言:你所用过的操作系统
1.1.2 操作系统是什么与做什么
1.1.3 操作系统的规模、数量与重要性
1.2 操作系统如何工作
1.2.1 操作系统的第一个工作:负责所有程序的启动和结束
1.2.2 操作系统的第二个工作:在用户程序中调用操作系统——系统调用和中断
1.2.3 操作系统的第三个工作:为常用基本操作提供现成实用程序
1.2.4 操作系统的第四个工作:解决效率和安全问题——并发技术等
1.3 从各种角度看操作系统
1.3.1 操作系统的结构
1.3.2 操作系统的接口
1.3.3 操作系统的工作过程
1.3.4 操作系统的特点
1.3.5 操作系统的类型
1.3.6 操作系统的各种别名、比喻和观点
1.4 操作系统发展简史
1.5 目前常用操作系统简介:Windows、UNIX、Linux等
习题1
第2章 处理机管理
2.1 处理机管理概述
2.1.1 CPU硬件使用特性
2.1.2 用户对CPU的使用要求和操作系统CPU管理功能的工作任务
2.2 单任务模型
2.3 多任务模型之一:进程模型
2.3.1 中断、并发、进程概念
2.3.2 进程模型概述
2.3.3 用户如何让几个进程并发运行:多窗口,后台符,fork
2.3.4 进程三态转换分析
2.3.5 进程模型实现机制
2.3.6 专题:栈、程序文件结构与进程空间(进程映像)结构
2.3.7 专题:可抢先、不可抢先、完全可抢先
2.3.8 专题:进程调度算法
2.4 Linux进程模型
2.4.1 Linux进程管理用户界面
2.4.2 Linux进程模型功能特点和实现机制
2.4.3 Linux初始过程和进程层次
2.4.4 Linux进程表和任务结构
2.4.5 Linux进程状态
2.4.6 Linux中断处理机制
2.4.7 Linux进程调度算法
2.4.8 例析:Shell和fork的内部工作过程
2.5 多任务模型之二:线程模型简介
2.6 Linux线程管理简介
*2.7 作业管理
习题2
第3章 内存管理
3.1 内存管理概述
3.1.1 内存概念、作用、性能指标和计算机存储层次
3.1.2 内存硬件接口使用特性:微观角度(指令级)和宏观角度(程序级)
3.1.3 用户(程序)对内存的使用要求
3.1.4 内存管理的功能和任务
3.2 连续模式
3.2.1 无管理模式、覆盖技术和动态装入技术
3.2.2 单一分区模式和交换技术
3.2.3 固定分区模式和多道技术
3.2.4 可变分区模式和动态存储分配技术
3.3 不连续模式之一:页模式
3.3.1 实存页模式的基本工作过程与结构
3.3.2 虚存页模式的基本工作过程和结构
3.3.3 页式实现专题讨论(1):虚存概念和作用
3.3.4 页式实现专题讨论(2):进程页表的实现——快表、页表页和页目录
3.3.5 页式实现专题讨论(3):大而稀疏内存使用
3.3.6 页式实现专题讨论(4):页分配策略——请求调页、预先调页和写时复制
3.3.7 页式实现专题讨论(6):页淘汰策略、工作集理论和颠簸
3.3.8 页模式评价、实际系统采用情况和本节小结
3.4 不连续模式之二/三:段模式和段页式
3.4.1 段模式
3.4.2 段页式
3.5 Linux内存管理
3.6 本章总结
*3.6.1 内存管理概念总结模型:四空间模型
3.6.2 各模式的比较
习题3
第4章 外存管理和文件系统
4.1 外存管理和文件系统概述
4.1.1 外存硬件接口特性
4.1.2 用户对外存的使用要求
4.1.3 从文件定义看文件系统的界面高度和工作任务
4.2 文件系统用户界面
4.2.1 文件级界面:文件属性和文件操作
4.2.2 目录级界面:目录(树)和链接
4.2.3 文件子系统级用户界面
4.3 文件的实现
4.3.1 连续分配背景下的讨论
4.3.2 不连续分配背景下的讨论
4.3.3 各种分配策略的总结比较和综合采用
4.4 目录的实现
4.4.1 目录树结构的实现:目录文件方法
4.4.2 硬链接的实现:设备目录与文件目录的分离
4.4.3 符号链接的实现
4.5 文件子系统的实现
4.6 文件系统性能改善机制
4.6.1 物理地址与存取单位的优化
4.6.2 文件打开与关闭技术
4.6.3 文件共享
4.6.4 内存缓冲区与缓冲池
4.6.5 磁臂调度技术
4.7 Linux文件系统
4.7.1 Linux文件系统用户界面
4.7.2 文件系统类型无关层——虚拟文件系统VFS
4.7.3 文件系统类型相关层——重点简介Ext2文件系统
4.7.4 mmap系统调用
4.8 本章总结和有关的文件系统模型
习题4
第5章 设备管理
5.1 设备管理概述
5.1.1 计算机外部设备的定义与分类
5.1.2 设备硬件接口特性
5.1.3 用户对设备的使用要求
5.1.4 操作系统设备管理功能的任务
5.2 Linux/UNIX设备管理实例分析
5.2.1 Linux/UNIX设备管理用户界面
5.2.2 Linux/UNIX设备管理内部实现过程和结构
5.3 设备管理界面和原理通述
5.3.1 操作系统设备管理用户界面通述
5.3.2 操作系统设备管理功能的内部实现结构
5.3.3 操作系统设备管理功能的内部工作过程
*5.3.4 速度匹配专题讨论(1):设备完成技术、同步和异步I/O
*5.3.5 速度匹配专题讨论(2):缓冲技术
*5.3.6 设备分配与共享技术专题讨论:独占、共享和虚拟设备
*5.3.7 速度匹配专题讨论(3):联机、脱机和假脱机技术
*5.3.8 非编程式I/O技术专题讨论:DMA、通道等
*5.3.9 设备驱动程序与核心间的接口规范例析:UNIXDDI/DKI标准
5.3.10 驱动程序例析:显示器、键盘、打印机驱动程序、电源
5.3.11 即插即用、驱动程序和设备安装与卸载、装入、启动、初始化、打开之间的区别与关系
习题5
第6章 进程通信
6.1 进程通信概述
6.2 进程互斥和同步机制
6.2.1 基本的硬件机制
6.2.2 软件忙等互斥方案
6.2.3 软件非忙等互斥方案:信号量及其变种
*6.2.4 由程序设计语言支持的进程互斥机制:管程
6.2.5 其他方案及其等价性
6.3 进程通信机制
6.4 死锁和饥饿
*6.5 Linux进程通信
6.5.1 信号量、消息队列、共享内存
6.5.2 管道和有名管道
6.5.3 信号
习题6
第7章 操作系统高级教程内容简介
7.1 分布式、网络、并行和嵌入式操作系统
7.1.1 计算机系统两极分化的发展趋势
7.1.2 分布式系统概述
7.1.3 并行操作系统
7.1.4 网络操作系统
7.1.5 分布式操作系统
7.1.6 机群与网格操作系统
7.1.7 嵌入式操作系统
7.2 操作系统性能评价
7.2.1 性能
7.2.2 可扩充性、可移植性、兼容性
7.2.3 安全性
7.2.4 可靠性和RAS技术
*7.2.5 低功耗
7.3 操作系统结构设计
7.3.1 单体结构模型
7.3.2 层次结构模型
7.3.3 客户/服务器模型(微核结构)
习题7
参考文献