第1章 操作系统概论 1
1.1操作系统的定义与功能 1
1.1.1硬件与软件 1
1.1.2操作系统的定义 2
1.1.3操作系统的特征 2
1.1.4操作系统的功能 3
1.2操作系统的形成与发展 4
1.2.1手工操作阶段 4
1.2.2早期批处理系统——联机批处理 5
1.2.3早期批处理系统——脱机批处理 6
1.2.4执行系统 6
1.3操作系统的分类 7
1.3.1批处理操作系统 7
1.3.2分时操作系统 8
1.3.3实时操作系统 9
1.3.4网络操作系统 10
1.3.5分布式操作系统 10
1.4操作系统运行环境 11
1.4.1中央处理器(CPU) 11
1.4.2中断机制 13
1.4.3I/0技术 14
1.4.4时钟 14
小结 15
习题 15
第2章 处理机管理 16
2.1多道程序设计的概念 16
2.1.1程序的顺序执行 16
2.1.2多道程序设计 17
2.2用户接口与作业管理 19
2.2.1用户与操作系统的两种接口 19
2.2.2作业的基本概念 19
2.2.3多道批处理系统的作业管理 20
2.2.4交互式系统的作业管理 21
2.2.5系统调用 23
2.3进程的概念 24
2.3.1进程的引入 24
2.3.2进程的定义 25
2.3.3进程与程序的差别 25
2.3.4进程的主要特征 26
2.3.5进程的状态与转换 26
2.3.6进程控制块 27
2.3.7进程控制块的组织 29
2.3.8进程控制 31
2.4线程 32
2.4.1线程的基本概念 32
2.4.2进程和线程的比较 34
2.5处理机调度 34
2.5.1处理机的三级调度 34
2.5.2选择调度算法的原则 35
2.5.3进程调度 36
2.5.4作业调度 39
小结 42
习题 42
第3章 存储管理 44
3.1存储管理概述 44
3.1.1操作系统空间和用户程序空间 44
3.1.2存储器的类型 45
3.1.3存储系统的设计 45
3.1.4存储管理的功能 46
3.2地址重定位 48
3.2.1主存的物理组织和逻辑组织 48
3.2.2地址转换 48
3.3实存储器管理技术 50
3.3.1分区存储管理 50
3.3.2覆盖与交换技术 59
3.3.3分页存储管理 61
3.3.4分段存储管理(多重分区) 68
3.3.5段页式存储管理方案 70
3.4虚拟存储管理技术 71
3.4.1虚拟存储器的概念 71
3.4.2虚拟页式(请求分页式)存储管理 73
3.4.3虚拟段式存储管理 81
小结 81
习题 82
第4章 文件管理 84
4.1文件系统概述 84
4.1.1文件和文件系统 84
4.1.2文件的分类 85
4.1.3文件系统的功能 86
4.2文件的存储介质 86
4.3文件的结构 89
4.3.1文件的逻辑结构 89
4.3.2文件的物理结构 90
4.3.3文件的存取方式 93
4.3.4记录的成组与分解 94
4.4文件目录 94
4.4.1文件目录的组成 94
4.4.2文件目录结构 96
4.4.3文件目录的操作 98
4.5存储空间的分配 98
4.5.1位示图法 98
4.5.2空闲区表 100
4.5.3空闲块链 100
4.6文件的安全性 102
4.6.1文件的保护 102
4.6.2文件的保密 104
4.6.3文件的共享 104
4.7文件的基本操作及其使用 105
4.7.1基本文件操作 105
4.7.2“按名存取”的实现 106
小结 108
习题 108
第5章 设备管理 110
5.1设备管理概述 110
5.1.1计算机设备的分类 110
5.1.2设备管理的目标 111
5.1.3设备管理的功能 112
5.2I/0控制方式 112
5.2.1设备控制器 112
5.2.2程序循环测试方式 113
5.2.3中断方式 114
5.2.4直接存储器存取方式 114
5.2.5通道方式 115
5.3设备分配 117
5.3.1设备分配原则 117
5.3.2管理设备时的数据结构 117
5.3.3独占设备的分配 119
5.3.4磁盘的驱动调度(共享设备的分配) 120
5.4设备管理中常用的技术 124
5.4.1中断技术 124
5.4.2缓冲技术 126
5.4.3虚拟设备技术 129
小结 130
习题 130
第6章 并发进程 132
6.1进程的并发性 132
6.1.1与并发相关的概念 132
6.1.2与时间有关的错误 133
6.1.3并发进程间的资源竞争 136
6.1.4并发进程间的协同工作关系 137
6.2进程的同步与互斥 138
6.2.1进程同步与互斥的概念 138
6.2.2信号量与P、V操作 139
6.2.3用P、V操作实现互斥 140
6.2.4用P、V操作实现同步 141
6.2.5用P、V操作实现资源分配 141
6.2.6经典的同步与互斥问题 142
6.3进程通信 144
6.3.1进程通信概述 144
6.3.2共享内存 144
6.3.3消息机制 144
6.3.4管道通信 145
6.4死锁 146
6.4.1死锁的概念 146
6.4.2死锁的防止 147
6.4.3死锁的避免 148
6.4.4死锁的检测与解除 152
小结 153
习题 154
第7章 Linux概述 157
7.1Linux介绍 157
7.1.1Linux简介 157
7.1.2UNIX、GPL与Linux 158
7.1.3Linux的历史 160
7.2Linux的安装与配置 161
7.2.1Linux的发行版本 161
7.2.2Linux的安装与配置 163
7.3Linux的内核特征 182
7.3.1Linux内核设计目标 182
7.3.2内核体系结构模型 183
7.3.3Linux内核结构模型 184
7.3.4Linux内核源程序目录结构 185
7.4Linux的发展及展望 186
7.4.1开发模式 186
7.4.2内核版本 187
7.4.3国内应用状况 188
7.4.4发展方向 188
小结 189
习题 189
第8章 Linux进程管理 190
8.1Linux进程 190
8.1.1Linux运行模式、地址空间与上下文 190
8.1.2Linux进程控制块 191
8.2进程调度 193
8.2.1Linux系统的进程调度发生的时机 193
8.2.2Linux系统进程调度的工作 193
8.2.3Linux系统的进程调度策略 194
8.3进程通信 197
8.3.1信号通信机制 197
8.3.2管道通信系统 198
8.3.3消息队列 200
8.3.4信号量 201
8.3.5共享内存 202
小结 203
习题 203
第9章 Linux存储器管理 205
9.1Linux的分页管理机制 205
9.2虚存段的组织与管理 206
9.3内存的共享和保护 207
9.4内存空间管理 208
9.4.1空闲内存管理 208
9.4.2内存的申请与释放 209
9.5交换空间 209
9.5.1页交换进程和页面换出 210
9.5.2缺页中断和页面换入 211
9.6存储管理系统的缓冲机制 212
小结 213
习题 213
第10章 Linux文件系统 214
10.1Linux文件目录 214
10.2Linux文件系统 217
10.2.1Linux文件的物理结构 217
10.2.2Linux文件系统的特点 219
10.2.3ext2文件系统 220
10.2.4Linux文件系统的使用 224
10.3Linux系统的文件操作 225
10.3.1文件操作命令 225
10.3.2目录操作命令 229
10.3.3存取控制命令 230
10.3.4磁盘存储命令 231
10.3.5磁盘操作 232
10.4Linux常用系统调用 233
小结 235
习题 236
第11章 Linux设备管理 237
11.1Linux中的设备驱动 237
11.2Linux中的设备控制方式 238
11.2.1轮询和中断 238
11.2.2直接内存存取 239
11.2.3内存的使用 240
11.3设备驱动与内核的接口 240
11.3.1字符设备的管理 241
11.3.2块设备的管理 242
11.3.3硬盘 243
11.3.4网络设备的管理 245
11.4Linux系统中常用设备的使用 246
11.4.1CD-ROM的使用 246
11.4.2软盘的使用 247
11.4.3访问硬盘上的DOS/Windows分区 247
11.4.4访问U盘上的DOS/Windows分区 247
11.4.5打印机的使用 248
小结 249
习题 249
附录A实验指导书 250
实验1进程调度算法 250
实验2分页式存储管理 255
实验3文件管理 260
实验4死锁检测 270
实验5Linux基本操作 275
实验6Linux进程管理 276
实验7Linux文件管理 276
实验8Linux设备管理 277
参考文献 279