第一部分 基础篇 2
第1章 操作系统概述 2
1.1认识操作系统 2
操作系统的概念 2
操作系统的功能 3
1.2操作系统的发展 4
操作系统的发展 4
操作系统的分类 6
1.3 Linux操作系统概述 9
Linux操作系统的发展背景与历史 9
Linux操作系统的特点 11
Linux操作系统的组成 12
Linux操作系统的版本 12
Linux操作系统的应用与发展 14
习题 14
第2章Linux操作基础 15
2.1 Linux基本操作 15
登录 15
修改口令 16
退出 17
系统的关闭与重启 17
2.2 Linux命令 17
命令的格式 18
命令的输入与修改 18
命令的执行 18
命令的分类 19
简单命令 19
联机帮助 22
2.3 Linux文件操作 22
Linux系统的文件 23
Linux系统的目录 28
常用的目录操作命令 29
常用的文件操作命令 33
2.4输入/输出重定向 50
命令的输入与输出 50
输入重定向 51
输出重定向 52
管道 55
习题 57
第3章 vi文本编辑器 59
3.1 vi文本编辑器概述 59
vi文本编辑器介绍 59
vi的工作模式 60
vi的启动与退出 60
3.2 vi基本命令 61
屏幕翻滚 62
光标定位与移动 63
文本输入与删除 63
文本修改与替换 65
文本拷贝与粘贴 67
撤销与重做 68
3.3 vi常用末行命令 69
搜索与替换命令 69
文件操作与退出命令 70
其他常用命令 71
习题 72
第二部分 原理篇 74
第4章 进程管理 74
4.1进程 74
程序的顺序执行与并发执行 74
进程的概念 76
进程控制块 78
进程的组织 78
Linux系统中的进程 79
4.2进程的运行模式 83
操作系统内核 83
中断与系统调用 84
进程的运行模式 85
4.3进程控制 86
进程控制的功能 86
Linux系统的进程控制 87
Shell命令的执行过程 92
4.4进程调度 93
进程调度的基本原理 94
Linux系统的进程调度 94
4.5进程的互斥与同步 97
进程的互斥与同步 97
信号量与P、V操作 98
Linux的信号量机制 100
死锁问题 101
4.6进程通信 102
进程通信的方式 102
Linux信号通信原理 104
Linux管道通信原理 105
4.7线程 106
线程的概念 106
线程和进程的区别 106
内核级线程与用户级线程 107
Linux中的线程 107
习题 107
第5章 存储管理 109
5.1存储管理概述 109
内存的分配与回收 109
地址变换 109
内存的保护 112
内存的扩充 112
5.2存储管理方案 113
单一连续存储管理 113
分区存储管理 114
页式存储管理 116
段式存储管理 118
段页式存储管理 120
5.3虚拟存储管理 121
虚拟存储技术 121
页式虚拟存储器原理 121
5.4 Linux的存储管理 124
Linux的内存管理概述 124
Linux存储空间的描述 125
Linux多级分页机制 127
空闲内存的管理 128
内存的分配与回收 129
页面的交换 130
习题 131
第6章 文件管理 132
6.1文件管理概述 132
文件与文件系统 132
文件的逻辑结构与存取方式 134
文件的物理结构与存储方式 135
文件的共享与保护 139
文件存储空间的管理 140
6.2 Linux文件系统 141
Linux文件系统的特点 141
Linux文件系统的结构 141
6.3 Ext2文件系统 143
Ext2文件的结构 143
Ext2文件系统的格式 147
Ext2文件存储分配策略 148
6.4虚拟文件系统 148
VFS的文件对象 149
VFS缓存 151
VFS与进程的接口 151
文件系统的注册、挂装与卸载 152
文件系统的操作 152
习题 153
第7章 设备管理 154
7.1设备管理概述 154
设备的分类 154
设备管理的功能 155
设备与系统的接口 155
I/O系统的硬件结构 158
I/O系统的软件结构 159
7.2设备管理的相关技术 160
中断技术 160
缓冲与缓存技术 162
DMA技术 163
7.3 I/O控制方式 165
程序I/O方式 165
中断I/O方式 165
DMA方式 166
通道方式 166
7.4设备的分配 167
设备分配策略 167
虚拟设备技术 168
7.5设备的驱动 169
设备驱动程序 169
设备中断处理程序 169
7.6 Linux设备管理 170
Linux设备管理的特点 170
Linux系统的I/O软件结构 170
Linux的设备文件 171
Linux设备驱动程序 172
字符与块设备的驱动技术 173
Linux的中断处理 175
习题 177
第8章 操作系统接口 178
8.1操作系统接口概述 178
作业与作业调度 178
操作系统的接口 179
Linux系统的接口 180
8.2 Shell命令接口 180
Shell界面的组成 180
Shell的功能 180
Shell的版本 181
Shell的工作流程与原理 182
8.3 X图形窗口接口 184
X Window系统概述 184
X系统的体系结构与工作原理 184
X图形界面的组成 186
X系统的启动与停止 191
Linux桌面系统简介 194
8.4系统调用接口 196
系统调用接口概述 196
Linux系统调用接口的组成 196
Linux系统调用 198
Linux系统调用的执行过程 199
习题 200
第三部分 应用篇 202
第9章 Shell程序设计 202
9.1 Shell语言概述 202
Shell语言的特点 202
Shell程序 202
Shell程序的建立与执行 203
9.2 Shell特殊字符 204
通配符 204
输入/输出重定向与管道符 204
命令执行控制符 206
命令组合符 207
命令替换符 208
其他元字符 208
元字符的引用 209
9.3 Shell变量 209
变量的定义与使用 209
变量的作用域 211
变量的分类 213
环境变量 214
特殊变量 216
9.4 Shell表达式 220
数字运算表达式 220
逻辑测试表达式 222
9.5 Shell控制结构 224
条件与条件命令 225
分支控制命令 225
循环控制命令 227
退出循环命令 229
退出命令 230
9.6 Shell程序综合举例 230
习题 234
第10章 Linux系统管理 236
10.1系统管理概述 236
系统管理工作的内容 236
系统管理工具 236
root的权威性与危险性 237
10.2启动与关闭系统 237
系统的运行级别 237
系统的启动 238
系统的关闭与重启 238
10.3用户管理 239
用户管理概述 239
用户管理的相关文件 240
用户管理 242
用户组管理 245
10.4文件系统维护 245
文件系统的目录结构 245
存储设备命名规则 247
划分磁盘分区 247
建立文件系统 248
挂装文件系统 249
拆卸文件系统 251
修复文件系统 251
10.5系统备份 251
备份策略 251
备份命令 252
10.6 系统监控 255
监视用户的登录 255
监控进程的运行 256
监视内存的使用 260
监视文件系统的使用 261
10.7软件安装 262
软件的打包与安装 262
RPM软件包管理工具 263
安装与升级RPM包 263
查询RPM包 264
校验RPM包 265
卸载RPM包 265
习题 266
第11章 网络与通信应用 267
11.1 TCP/IP网络相关概念 267
TCP/IP协议概述 267
IP地址与域名 268
协议端口 269
客户服务器软件模型 270
11.2 Linux网络应用技术 270
网络测试 271
网络查询 273
远程执行命令 274
文件传输 276
即时通信 277
11.3电子邮件 278
电子邮件的结构 278
电子邮件系统的工作原理 279
在Linux中使用邮件 281
习题 283
附录A Linunx系统的安装 284
A.1安装准备 284
获得安装介质 284
了解硬件需求 284
确定安装方式 284
A.2在硬盘分区中安装Linux系统 285
启动安装程序 285
安装过程 285
A.3在虚拟机中安装Linux系统 289
安装虚拟机软件 289
创建虚拟机 290
在虚拟机中安装Linux 292
在虚拟机中运行Linux 292
配置虚拟机网络 293
安装虚拟机工具 295
附录B Linux C开发工具简介 297
B.1 Linux C开发工具 297
B.2 GCC简介 299
gcc编译过程 299
gcc命令 300
gcc应用举例 302
B.3 Make简介 305
makefile文件 305
make命令 308
参考文献 310