第1章 操作系统引论 1
1.1 操作系统的概念 1
1.1.1 什么是操作系统 1
1.1.2 操作系统和计算机系统的关系 2
1.2 操作系统的功能和特征 4
1.2.1 操作系统的功能 4
1.2.2 操作系统的特征 7
1.3 操作系统的分类 8
12.3.1 多道批处理系统 8
1.3.2 分时系统 10
1.3.3 实时系统 12
1.3.4 通用操作系统 13
1.4 分析研究操作系统的几种观点 14
1.4.1 操作系统的结构 14
1.4.2 操作系统的主要性能指标 14
1.4.3 分析研究操作系统的几种观点 15
第2章 Linux操作系统概述 16
2.1 什么是Linux 16
2.2 Linux简史 16
2.3 Linux特性综述 17
2.3.1 多任务 17
2.3.2 多用户 18
2.3.3 可编程snell 18
2.3.4 多文件系统 18
2.3.5 支持的硬件多 18
2.3.6 丰富的软件 19
2.4 Linux的发行版本 21
2.5 Linux的发展前景 22
2.6 Linux使用入门 24
2.6.1 Linux的使用介绍 24
2.6.2 Linux基本命令 26
第3章 作业管理 31
3.1 作业、作业步、作业流 31
3.2 作业的类别和组织 31
3.3 批量型作业的管理和调度 32
3.3.1 作业的组成 32
3.3.2 作业的进入 32
3.3.3 作业的建立 33
3.3.4 作业调度 34
3.3.5 从作业到进程 34
3.3.6 作业的运行 35
3.3.7 作业的终止和完成 35
3.4 终端型作业的管理 36
3.4.1 作业的建立和进入 36
3.4.2 终端型作业与批量作业管理方面的其他区别 36
3.5 用户与操作系统的接口 36
3.5.1 系统调用 37
3.5.2 作业控制语言 40
3.5.3 键盘操作命令 41
3.6 作业控制 44
3.6.1 脱机控制方式 44
3.6.2 联机控制方式 45
第45章 Linux的用户接口 46
4.1 了解Linux的Shell 46
4.2 Shell命令的语法分析 47
4.2.1 Shell变量 47
4.2.2 通配符 48
4.2.3 Shell脚本 48
4.3 Shell编程 49
4.3.1 使用echo 49
4.3.2 使用Shell程序中的变量 49
4.3.3 Shell编程结构 50
4.4 Shell程序举例 53
4.5 X Windows系统简介 56
4.6 X Windows系统的安装和配置 56
4.7 X Windows的使用 58
4.7.1 Xinitrc 58
4.7.2 窗口管理程序 59
第5章 并发程序和进程 61
5.1 并发程序 61
5.1.1 程序的顺序执行及其特点 61
5.1.2 程序的并发执行及其特点 62
5.2 进程的概念 64
5.2.1 进程的定义和特征 64
5.2.2 进程的状态及其转换 66
5.2.3 进程控制块 67
5.3 进程同步 68
5.3.1 临界资源和临界区问题 69
5.3.2 实现进程同步的机构 70
5.4 进程控制 76
5.4.1 建立进程原语 77
5.4.2 挂起进程原语 78
5.4.3 撤消进程原语 78
5.5 进程调度 79
5.5.1 进程调度的概念 79
5.5.2 进程调度程序 79
5.5.3 进程调度算法 80
5.6 死锁 82
5.6.1 死锁的概念 82
5.6.2 资源的概念 83
5.6.3 形成死锁的原因和必要条件 84
5.7 线程 85
5.7.1 线程的概念 85
5.7.2 线程和进程的关系 85
5.7.3 线程的执行状态及其转换 85
5.7.4 引入线程的优点 85
5.7.5 Windows NT的线程特点 86
第6章 Linux中的进程管理 87
6.1 Linux中的进程 87
6.1.1 Linux的进程控制块 87
6.1.2 Linux中的进程标识 88
6.2 Linux中的进程调度 88
6.3 Linux中的进程控制 90
6.3.1 进程的建立和fork()系统调用 90
6.3.2 程序执行和系统调用excc() 91
6.3.3 等待子进程结束系统调用wait() 91
6.3.4 结束子进程系统调用exit() 91
6.3.5 shell进程工作过程 91
6.4 Linux进程通信 92
6.4.1 信号 92
6.4.2 “管道” 93
6.4.3 Systemv的进程通信机制 96
第7章 存储管理 98
7.1 引言 98
7.1.1 存储管理的研究内容 98
7.1.2 存储组织 99
7.1.3 存储管理及其策略 99
7.1.4 分级存储体系 99
7.2 实存管理技术 100
7.2.1 用户程序的处理步骤 100
7.2.2 地址重定位 100
7.2.3 固定分区多道程序设计 102
7.2.4 可变分区多道程序设计 103
7.2.5 覆盖技术 108
7.2.6 对换技术 109
7.2.7 简单页式存储管理 109
7.3 虚拟存储管理技术 112
7.3.1 概述 112
7.3.2 请求页式虚拟存储管理技术 113
7.3.3 分段式存储管理技术 114
7.3.4 段页式存储管理技术 116
第八章 Linux中的存储管理 117
8.1 Linux存储管理的特点 117
8.1.1 段页式虚存技术 117
8.1.2 新建进程只占两页内存 117
8.1.3 新建子进程从父进程处仅复制页表 117
8.1.4 写时复制 117
8.1.5 利用高速缓存cache 118
8.2 Linux内存管理 118
8.2.1 基本思想 118
8.2.2 实现技术 119
第9章 设备管理 123
9.1 概述 123
9.1.1 设备的分类 123
9.1.2 设备管理的目标和功能 125
9.2 外围设备的分配 126
9.3 I/O控制方式 127
9.3.1 设备控制器 127
9.3.2 I/O控制方式 127
9.4 设备驱动程序 130
9.5 缓冲技术 130
9.6 中断技术 131
9.6.1 基本概念 131
9.6.2 中断类型 131
9.6.3 中断响应和处理过程 131
第10章 Linux中的设备管理 134
10.1 概述 134
10.2 Linux中的设备控制方式 135
10.2.1 测试和中断 135
10.2.2 设备驱动器与内核的接口 135
10.2.3 字符设备的管理 136
10.3 块设备的管理 136
10.4 磁盘 136
10.5 终端 137
10.5.1 终端分类 137
10.5.2 终端软件 137
10.5.3 终端输入输出过程 138
10.6 I/O软件 139
10.6.1 I/O软件的目标 139
10.6.2 与设备无关的I/O软件 140
10.6.3 用户空间的I/O软件 140
10.6.4 设备驱动程序 146
第11章 文件管理 147
11.1 概述 147
11.2 文件结构和存取方法 148
11.2.1 文件的逻辑结构 148
11.2.2 文件的物理结构 148
11.3 文件的存取方法 150
11.4 文件存储设备简介 150
11.5 文件结构、存储设备、存取方法之间的关系 152
11.6 文件存储空间的管理 152
11.6.1 位示图法 152
11.6.2 成组链接法 153
11.7 文件目录 154
11.7.1 什么是文件目录 154
11.7.2 二级目录和多级目录 155
11.7.3 对文件目录的管理 157
11.8 文件的保护和保密 157
11.8.1 文件的共享 157
11.8.2 文件的保护和保密 158
11.9 文件的使用 158
第12章 Linux文件系统 159
12.1 Linux文件系统概述 159
12.2 Linux文件系统的实现 160
12.3 虚拟文件系统转换(VFS) 163
12.3.1 VFS超级块 164
12.3.2 VFS的inode节点 164
12.3.3 登记文件系统 165
12.3.4 加载文件系统 166
第13章 LINUX的安装 167
13.1 Linux的版本介绍 167
13.2 Linux的获取 168
13.3 硬件的支持 169
13.4 RedHat Linux安装指南 172
13.4.1 准备工作 172
13.4.2 启动机器 173
13.4.3 安装系统 174
13.5 常见问题解答 181
第14章 系统管理 183
14.1 Root帐号与系统安全 183
14.2 引导系统 187
14.2.1 从软盘引导 187
14.2.2 从硬盘引导 188
14.2.3 用Loaein程序引导 190
14.3 系统初始化程序和文件 191
14.3.1 初始化信息 191
14.3.2 初始化程序和文件 193
14.4 关闭系统 204
14.5 用户管理 205
14.5.1 用户帐号的信息 205
14.5.2 创建帐号 206
14.5.3 修改帐号的属性 208
14.5.4 删除和查封帐号 209
14.5.5 组帐号的管理 209
14.6 管理文件系统 211
14.6.1 文件系统的基本概念和类型 211
14.6.2 创建文件系统 213
14.6.3 安装文件系统 214
14.6.4 检查、维护文件系统 214
14.7 交换空间 215
14.8 系统升级 215
14.8.1 内核的升级 216
14.8.2 库的升级 216
14.8.3 GCC的升级 217
14.8.4 其他软件的升级 217
第15章 网络管理与服务 218
15.1 网络管理 218
15.1.1 TCP/IP简介 218
15.1.2 获得Linux的网络软件 222
15.1.3 配置Linux的TCP/IP网络 222
15.1.4 配置Linux的域名服务 227
15.1.5 Linux的SLIP配置 232
15.1.6 Linux的PPP配置 245
15.2 建立Linux的普通站点 247
15.2.1 安装远程主目录 247
15.2.2 设置网络其他设备 248
15.2.3 创建帐户 249
15.2.4 处理连接 250
15.2.5 使用虚拟控制台 254
15.2.6 关闭系统 254
15.3 Internet 254
14.3.1 Internet简介 254
15.3.2 使用电子邮件 254
15.3.3 在Linux下安装Web/Gopher/FTP/UseNt服务器软件简介 256
15.3.4 使用FTP/gopher/Usenet/telnet简介 258
15.3.5 安全体系 260