图书目录

第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.4.5操作系统的第四个发展阶段: 开放系统和并行分布

1.4.6操作系统发展现状和展望

1.4.7操作系统发展历史小结

1.5目前最常用的操作系统

1.5.1Microsoft公司的操作系统产品:Windows系列及MS DOS

1.5.2UNIX大家庭: SVR4,Solaris,HPUX,SCO UNIX,BSD,AIX等

1.5.3自由软件中的操作系统:Linux,freeBSD,BeOS…

1.5.4IBM公司的操作系统产品:AIX,OS/390,OS/2,OS/400,

PCDOS7和PCDOS 2000

1.6本章小结

习题

第2章处理机管理

2.1处理机管理概述

2.2进程模型

2.2.1进程三态的转换过程分析

2.2.2进程模型实现

2.2.3专题:CPU调度算法

2.3CPU管理实例分析(1): UNIX早期版本的CPU管理(进程模型)

2.3.1UNIX下如何建立进程和在一个程序中启动另一个程序

2.3.2UNIX的进程层次和初启过程

2.3.3UNIX进程模型的基本结构和工作过程

2.4CPU管理实例分析(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.2Solaris线程模型的设计目标和实现机制总瞰

2.6.3SVR4和SVR4.2MP的进程和线程模型概述

2.7处理机管理实例分析(4):Windows NT的进程和线程模型

习题

第3章主存管理

3.1主存管理概述

3.1.1内存的定义、作用和计算机存储层次

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.1引言:用户内存观点和段的划分模式

3.7.2模式定义、基本工作过程与结构

3.7.3实现中的一些策略

3.7.4段模式的评价与实际系统采用情况

3.8不连续模式(3): 段页模式

3.9主存管理实例分析(1): Windows NT的主存管理

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.1文件子系统的实现机制总述

4.5.2UNIX ss 的文件子系统的实现机制(单类型

文件子系统)

4.5.3Linux(和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.1DOS文件系统——FAT文件系统

4.7.2UNIX s5文件系统

4.7.3UNIX BSD文件系统——FFS和UFS

4.7.4Linux文件系统

4.7.5Windows NT文件系统

4.8本章总结和有关文件系统模型

习题

第5章设备管理

5.1设备管理概述

5.1.1计算机外部设备的定义与分类

5.1.2外部设备硬件接口特性

5.1.3用户对设备的使用要求

5.1.4操作系统设备管理功能的任务

5.2UNIX设备I/O用户界面和内部实现

5.2.1用户界面

5.2.2内部实现过程与结构

5.3DOS I/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.1设备驱动程序及其与核心间的接口(标准)

5.5.2驱动程序例析: 显示器、键盘、打印机驱动程序

5.6Windows NT设备管理实例分析

5.7Linux设备管理实例分析

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.6Mach概述

761Mach的历史

762Mach的目标

763Mach的微内核

764Mach上的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操作系统的用户界面设计

习题

参考文献