原理篇 3
第1章 引言 3
1.1 操作系统的概念 3
1.1.1 操作系统的地位和作用 3
1.1.2 操作系统的管理目标和主要功能 4
1.1.3 操作系统的定义 5
1.2 操作系统的历史回顾 5
1.2.1 操作系统的产生 5
1.2.2 操作系统的完善 6
1.2.3 操作系统的发展 7
1.3 操作系统的类型 7
1.3.1 批处理操作系统 7
1.3.2 分时操作系统 8
1.3.3 实时操作系统 10
1.3.4 单用户操作系统 11
1.3.5 网络操作系统 11
1.3.6 分布式操作系统 11
1.4 操作系统的特征 12
1.4.1 并发性 13
1.4.2 共享性 13
1.4.3 虚拟性 14
1.4.4 异步性 14
1.5 操作系统与用户的接口 14
1.5.1 命令接口 14
1.5.2 程序接口 15
1.5.3 图形用户接口 15
1.6 操作系统的结构 15
1.6.1 整体式系统 16
1.6.2 层次式系统 16
1.6.3 虚拟机系统 16
1.6.4 客户-服务器系统 17
1.7 操作系统的硬件环境 17
1.7.1 CPU与外设并行工作 17
1.7.2 I/O中断的作用 18
1.7.3 管态与目态 18
1.7.4 存储结构 19
1.7.5 存储保护 19
习题1 19
第2章 处理机管理 22
2.1 多道程序设计 22
2.1.1 程序的顺序执行 22
2.1.2 程序的并发执行 23
2.1.3 并发程序执行的条件 24
2.2 进程的描述 25
2.2.1 进程的定义 26
2.2.2 进程的特性及与程序的区别 26
2.2.3 进程的基本状态及其转换 27
2.2.4 进程控制块PCB 29
2.2.5 进程的队列 30
2.3 进程的控制 31
2.3.1 进程控制机构 32
2.3.2 进程控制原语 32
2.4 进程的互斥 33
2.4.1 互斥的定义 34
2.4.2 互斥的软件实现方法 35
2.4.3 上锁和开锁原语 35
2.4.4 用上锁和开锁原语实现进程的互斥 36
2.5 信号量机制 37
2.5.1 信号量的概念 37
2.5.2 P、V操作原语 37
2.5.3 用P、V操作原语实现进程的互斥 39
2.6 进程的同步 41
2.6.1 同步的定义 41
2 6.2 用P、V操作原语实现进程的同步 42
2.7 进程的通信 50
2.7.1 进程通信的定义 51
2.7.2 发送和接收原语 51
2.7.3 消息缓冲通信方式 51
2.7.4 信箱通信方式 53
2.8 死锁问题 55
2.8.1 死锁的定义 55
2.8.2 产生死锁的原因 57
2.8.3 产生死锁的必要条件 57
2.8.4 死锁的预防 58
2.8.5 死锁的避免 58
2.8.6 死锁的检测 63
2.8.7 鸵鸟算法 64
2.9 处理机调度 64
2.9.1 三级调度的概念 65
2.9.2 调度算法 65
2.9.3 调度时机 68
2.9.4 调度过程 68
2.10 线程的概念 69
2.10.1 线程的定义 69
2.10.2 线程与进程的比较 70
2.10.3 线程、进程、作业、程序之间的关联 71
习题2 71
第3章 存储器管理 76
3.1 存储管理的概念 76
3.1.1 存储系统的分类 76
3.1.2 物理地址和逻辑地址 77
3.1.3 静态重定位和动态重定位 77
3.1.4 存储管理的功能 78
3.1.5 内存扩充技术 79
3.1.6 存储管理的分类 81
3.2 分区存储管理 82
3.2.1 固定分区存储管理 82
3.2.2 可变分区存储管理 85
3.2.3 伙伴系统 90
3.3 页式存储管理 90
3.3.1 实分页式存储管理 91
3.3.2 虚拟页式存储管理 97
3.4 段式存储管理 103
3.4.1 实分段式存储管理 104
3.4.2 虚拟段式存储管理 107
3.5 段页式存储管理 111
习题3 111
第4章 设备管理 116
4.1 设备管理概述 116
4.1.1 设备的分类 116
4.1.2 设备管理的目标 117
4.1.3 设备管理的功能 117
4.1.4 设备管理结构 118
4.1.5 设备控制器和I/O通道 119
4.2 I/O控制方式 119
4.2.1 程序直接控制方式 119
4.2.2 中断控制方式 120
4.2.3 DMA控制方式 120
4.2.4 通道控制方式 122
4.3 中断技术 124
4.3.1 中断的基本概念 124
4.3.2 中断分类与优先级 125
4.3.3 中断处理过程 126
4.4 缓冲技术 126
4.4.1 缓冲技术的基本思想 127
4.4.2 缓冲的分类 127
4.4.3 缓冲的使用 130
4.5 设备分配及设备处理 130
4.5.1 设备分配的数据结构 130
4.5.2 设备分配策略 131
4.5.3 设备处理 133
4.6 SPOOLing系统 134
4.6.1 SPOOLing系统的概念 134
4.6.2 SPOOLing系统的组成 135
4.6.3 SPOOLing系统的优点及应用举例 136
4.7 磁盘设备管理 137
4.7.1 磁盘结构 137
4.7.2 磁盘的访问时间 139
4.7.3 磁盘调度算法 141
4.7.4 磁盘缓存置换算法 144
4.7.5 提高磁盘输入/输出速度的方法 146
习题4 147
第5章 文件管理 150
5.1 文件系统概述 150
5.1.1 基本概念 151
5.1.2 文件分类 153
5.1.3 文件结构 154
5.1.4 文件存取方式 157
5.1.5 文件结构与文件存取方式的联系 158
5.1.6 文件操作 158
5.2 文件目录 160
5.2.1 目录内容 160
5.2.2 目录结构 161
5.2.3 目录检索技术 166
5.2.4 目录操作 167
5.3 文件系统的实现 168
5.3.1 文件的实现 168
5.3.2 目录的实现 172
5.3.3 文件共享的实现 174
5.3.4 磁盘空间管理 176
5.3.5 文件系统的一致性 181
习题5 184
第6章 操作系统安全性 188
6.1 安全性概述 188
6.2 影响系统安全性的因素 189
6.3 实现系统安全性的基本技术 191
6.3.1 认证机制 191
6.3.2 授权机制 197
6.3.3 备份、转储与恢复机制 201
6.3.4 加密机制 203
6.3.5 审计机制 209
6.3.6 防火墙机制 209
6.3.7 反病毒机制 215
6.4 安全性的设计原则 216
6.5 职业道德教育与法制建设 217
习题6 218
实 训 篇 223
第7章 实训基础 223
7.1 Linux操作系统概述 223
7.1.1 Linux的起源和历史 223
7.1.2 Linux的特点 225
7.1.3 Linux的基本结构 226
7.1.4 Linux的源代码分布 227
7.1.5 Linux用户接口 228
7.1.6 Linux使用操作简介 234
7.1.7 Linux进程通信机制 241
7.1.8 Linux进程地址空间布局 243
7.1.9 Linux中的内核模块 244
7.1.10 添加Linux字符设备驱动程序 247
7.1.11 Linux提供的网络服务示例 256
7.2 Windows 2000/XP操作系统概述 257
7.2.1 Windows 2000/XP的由来和特点 257
7.2.2 Windows 2000/XP体系结构简介 259
7.2.3 Windows 2000/XP的用户接口 266
7.2.4 Windows 2000/XP的注册表 270
7.2.5 Windows 2000/XP的任务管理器 275
第8章 实训内容 276
8.1 使用级 276
8.1.1 安装Linux 276
8.1.2 安装Windows XP 286
8.1.3 Linux系统用户接口和编程界面 286
8.1.4 Windows XP操作系统界面认识 296
8.2 系统管理级 297
8.2.1 在Linux中添加、删除用户及用户组 297
8.2.2 在Windows XP中添加、删除用户 299
8.2.3 在Linux中使用U盘 302
8.2.4 屏蔽Windows XP桌面上的“回收站” 303
8.2.5 停止Windows XP“自动升级”服务 306
8.2.6 在Linux中配置FTP服务器 308
8.2.7 在Linux中配置LAMP环境 316
8.2.8 在Windows XP中配置IIS服务 326
8.3 系统行为观察级 331
8.3.1 观察Linux进程/线程的异步并发执行 331
8.3.2 Linux进程间的通信 335
8.3.3 在Linux中共享文件 341
8.3.4 观察Linux内存分配结果 342
8.3.5 观察Windows XP注册表的内容 346
8.3.6 观察并分析Windows XP任务管理器显示的内容 348
8.4 实现级 351
8.4.1 进程调度模拟程序设计 351
8.4.2 页面置换模拟程序设计 355
8.4.3 文件系统模拟设计 362
8.4.4 为Linux添加一个系统调用 373
8.4.5 为Linux添加一个内核模块 377
8.4.6 Linux中简单的字符设备驱动程序设计 381
8.5 源代码阅读级 392
8.5.1 Linux源代码专题分析——进程调度程序 392
8.5.2 跟踪系统查找文件过程 393
参考文献 395