第1章 操作系统概述 1
1.1 计算机与操作系统 1
1.1.1 计算机系统 1
1.1.2 实用操作系统 2
1.2 操作系统的功能 6
1.2.1 操作系统的定义 6
1.2.2 操作系统的功能 7
1.2.3 操作系统设计原则 9
1.2.4 操作系统的发展 9
1.3.1 多道批处理系统 12
1.3 操作系统的分类 12
1.3.2 分时系统 14
1.3.3 实时系统 15
1.3.4 几种操作系统的比较 16
1.3.5 典型操作系统介绍 17
1.4 操作系统的观点 20
1.4.1 资源管理观点 20
1.4.2 用户管理观点 21
1.4.3 进程管理观点 22
1.5 本章小结 22
习题 23
2.1.1 多用户 24
2.1.2 程序 24
2.1 概述 24
第2章 处理机管理 24
2.1.3 并发程序 25
2.1.4 Linux中的描述 26
2.2 进程及其状态 28
2.2.1 进程的定义 28
2.2.2 进程的状态及其转换 28
2.2.3 进程描述机构和进程实体 31
2.3 进程控制 34
2.3.1 原语 35
2.3.2 进程控制原语 35
2.3.3 Linux中的进程控制 38
2.3.4 Windows中的进程控制 40
2.4 进程同步 41
2.4.1 互斥关系 42
2.4.2 同步关系 44
2.4.3 临界区实现方法 45
2.4.4 用P、V操作实现互斥与同步 48
2.5 进程通信 55
2.5.1 消息通信 55
2.5.2 管道文件 56
2.5.3 Windows中的进程通信 57
2.5.4 Linux中的进程通信 57
2.6 死锁 58
2.6.1 死锁的定义 60
2.6.2 死锁发生的必要条件 60
2.7 实用系统中的进程 61
2.6.3 对抗死锁 61
2.8 本章小结 62
习题 62
第3章 存储管理 65
3.1 实用系统中的存储管理方法 65
3.1.1 DOS分区及分段 65
3.1.2 Windows XP的存储器 65
3.1.3 Linux存储管理 67
3.2 存储管理功能 67
3.2.1 用户实体与存储空间 67
3.2.2 分配、释放及分配原则 68
3.2.3 地址映射 69
3.2.4 虚拟存储器 71
3.2.5 存储保护与共享 72
3.2.6 存储区整理 73
3.3 分区管理 73
3.3.1 单一分区 73
3.3.2 多重固定分区 74
3.3.3 多重动态分区 75
3.4 分页管理 78
3.4.1 静态分页管理 78
3.4.2 动态分页管理 81
3.5 分段与段页式管理 86
3.5.1 分段管理 86
3.5.2 段页式管理 90
3.6.2 Windows XP的存储管理 93
3.6 常用系统的存储管理方案 93
3.6.1 DOS的存储管理 93
3.6.3 Linux的存储管理 95
3.7 本章小结 96
习题 96
第4章 作业管理 99
4.1 用户界面 99
4.1.1 作业控制语言 99
4.1.2 作业控制命令 100
4.1.3 菜单控制 101
4.1.4 窗口和图标 102
4.1.5 系统调用 103
4.2.2 作业控制块 104
4.2 作业 104
4.2.1 作业的状态 104
4.2.3 作业调度程序 105
4.3 作业与资源 105
4.3.1 资源管理的目的 106
4.3.2 资源分配策略 106
4.4 进程调度与作业调度 107
4.4.1 调度算法设计原则 107
4.4.2 作业调度算法 108
4.4.3 进程调度算法 109
4.4.4 实用系统中的调度算法 112
习题 114
4.5 作业与任务、进程、程序 114
4.6 本章小结 114
第5章 文件系统 116
5.1 Windows中的文件 116
5.1.1 资源管理器 116
5.1.2 记事本 117
5.1.3 文件的不同形态 118
5.2 文件和文件系统的基本概念 118
5.2.1 文件 118
5.2.2 文件系统 122
5.2.3 文件的逻辑结构和存取方法 123
5.2.4 文件的物理结构和存储设备 124
5.3 文件目录管理 129
5.2.5 Linux的文件物理结构 129
5.3.1 文件控制块 130
5.3.2 Linux的索引结点 130
5.3.3 一级目录结构 131
5.3.4 二级文件目录 131
5.3.5 树形目录结构 132
5.3.6 基本文件目录和符号文件目录 134
5.3.7 Linux目录结构的特点 135
5.3.8 Windows XP文件系统的结构 135
5.4 文件存储空间管理 135
5.4.1 文件系统常用的存储空间管理方法 136
5.4.2 FAT磁盘格式 137
5.5.1 有关文件操作的系统调用命令 139
5.4.3 FAT32磁盘格式特点 139
5.5 文件的操作 139
5.5.2 Linux中的文件系统调用命令及工作过程 142
5.5.3 Windows中的文件系统 143
5.6 文件的共享与安全 143
5.6.1 文件的共享 143
5.6.2 文件的安全 145
5.6.3 安全控制手段 148
5.7 本章小结 149
习题 150
6.1 概述 152
6.1.1 外设的分类 152
第6章 设备管理 152
6.1.2 设备管理的功能 154
6.2 设备标识与设备驱动程序 157
6.2.1 逻辑设备与物理设备 157
6.2.2 实用系统中的逻辑设备和物理设备 158
6.2.3 设备驱动程序 160
6.3 输入/输出控制方式 162
6.3.1 程序控制输入/输出方式 163
6.3.2 中断输入/输出方式 163
6.3.3 直接存储器访问方式 165
6.3.4 通道方式 167
6.3.5 Windows中的数据传输控制方式 168
6.4.1 设备分配中的数据结构 170
6.4 设备分配 170
6.4.2 设备分配思想 172
6.4.3 Spooling技术 175
6.5 设备管理涉及到的常用技术 176
6.5.1 中断技术 176
6.5.2 缓冲技术 179
6.6 Windows和Linux中的设备管理 182
6.6.1 Windows的设备管理 182
6.6.2 Linux的设备管理 184
6.7 本章小结 185
习题 185
7.1.1 网状结构与层次结构 187
7.1 操作系统的各种模型 187
第7章 操作系统的整体设计 187
7.1.2 面向过程与面向对象 189
7.2 分布式操作系统 192
7.2.1 分布式系统定义 192
7.2.2 分布式操作系统的设计目标 193
7.3 网络操作系统 194
7.3.1 什么是网络 194
7.3.2 网络的结构 195
7.3.3 网络操作系统 196
7.4 Windows的网络操作系统 197
7.4.1 网络构成 197
7.4.2 Windows的结构 198
7.4.3 Windows的管理职能 199
7.4.4 Windows Server的安全与监视 202
7.5 Linux操作系统 204
7.5.1 Linux体系结构 204
7.5.2 Linux模块化加载 205
7.5.3 核心数据结构 206
7.5.4 设备驱动 207
7.5.5 文件系统 207
7.5.6 Linux特性 209
第8章 实验 211
实验1 vi编辑器使用 211
实验2 Linux基本操作命令 216
实验3 Linux进程基本管理 224
实验4 Windows基本进程管理 229
实验5 Linux进程控制 236
实验6 Windows进程的控制 241
实验7 Linux进程通信 248
实验8 Linux内存基本管理 254
实验9 Windows内存的基本信息 257
实验10 Linux环境下几种内存调度算法模拟 260
实验11 Windows虚拟内存实验 269
实验12 Linux设备管理 277
实验13 Windows设备管理 280
实验14 Windows文件管理 286
参考文献 292