第1章绪论/1
1.1操作系统概念/1
1.2操作系统的历史/2
1.2.1手工操作阶段/3
1.2.2早期批处理/3
1.2.3多道程序系统/6
1.2.4分时操作系统/6
1.2.5实时操作系统/7
1.2.6通用操作系统/7
1.2.7操作系统的进一步发展/8
1.3操作系统的基本类型/8
1.3.1批处理操作系统/8
1.3.2分时系统/9
1.3.3实时系统/10
1.3.4通用操作系统/10
1.3.5个人计算机上的操作系统/10
1.3.6网络操作系统/11
1.3.7分布式操作系统/11
1.4操作系统功能/12
1.4.1处理机管理/12
1.4.2存储管理/13
1.4.3设备管理/13
1.4.4信息管理(文件系统管理)/13
1.4.5用户接口/14
1.5计算机硬件简介/14
1.5.1计算机的基本硬件元素/14
1.5.2与操作系统相关的几种主要寄存器/15
1.5.3存储器的访问速度/16
1.5.4指令的执行与中断/17
1.5.5操作系统的启动/18
1.6算法的描述/18
1.7研究操作系统的几种观点/19
1.7.1操作系统是计算机资源的管理者/20
1.7.2用户界面的观点/20
1.7.3进程管理的观点/20
习题/21
第2章操作系统用户界面/22
2.1简介/22
2.2一般用户的输入输出界面/23
2.2.1作业的定义/23
2.2.2作业组织/24
2.2.3一般用户的输入输出方式/24
2.3命令控制界面/26
2.4Linux与Windows的命令控制界面/28
2.4.1Linux的命令控制界面/28
2.4.2Windows的命令控制界面/29
2.5系统调用/32
2.6Linux和Windows的系统调用/33
2.6.1Linux系统调用/33
2.6.2Windows系统调用/34
本章小结/36
习题/36
第3章进程管理/38
3.1进程的概念/38
3.1.1程序的并发执行/38
3.1.2进程的定义/42
3.2进程的描述/43
3.2.1进程控制块PCB/43
3.2.2进程上下文/45
3.2.3进程上下文切换/46
3.2.4进程空间与大小/47
3.3进程状态及其转换/47
3.3.1进程状态/47
3.3.2进程状态转换/48
3.4进程控制/48
3.4.1进程创建与撤销/49
3.4.2进程的阻塞与唤醒/50
3.5进程互斥/51
3.5.1资源共享所引起的制约/51
3.5.2互斥的加锁实现/54
3.5.3信号量和P,V原语/55
3.5.4用P,V原语实现进程互斥/58
3.6进程同步/59
3.6.1同步的概念/59
3.6.2私用信号量/61
3.6.3用P,V原语操作实现同步/61
3.6.4生产者消费者问题/62
3.7进程通信/63
3.7.1进程的通信方式/63
3.7.2消息缓冲机制/65
3.7.3邮箱通信/66
3.7.4进程通信的实例——和控制台的
通信/67
3.7.5进程通信的实例——管道/70
3.8死锁问题/73
3.8.1死锁的概念/73
3.8.2死锁的排除方法/74
3.9线程的概念/76
3.9.1为什么要引入线程/76
3.9.2线程的基本概念/77
3.9.3线程与进程的区别/78
3.9.4线程的适用范围/78
3.10线程分类与执行/80
3.10.1线程的分类/80
3.10.2线程的执行特性/81
本章小结/82
习题/83
第4章处理机调度/85
4.1分级调度/86
4.1.1作业的状态及其转换/86
4.1.2调度的层次/87
4.1.3作业与进程的关系/87
4.2作业调度/88
4.2.1作业调度功能/88
4.2.2作业调度目标与性能衡量/89
4.3进程调度/91
4.3.1进程调度的功能/91
4.3.2进程调度的时机/92
4.3.3进程调度性能评价/92
4.4调度算法/93
4.5算法评价/97
4.5.1FCFS方式的调度性能分析/97
4.5.2轮转法调度性能评价/101
4.5.3线性优先级法的调度性能/101
4.6实时系统调度方法/103
4.6.1实时系统的特点/103
4.6.2实时调度算法的分类/104
4.6.3时限调度算法与频率单调调度
算法/105
本章小结/107
习题/108
第5章存储管理/109
5.1存储管理的功能/109
5.1.1虚拟存储器/109
5.1.2地址变换/110
5.1.3内外存数据传输的控制/112
5.1.4内存的分配与回收/113
5.1.5内存信息的共享与保护/113
5.2分区存储管理/114
5.2.1分区管理基本原理/114
5.2.2分区的分配与回收/117
5.2.3有关分区管理其他问题的讨论/120
5.3覆盖与交换技术/121
5.3.1覆盖技术/121
5.3.2交换技术/122
5.4页式管理/123
5.4.1页式管理的基本原理/123
5.4.2静态页面管理/124
5.4.3动态页式管理/127
5.4.4请求页式管理中的置换算法/129
5.4.5存储保护/132
5.4.6页式管理的优缺点/132
5.5段式与段页式管理/133
5.5.1段式管理的基本思想/133
5.5.2段式管理的实现原理/133
5.5.3段式管理的优缺点/138
5.5.4段页式管理的基本思想/138
5.5.5段页式管理的实现原理/138
5.6局部性原理和抖动问题/140
本章小结/143
习题/144
第6章进程与存储管理示例/145
6.1Linux进程和存储管理简介/145
6.2Linux进程结构/148
6.2.1进程的概念/148
6.2.2进程的虚拟地址结构/149
6.2.3进程上下文/150
6.2.4进程的状态和状态转换/152
6.2.5小结/154
6.3进程控制/154
6.3.1Linux启动及进程树的形成/154
6.3.2进程控制/156
6.4Linux进程调度/159
6.5进程通信/161
6.5.1Linux的低级通信/161
6.5.2进程间通信 IPC/163
6.6Linux存储管理/171
6.6.1虚存空间和管理/171
6.6.2请求调页技术/173
本章小结/175
习题/176
第7章Windows的进程与内存管理/177
7.1Windows NT的特点及相关的概念/177
7.1.1Windows NT体系结构的特点/177
7.1.2Windows的管理机制/177
7.2Windows进程和线程/180
7.2.1Windows的进程和线程的定义/180
7.2.2进程和线程的关联/180
7.2.3Windows进程的结构/181
7.2.4Windows线程的结构/182
7.2.5Windows进程和线程的创建/183
7.3Windows处理器调度机制/184
7.3.1调度优先级/184
7.3.2线程状态/185
7.3.3线程调度机制/186
7.4Windows的内存管理/187
7.4.1内存管理器/188
7.4.2内存管理的机制/188
7.5虚拟地址空间/189
7.5.1虚拟地址空间布局/189
7.5.2虚拟地址转换/191
7.6页面调度/193
7.6.1缺页处理/193
7.6.2工作集及页面调度策略/193
7.6.3页框号和物理内存管理/194
本章小结/195
习题/195
第8章文件系统/197
8.1文件系统的概念/197
8.2文件的逻辑结构与存取方法/200
8.2.1逻辑结构/200
8.2.2存取方法/202
8.3文件的物理结构与存储设备/204
8.3.1文件的物理结构/205
8.3.2文件存储设备/207
8.4文件存储空间管理/208
8.5文件目录管理/210
8.5.1文件的组成/211
8.5.2文件目录/211
8.5.3便于共享的文件目录/213
8.5.4目录管理/215
8.6文件存取控制/216
8.7文件的使用/218
8.8文件系统的层次模型/219
本章小结/220
习题/221
第9章设备管理/223
9.1引言/223
9.1.1设备的类别/223
9.1.2设备管理的功能和任务/224
9.2数据传送控制方式/225
9.2.1程序直接控制方式/225
9.2.2中断方式/227
9.2.3DMA方式/228
9.2.4通道控制方式/230
9.3中断技术/232
9.3.1中断的基本概念/232
9.3.2中断的分类与优先级/233
9.3.3软中断/234
9.3.4中断处理过程/234
9.4缓冲技术/235
9.4.1缓冲的引入/235
9.4.2缓冲的种类/236
9.4.3缓冲池的管理/237
9.5设备分配/239
9.5.1设备分配用数据结构/239
9.5.2设备分配的原则/241
9.5.3设备分配算法/242
9.6I/O进程控制/242
9.6.1I/O控制的引入/242
9.6.2I/O控制的功能/243
9.6.3I/O控制的实现/243
9.7设备驱动程序/244
本章小结/244
习题/245
第10章Linux文件系统/247
10.1Linux文件系统的特点与文件类别/247
10.1.1特点/247
10.1.2文件类型/248
10.2Linux的虚拟文件系统/249
10.2.1 虚拟文件系统VFS框架/249
10.2.2 Linux虚拟文件系统的数据
结构/250
10.2.3VFS的系统调用/256
10.3文件系统的注册和挂装/257
10.3.1文件系统注册/257
10.3.2已挂装文件系统描述符链表/258
10.3.3挂装根文件系统/259
10.3.4挂装一般文件系统/260
10.3.5卸载文件系统/260
10.4进程与文件系统的联系/261
10.4.1系统打开文件表/261
10.4.2用户打开文件表/261
10.4.3进程的当前目录和根目录/262
10.5ext2文件系统/262
10.5.1ext2文件系统的存储结构/262
10.5.2ext2文件系统主要的磁盘数据
结构/263
10.5.3ext2文件系统的内存数据结构/266
10.5.4数据块寻址/267
10.6块设备驱动/268
10.6.1设备配置/269
10.6.2设备驱动程序的接口/269
10.7字符设备驱动/271
习题/271
第11章Windows的设备管理和文件系统/272
11.1Windows I/O系统的结构/272
11.1.1设计目标/272
11.1.2设备管理服务/273
11.2设备驱动程序和I/O处理/274
11.2.1设备驱动类型和结构/274
11.2.2Windows的I/O处理/275
11.3Windows的文件系统/277
11.3.1Windows磁盘管理/277
11.3.2Windows文件系统格式/277
11.3.3Windows文件系统驱动/278
11.4NTFS文件系统/279
11.4.1NTFS 的特点/279
11.4.2NTFS的磁盘结构/279
11.4.3NTFS的文件系统恢复/281
本章小结/281
习题/282
参考文献/284