第1章 计算机操作系统概述 1
教学要求 1
思考题 1
1.1 什么是操作系统 1
1.1.1 操作系统在软件层次中的地位 2
1.1.2 操作系统的设计观点 4
1.2 操作系统的形成和五大类型 5
1.2.1 计算机操作系统的形成 7
1.2.2 操作系统的五大类型 10
1.3 操作系统的五大功能 15
1.3.1 作业管理 15
1.3.2 文件管理 15
1.3.3 存储管理 16
1.3.4 设备管理 16
1.3.5 进程管理 16
1.4 操作系统版本历史简介 17
1.4.1 DOS操作系统简史 17
1.4.2 Windows操作系统简史 18
1.4.3 UNIX操作系统版本简史 18
1.4.4 Linux操作系统简史 19
1.5 表征操作系统的属性 20
1.6 操作系统的“生成”、设置和配置概念 22
1.6.1 “生成”、配置和设置 22
1.6.2 操作系统引导 23
1.6.3 系统管理员 26
1.7 重点小结 27
自测题 28
研究题 29
第2章 作业管理 30
教学要求 30
思考题 30
2.1 作业管理的任务和功能 30
2.1.1 概念和术语 30
2.1.2 作业管理的任务 32
2.1.3 作业管理的功能 34
2.1.4 操作系统是用户和计算机之间的接口 34
2.2 用户界面的任务和功能 35
2.2.1 用户界面的发展 35
2.2.2 界面管理的任务 36
2.2.3 界面管理的功能 37
2.2.4 用户界面研究 37
2.3 用户界面的设计特点 39
2.4 作业调度 40
2.4.1 作业调度功能 40
2.4.2 作业说明书内容举例 40
2.4.3 作业调度算法 40
2.5 操作系统常用命令分类简介 42
2.5.1 操作系统是人机交互的接口 42
2.5.2 常用命令对比 44
2.5.3 UNIX,Linux联机命令手册索引 46
2.6 Shell命令解释和控制语言 46
2.6.1 DOS操作系统Shell语言 46
2.6.2 作业管理和进程管理的类比说明 48
2.7 重点小结 48
自测题 48
研究题 49
第3章 文件管理 50
教学要求 50
思考题 50
3.1 文件管理的任务和功能 50
3.1.1 文件管理的任务 50
3.1.2 文件管理的功能 52
3.1.3 文件的组织机构 53
3.2 文件分类 55
3.3 文件的物理结构和逻辑结构 59
3.3.1 文件的物理结构 59
3.3.2 文件的逻辑结构 62
3.4 文件目录 63
3.4.1 一级文件目录 63
3.4.2 二级文件目录 63
3.4.3 多级文件目录 64
3.4.4 文件目录的管理 64
3.5 文件存取控制 65
3.5.1 存取控制矩阵 65
3.5.2 用户权限表 65
3.5.3 使用口令 66
3.5.4 使用密码 66
3.5.5 UNIX/Linux操作系统的安全性 66
3.5.6 计算机病毒简介 70
3.6 文件系统的数据结构和表示 71
3.6.1 UNIX/Linux文件系统 71
3.6.2 磁盘文件系统结构 72
3.6.3 文件系统的数据结构 73
3.7 文件系统的系统调用 75
3.8 重点小结 75
自测题 76
研究题 76
第4章 存储管理 77
教学要求 77
思考题 77
4.1 存储管理的任务和功能 77
4.1.1 存储管理的任务 77
4.1.2 存储管理的功能 77
4.2.3 内存类型及寻址 77
4.2 分区分配存储管理 83
4.2.1 固定分区分配 83
4.2.2 可变式动态分区分配 84
4.2.3 可重定位分区分配 86
4.2.4 多重分区分配 86
4.2.5 内存“扩充”技术 86
4.2.6 内存保护技术 87
4.3 请求页式存储管理 87
4.3.1 实现原理 87
4.3.2 UNIX请求调页管理 88
4.3.3 页表的设计 89
4.3.4 请求淘汰换页算法 90
4.4.5 页式存储管理优缺点 91
4.4 段式存储管理 92
4.5 段页式存储管理 92
4.5.1 特点 92
4.5.2 实现原理 92
4.6 重点小结 93
自测题 93
研究题 94
第5章 输入输出设备管理 95
教学要求 95
思考题 95
5.1 概述 95
5.1.1 设备管理的任务与功能 95
5.1.2 发展历史 96
5.1.3 外部设备分类 96
5.1.4 设备I/O方式 98
5.1.5 未来展望 99
5.2 外部设备的安装 99
5.2.1 系统配置 99
5.2.2 用户外接设备 99
5.2.3 用户外接特殊设备 100
5.2.4 外部设备的即插即用 100
5.2.5 设备驱动程序的编制 100
5.2.6 CPU与外部信息的交换 101
5.2.7 总线和接口 101
5.3 输入输出设备分配算法 104
5.4 设备管理技术 104
5.4.1 磁盘管理技术 104
5.4.2 缓冲技术 106
5.4.3 虚拟设备的技术(SPOOLing) 108
5.4.4 共享打印机 109
5.5 设备处理程序编制内容 110
5.5.1 设备处理程序 110
5.5.2 设备驱动程序的功能 110
5.5.3 设备驱动程序的特点 110
5.5.4 设备处理方式 111
5.5.5 设备驱动程序举例 112
5.6 重点小结 115
自测题 115
研究题 116
第6章 进程及处理机管理 117
教学要求 117
思考题 117
6.1 概述 117
6.1.1 操作系统核心的功能和特点 117
6.1.2 为什么要引入“进程”概念 118
6.1.3 顺序执行与并发执行 119
6.2 进程的定义和特征 119
6.2.1 程序与进程 119
6.2.2 进程的五个基本特征 120
6.2.3 进程与线程 120
6.3 进程调度 121
6.3.1 进程的描述 121
6.3.2 进程的状态及转换 123
6.3.3 进程的调度算法举例 124
6.3.4 进程的控制块 126
6.4 进程通信 126
6.4.1 同步与互斥 126
6.4.2 临界区 132
6.4.3 原语 132
6.5 死锁 135
6.5.1 什么是死锁? 135
6.5.2 死锁的四个必要条件 135
6.5.3 死锁的表示 136
6.5.4 解决死锁问题的基本方法 136
6.6 重点小结 139
自测题 139
研究题 140
第7章 操作系统结构和程序设计 141
教学要求 141
思考题 141
7.1 操作系统的编程概念 141
7.2 结构设计的目标 142
7.2.1 设计目标 143
7.2.2 分层原则 143
7.2.3 分块原则 145
7.2.4 模块接口法的设计步骤 146
7.2.5 模块接口法的优缺点 146
7.3 层次结构设计 147
7.3.1 层次模块化结构设计的必要性 147
7.3.2 操作系统的结构模型 149
7.3.3 操作系统的结构设计 150
7.4 DOS模块结构 152
7.5 Windows的编程模式简介 153
7.6 微内核结构简介 153
7.7 Linux的安装与程序模块举例 155
7.8 重点小结 157
自测题 158
研究题 158
附录1 课程总复习指南 159
附录2 计算机操作系统实验指示书(学生用) 160
附录3 Linux简要使用说明(配合实验用) 167
参考文献 174