目录 1
第1章 操作系统的类型和功能 1
1.1 什么是操作系统 1
1.1.1 操作系统在软件层次中的地位 2
1.1.2 操作系统的设计观点 5
1.2 操作系统的形成和5大类型 6
4.2.3 可重定位分区分配 11 7
1.2.1 计算机操作系统的形成 7
1.2.2 操作系统的5大类型 10
1.3 操作系统的5大功能 17
1.3.4 设备管理 18
1.3.3 存储管理 18
1.3.2 文件管理 18
1.3.1 作业管理 18
1.3.5 进程管理 19
1.4 操作系统版本历史简介 20
1.4.1 DOS简史 22
1.4.2 Windows操作系统简史 23
1.4.3 UNIX操作系统版本简史 24
1.4.4 Linux操作系统简史 29
1.5 表征操作系统的属性 31
1.6 操作系统的“生成”、设置和配置概念 33
1.6.1 “生成”、配置和设置 33
1.6.2 操作系统引导 34
1.6.3 系统管理员 38
小结 40
习题 41
第2章 作业与界面管理 44
2.1 作业管理的任务和功能 44
2.1.1 概念和术语 44
2.1.2 作业管理的任务 45
2.1.3 作业管理的功能 47
2.1.4 操作系统是用户和计算机之间的接口 48
2.2 用户界面的任务和功能 50
2.2.1 用户界面的发展 50
2.2.2 界面管理的任务 51
2.2.3 界面管理的功能 52
2.2.4 用户界面研究 52
2.3 用户界面的设计特点 54
2.4 作业调度 55
2.4.1 作业调度功能 55
2.4.2 作业说明书内容举例 55
2.4.3 作业调度算法 55
2.5 操作系统常用命令分类简介 57
2.5.1 操作系统是人机交互的接口 57
2.5.2 常用命令对比 59
2.6.1 DOS操作系统Shell语言 61
2.5.3 UNIX,Linux联机命令手册索引 61
2.6 Shell命令解释和控制语言 61
2.6.2 UNIX/Linux的Shell应用举例 63
2.6.3 作业管理和进程管理的类比说明 66
小结 67
习题 67
第3章 文件管理 69
3.1 文件管理的任务和功能 69
3.1.1 文件管理的任务 69
3.1.2 文件管理的功能 73
3.1.3 文件的组织机构 73
3.2 文件分类 76
3.3.2 文件的逻辑结构 82
3.3 文件的物理结构和逻辑结构 82
3.3.1 文件的物理结构 82
3.4 文件目录 86
3.4.1 一级文件目录 86
3.4.2 二级文件目录 87
3.4.3 多级文件目录 87
3.4.4 文件目录的管理 88
3.5 文件存取控制 88
3.5.1 存取控制矩阵 88
3.5.5 UNIX/Linux操作系统的安全性 89
3.5.3 使用口令 89
3.5.4 使用密码 89
3.5.2 用户权限表 89
3.5.6 计算机病毒简介 94
3.6 文件系统的数据结构和表示 96
3.6.1 UNIX/Linux文件系统 96
3.6.2 磁盘文件系统结构 96
3.6.3 文件系统的数据结构 98
3.7 文件系统的系统调用 101
小结 103
习题 103
4.1.2 存储管理的功能 105
4.1.3 内存类型及寻址 105
第4章 主内存管理 105
4.1.1 存储管理的任务 105
4.1 存储管理的任务和功能 105
4.2 分区分配存储管理 114
4.2.1 固定分区分配 114
4.2.2 可变式动态分区分配 115
4.2.4 多重分区分配 117
4.2.5 主存“扩充”技术 117
4.3 请求页式存储管理 118
4.2.6 主存保护技术 118
4.3.1 实现原理 119
4.3.2 UNIX请求调页管理 120
4.3.3 页表的设计 121
4.3.4 请求淘汰换页算法 122
4.3.5 页式存储管理优缺点 123
4.3.6 地址转换举例 124
4.4 段式存储管理 126
4.4.1 实现原理 126
4.4.2 地址变换 126
4.4.4 段式和页式的主要区别 127
4.4.3 段式存储管理的优缺点 127
4.5 段页式存储管理 128
4.5.1 特点 128
4.5.2 实现原理 128
小结 129
习题 130
第5章 设备管理 132
5.1 概述 132
5.1.1 设备管理的任务与功能 132
5.1.2 发展历史 132
5.1.3 外部设备分类 133
5.1.4 设备I/O方式 135
5.1.5 未来展望 141
5.2 外部设备的安装 142
5.2.1 系统配置 142
5.2.2 用户外接设备 142
5.2.3 用户外接特殊设备 142
5.2.4 外部设备的即插即用 143
5.2.5 设备驱动程序的编制 143
5.2.6 CPU与外部信息的交换 144
5.2.7 总线和接口 145
5.3 输入输出设备分配算法 149
5.4 设备管理技术 150
5.4.1 磁盘管理技术 150
5.4.2 缓冲技术 155
5.4.3 虚拟设备的技术 157
5.4.4 共享打印机 159
5.5 设备处理程序编制内容 159
5.5.1 设备处理程序 159
5.5.2 设备驱动程序的功能 159
5.5.3 设备驱动程序的特点 160
5.5.4 设备处理方式 160
5.5.5 设备驱动程序举例 162
小结 166
习题 166
6.1.1 操作系统核心的功能和特点 168
第6章 处理器的进程和线程管理 168
6.1 概述 168
6.1.2 为什么要引入“进程”概念 169
6.1.3 顺序执行与并发执行 169
6.2 进程的定义和特征 170
6.2.1 程序与进程 171
6.2.2 进程的5个基本特征 172
6.2.3 进程与线程 173
6.3 进程调度 174
6.3.1 进程的描述 174
6.3.2 进程的状态及转换 176
6.3.3 进程的调度算法 178
6.3.4 调度算法举例 180
6.3.5 进程控制块 183
6.4 进程通信 183
6.4.1 同步与互斥 184
6.4.2 临界区 189
6.4.3 原语 190
6.5 死锁 196
6.5.1 什么是死锁 196
6.5.2 死锁的4个必要条件 196
6.5.3 死锁的表示 197
6.5.4 解决死锁问题的基本方法 197
小结 203
习题 204
第7章 操作系统结构和程序实现 206
7.1 操作系统的编程概念 206
7.2 结构设计的目标 208
7.2.1 设计目标 208
7.2.2 分层原则 209
7.2.3 分块原则 211
7.2.4 模块接口法的设计步骤 212
7.2.5 模块接口法的优缺点 213
7.3 层次结构设计 214
7.3.1 层次模块化结构设计的必要性 214
7.3.2 操作系统的结构模型 216
7.3.3 操作系统的结构设计 217
7.4 DOS模块结构 220
7.5 Windows的编程模式简介 221
7.6 微内核结构简介 222
7.7 Linux的安装与程序模块举例 223
小结 226
习题 227
附录A 课程总复习指南 228
附录B 计算机操作系统实验指示书(学生用) 229
附录C Linux简要使用说明(配合实验用) 267
参考文献 274