图书目录

第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