第1章 操作系统概述 1
1.1 操作系统的概念 1
1.1.1 计算机系统的层次结构 1
1.1.2 什么是操作系统 2
1.1.3 操作系统的目标和作用 2
1.2 操作系统的发展过程 4
1.2.1 无操作系统的计算机系统 4
1.2.2 批处理系统 5
1.2.3 分时系统 6
1.2.4 实时系统 7
1.2.5 网络操作系统 8
1.3 操作系统的特性和功能 9
1.3.1 操作系统的特性 9
1.3.2 操作系统的功能 11
习题 13
第2章 网络操作系统Linux简介 14
2.1 Linux的发展 14
2.1.1 什么是Linux 14
2.1.2 Linux的历史 14
2.2 Linux的版本 15
2.2.1 国外主要发行版本 15
2.2.2 国内主要发行版本 16
2.3 Linux的特性和功能 18
2.3.1 Linux的特性 18
2.3.2 Linux的功能 20
2.4 Linux的常用软件 21
2.4.1 基本命令和工具 21
2.4.2 办公软件 21
2.4.3 程序设计 21
2.4.4 网络软件 21
2.4.5 X Window 22
2.4.6 多媒体软件 23
2.4.7 其他软件 24
2.5 Linux的内核体系结构 24
2.6 Linux的现状及前景 26
习题 27
第3章 Linux的安装与配置 28
3.1 安装前的准备工作 28
3.1.1 确定系统环境 28
3.1.2 选择安装方法 29
3.1.3 准备工作的步骤 29
3.2 安装Linux 32
3.3 安装后的系统配置 43
3.3.1 设置代理 43
3.3.2 配置工具 45
习题 48
第4章 Linux使用基础 49
4.1 Linux常用命令 49
4.1.1 进入与退出命令 49
4.1.2 系统询问命令 50
4.1.3 文件操作命令 51
4.1.4 目录操作命令 56
4.1.5 口令、权限命令 58
4.2 Shell程序设计 61
4.2.1 Shell概述 61
4.2.2 Shell变量 64
4.2.3 Shell中的特殊字符 66
习题 71
第5章 Linux系统管理 72
5.1 用户管理 72
5.1.1 用户管理的内容 72
5.1.2 用户和组群配置 74
5.2 文件系统管理与维护 77
5.2.1 Linux的文件系统概述 77
5.2.2 建立文件系统 79
5.2.3 安装和卸载文件系统 80
5.3 软件包管理 82
5.3.1 RPM的设计目标 82
5.3.2 使用RPM 83
习题 86
第6章 Linux网络应用 87
6.1 Linux的网络功能 87
6.2 基本网络操作命令 88
6.2.1 ping命令 88
6.2.2 telnet命令 89
6.2.3 ftp命令 90
6.2.4 netstat命令 93
6.3 网络资源共享 94
6.3.1 Linux/UNIX系统之间文件共享——NFS 94
6.3.2 Linux/Windows系统之间文件共享——Samba 99
6.4 Internet站点的建立 103
6.4.1 Apache HTTP服务器 103
6.4.2 电子邮件服务器 108
6.4.3 FTP服务器 115
习题 117
第7章 进程管理 118
7.1 进程的基本概念 118
7.1.1 程序的顺序执行和并发执行 118
7.1.2 进程的定义和特征 120
7.1.3 进程的状态及其转换 121
7.1.4 进程的结构 122
7.2 进程控制 125
7.2.1 操作系统内核 125
7.2.2 进程控制的概念 126
7.2.3 进程的创建与撤消 126
7.2.4 进程的阻塞与唤醒 127
7.3 进程互斥和同步 128
7.3.1 进程互斥 128
7.3.2 进程同步 130
7.3.3 信号量机制 131
7.3.4 进程互斥和同步的实现 132
7.4 进程通信 134
7.4.1 进程通信的类型 135
7.4.2 消息缓冲队列通信机制 136
7.5 进程调度 138
7.5.1 进程调度的概念 138
7.5.2 进程调度算法 140
7.6 死锁 143
7.6.1 产生死锁的原因和必要条件 143
7.6.2 预防死锁 145
7.6.3 避免死锁 146
7.7 线程 149
7.7.1 线程的引入 149
7.7.2 线程与进程的比较 150
7.7.3 线程的属性 151
7.7.4 线程的状态及其转换 151
7.8 Linux中的进程管理 152
7.8.1 Linux进程概述 152
7.8.2 Linux的进程控制 154
7.8.3 Linux的进程调度 154
7.8.4 Linux进程的同步和通信 156
习题 161
第8章 作业管理 163
8.1 作业管理概述 163
8.1.1 作业及其类型 163
8.1.2 作业的状态及其转换 164
8.1.3 作业控制级的接口 165
8.1.4 作业管理的功能 165
8.2 作业调度 166
8.2.1 作业调度应考虑的因素 166
8.2.2 作业调度算法 166
8.3 Linux中的作业管理 169
8.3.1 Linux作业概述 169
8.3.2 Linux中的作业控制命令 169
习题 172
第9章 存储器管理 173
9.1 存储器管理概述 173
9.1.1 存储器管理中的基本概念 173
9.1.2 存储器管理的目的和功能 175
9.1.3 存储器管理方式 175
9.2 连续分配存储管理方式 176
9.2.1 单一连续分配 176
9.2.2 固定分区分配 176
9.2.3 动态分区分配 177
9.2.4 可重定位分区分配 179
9.3 覆盖与对换技术 180
9.3.1 覆盖技术 180
9.3.2 对换技术 181
9.4 分页存储管理方式 182
9.4.1 分页存储管理的基本原理 183
9.4.2 分页系统的地址变换机构 184
9.5 分段存储管理方式 186
9.5.1 分段存储管理方式的引入 186
9.5.2 分段存储管理的基本原理 187
9.5.3 段页式存储管理方式 189
9.6 虚拟存储器的基本概念 192
9.6.1 虚拟存储器的引入 192
9.6.2 虚拟存储器的特征 193
9.6.3 虚拟存储器的实现方式 193
9.7 请求分页存储管理方式 194
9.7.1 请求分页存储管理的基本原理 194
9.7.2 页面置换算法 197
9.8 Linux中的存储管理 199
9.8.1 Linux的分段和分页机制 199
9.8.2 Linux的存储映射 200
9.8.3 Linux内存的分配和回收 201
9.8.4 Linux的内存交换 203
9.8.5 Linux存储管理系统的缓冲机制 204
习题 204
第10章 设备管理 207
10.1 设备管理概述 207
10.1.1 I/O设备的类型 207
10.1.2 设备管理的任务和功能 208
10.1.3 设备控制器 209
10.1.4 I/O通道 209
10.1.5 缓冲技术 211
10.1.6 设备驱动 212
10.2 I/O控制方式 213
10.2.1 程序I/O方式 213
10.2.2 中断驱动I/O控制方式 214
10.2.3 DMA控制方式 214
10.2.4 I/O通道控制方式 215
10.3 设备分配 216
10.3.1 设备分配中的数据结构 216
10.3.2 设备分配时应考虑的因素 217
10.3.3 独占设备的分配程序 219
10.4 虚拟设备技术 220
10.4.1 SPOOLing技术的定义 220
10.4.2 SPOOLing系统的组成 220
10.4.3 SPOOLing技术的实例 220
10.5 磁盘存储器管理 221
10.5.1 磁盘性能简介 222
10.5.2 磁盘调度 222
10.6 Linux中的设备管理 225
10.6.1 Linux设备管理概述 225
10.6.2 Linux设备驱动程序 226
10.6.3 Linux字符设备的管理 227
10.6.4 Linux块设备的管理 228
习题 229
第11章 文件管理 230
11.1 文件和文件系统 230
11.1.1 文件类型和文件属性 230
11.1.2 文件系统的功能 231
11.2 文件的逻辑结构 231
11.2.1 顺序文件 232
11.2.2 索引文件 232
11.2.3 索引顺序文件 232
11.3 外存分配方式 233
11.3.1 连续分配 233
11.3.2 链接分配 234
11.3.3 索引分配 235
11.4 目录管理 236
11.4.1 文件控制块和索引结点 236
11.4.2 单级目录结构 238
11.4.3 两级目录结构 239
11.4.4 树型目录结构 239
11.5 Linux的文件系统管理 241
11.5.1 ext2文件系统 241
11.5.2 Linux虚拟文件系统 245
习题 251
第12章 实际技能训练 252
实训1——Linux系统安装 252
1.实训目的 252
2.实训环境 252
3.实训内容 252
实训2——Linux系统的基本操作 253
1.实训目的 253
2.实训环境 253
3.实训内容 253
实训3——简单shell编程 253
1.实训目的 253
2.实训环境 254
3.实训内容 254
实训4——Linux文件管理 254
1.实训目的 254
2.实训环境 254
3.实训内容 254
实训5——Linux网络配置 254
1.实训目的 254
2.实训环境 255
3.实训内容 255
实训6——NFS服务器配置 255
1.实训目的 255
2.实训环境 255
3.实训内容 255
实训7——Samba服务器配置 256
1.实训目的 256
2.实训环境 256
3.实训内容 256
实训8——Apache HTTP服务器配置 256
1.实训目的 256
2.实训环境 256
3.实训内容 256
实训9——邮件服务器配置 257
1.实训目的 257
2.实训环境 257
3.实训内容 257
实训10——FTP服务器配置 257
1.实训目的 257
2.实训环境 258
3.实训内容 258
参考文献 259