第1章 操作系统概述
1.1 操作系统是什么
1.1.1 你所用过的操作系统
1.1.2 操作系统是什么与做什么
1.1.3 操作系统的规模、数量与重要性
1.2 操作系统大致如何工作
1.2.1 操作系统的第一个工作:负责所有用户程序的启动和结束---程序的5种启动方式和两种结束方式
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.4.1 操作系统出现以前的计算机使用方式
1.4.2 操作系统的第一个发展阶段:单任务自动批处理
1.4.3 操作系统的第二个发展阶段:多任务和多方式
1.4.4 操作系统的第三个发展阶段:软件工程和小型化
1.1.5 操作系统的第四个发展阶段:开放系统和并行分布
1.4.6 操作系统发展现状和展望
1.4.7 操作系统发展历史小结
1.5 目前最常用的操作系统
1.5.1 Microsoft公司的操作系统产品:Windows系列及MS DOS
1.5.2 UNIX大家庭:SVR4,Solaris,HP-UX,SCO UNIX,BSD,AIX 等
1.5.3 自由软件中的操作系统:Linux,freeBSD,BeOS
1.5.4 IBM公司的操作系统产品:AIX,OS/390,OS/2,OS/400,PCDOS7和PCDOS 2000
1.6 本章小结
习题
第2章 处理机管理
2.1 处理机管理概述
2.2 进程模型
2.2.l 进程三态的转换过程分析
2.2.2 进程模型实现
2.2.3 专题:CPU调度算法
2.3 CPU管理实例分析(1):UNIX早期版本的CPU管理(进程模型)
2.3.1 UNIX下如何建立进程和在一个程序中启动另一个程序
2.3.2 UNIX的进程层次和初启过程
2.3.3 UNIX进程模型的基本结构和工作过程
2.4 CPU管理实例分析(2):Linux CPU管理(进程模型)
2.5 线程模型
2.5.1 线程概念
2.5.2 线程的作用和必要性
2.5.3 线程的实现:线程包内容、用户态线程、核心态线程
2.6 处理机管理实例分析(3):Solaris(UNIX)的进程模型和线程模型
2.6.1 用户态线程、LWP、核心线程的区别和关系以及为什么同时需要它
2.6.2 Solaris线程模型的设计目标和实现机制总瞰
2.6.3 SVR4和 SVR4.ZMP的进程和线程模型概述
2.7 处理机管理实例分析(4):Windows NT的进程和线程模型
习题
第3章 主存管理
3.1 主存管理概述
3.1.l 内存的定义、作用和计算机存储层次
3.1.2 主存硬件接口使用特性:微观角度(指令级)和宏观角度(程序级)
3.1.3 用户程序对内存的使用要求
3.1.4 内存管理的功能和任务
3.2 连续模式(1):操作系统出现前的内存无管理模式
3.2.1 概述
3.2.2 覆盖技术
3.2.3 动态装入
3.3 连续模式(2):单一分区模式
3.3.1 概述和基本实现机制
3.3.2 交换技术的作用和实现
3.3.3 单一分区模式的总结和评价
3.4 连续模式(3):固定分区模式
3.5 连续模式(4):可变分区模式
3.5.1 本模式的内外基本工作过程
3.5.2 策略选择(算法与数据结构)
3.5.3 本模式评价改善与实际系统采用情况
3.5.4 多对基寄存器
3.6 不连续模式(1):页模式(Paging)
3.6.1 实存页模式的基本工作过程与结构
3.6.2 虚存页模式的基本工作过程与结构
3.6.3 虚存概念和作用
3.6.4 页模式实现策略专题讨论(1):进程页表的实现——快表、页表页和页目录
3.6.5 页模式实现策略专题讨论(2):大而稀疏内存使用
3.6.6 页模式实现策略专题讨论(3):页分配策略、写时复制和页长确定
3.6.7 页模式实现策略专题讨论(4):页淘汰策略、工作集理论和颠簸
3.6.8 专题讨论(5):动态连接共享库
3.6.9 页模式评价和实际系统采用情况
3.7 不连续模式(2):段模式
3.7.l 引言:用户内存观点和段的划分模式
3.7.2 模式定义、基本工作过程与结构
3.7.3 实现中的一曲策略
3.7.4 段模式的评价与实际系统采用情况
3.8 不连续模式(3):段页模式
3. 9 主存管理实例分析(1): WindowsNT的主存管理
3.9.1 内部实现
3.9.2 用户界面
3.10 主存管理实例分析(2):Linux内存管理
3.11 主存管理概念模型:四空间概念
习题
第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.4 目录的实现
4.4.1 用目录文件方法来实现目录树结构
4.4.2 设备目录与文件目录的分离
4.4.3 链接的内部实现
4.5 文件子系统的实现
4.5.l 文件子系统的实现机制总述
4.5.2 UNIX SS的文件子系统的实现机制(单类型文件子系统)
4.5.3 Linux(和SVR4、Solaris)的文件子系统的实现机制(多类型文件子系统)
4.5.4 本节小结
4.6 文件系统性能实现机制
4.6.1 物理地址与存取单位的优化
4.6.2 文件打开与关闭技术
4.6.3 文件共享
4.6.4 当前目录结构和名字快速缓存
4.6.5 内存缓冲区与缓冲池
4.6.6 磁臂调度技术
4.6.7 其他技术概述
4.6.8 文件系统的安全性和可靠性
4.7 文件系统实例分析
4.7.1 DOS文件系统——FAT文件系统
4.7.2 UNIX S5文件系统
4.7.3 UNIX BSD文件系统——FFS和 UFS
4.7.4 Linux文件系统
4.7.5 Windows NT文件系统
4.8 本章总结和有关文件系统模型
习题
第5章 设备管理
5.1 设备管理概述
5.1.1 计算机外部设备的定义与分类
5.1.2 外部设备硬件接口特性
5.1.3 用户对设备的使用要求
5.1.4 操作系统设备管理功能的任务
5.2 UNIX设备I/O用户界面和内部实现
5.2.1 用户界面
5.2.2 内部实现过程与结构
5.3 DOSI/O实例分析
5.4 操作系统设备管理功能界面和实现原理综述
5.4.1 用户界面综述
5.4.2 内部结构与过程综述
5.4 3 速度匹配技术专题讨论(1):设备完成技术、同步和异步 I/O操作
5.4.4 速度匹配技术专题讨论(2):缓冲技术
5.4.5 设备分配与共享技术专题讨论:独占、共享和虚拟设备
5.4.6 速度匹配技术专题讨论(3):联机、脱机和假脱机操作
5.4.7 非编程I/O技术专题讨论:DMA、通道等
5.4.8 操作系统设备管理功能与其他功能间的关系
5.5 设备驱动程序
5.5.l 设备驱动程序及其与核心间的接口(标准)
5.5.2 驱动程序例析:显示器、键盘、打印机驱动程序
5.6 Windows NT设备管理实例分析
5.7 Linux设备管理实例分析
5.8 本章小结
习题
第6章 进程通信
6.1 背景
6.2 临界区问题
6.2.1 两进程的解决方法
6.2.2 多个进程的解决方法
6.3 同步硬件
6.4 信号量
6.4.1 用法
6.4.2 实现
6.4.3 死锁和饥饿
6.5 经典的进程协同问题
6.5.1 有界缓冲区问题
6.5.2 读写问题
6.5.3 哲学家用餐问题
6.6 进程问的通情
6.6.1 命名方式
6.6.2 缓冲
6.6.3 异常条件
6.7 小结
习题
第7章 现代操作系统:网络、分布式和并行操作系统
7.1 目标
7.1.1 分布式系统与集中式系统相比所具有的优点
7.1.2 分布式系统与许多独立的PC相比所具有的优点
7.1.3 分布式系统的缺点
7.2 硬件概念
7.2.1 分类
7.2.2 总线型多处理机
7.2.3 开关型多处理机
7.2.4 总线型多计算机
7.2.5 开关型多计算机
7.3 软件概念
7.3.1 网络操作系统和NFS
7.3.2 真正的分布式系统
7.3.3 多处理机分时系统
7.4 实现策略
7.4.1 透明性
7.4.2 灵活性
7.4.3 可靠性
7.4.4 性能
7.4.5 伸缩性
7.5 分布式文件系统
7.5.1 文件服务接口
7.5.2 目录服务接口
7.5.3 文件共享的语义
7.6 Mach概述
7.6.1 Mach的历史
7.6.2 Mach的目标
7.6.3 Mach的微内核
7.6.4 Mach上的 BSD UNIX服务器
7.7 小结
习题
第8章 操作系统的性能与设计
8.1 性能
8.1.1 性能和性能指标总述
8.1.2 可扩充性、可移植性和兼容性
8.1.3 安全性
8.1.4 可靠性和 RAS技术
8.2 操作系统结构设计
8.2.1 单体模型
8.2.2 层次模型
8.2.3 客户/服务器模型与微核结构
8.2.4 策略与机制的分离
8.2.5 面向对象方法和模型
8.2.6 面向对象技术的实例分析:NT的面向对象模型的实现
8.3 操作系统的用户界面设计
习题
参考文献