第1部分 原理篇
第1章 操作系统概论
1.1 什么是操作系统
1.2 操作系统的发展历史
1.3 现代操作系统类型
1.4 操作系统的概念、特征和功能
1.5 UNIX操作系统概述
习题
第2章 存储管理
2.1 存储管理基础
2.2 基本存储管理方法
2.3 可变分区存储管理
2.4 内存扩充技术
2.5 纯分页的存储管理
2.6 请求分页系统
2.7 段式存储管理
2.8 段页式存储管理
2.9 Linux存储管理
习题
第3章 进程管理
3.1 进程概述
3.2 进程控制块
3.3 调度
3.3.1 调度概述
3.3.2 进程调度策略
3.3.3 进程调度算法
3.4 UNIX系统的进程调度
3.5 进程的控制
3.6 进程的创建和映像改换
3.7 线程
3.7.1 多线程
3.7.2 线程的状态与功能
3.7.3 用户级和核心级线程
3.7.4 线程应用示例
3.8 Linux进程管理
3.8.1 Linux进程控制块
3.8.2 进程调度
3.8.3 进程创建
3.8.4 Linux的线程
习题
第4章 进程通信
4.1 进程的同步与互斥
4.2 进程间互斥控制方法
4.3 信号量和semWait、semSignal操作
4.4 信号量的应用
4.5 进程间的数据通信
4.6 软中断和信号机构
4.7 死锁
4.8 Linux的IPC机制
4.8.1 Linux IPC概述
4.8.2 消息队列
4.8.3 共享内存
4.8.4 信号量
习题
第5章 设备管理
5.1 概述
5.2 操作系统与中断处理
5.3 操作系统与时钟系统
5.4 操作系统对I/O操作的控制
5.5 设备管理的数据结构
5.6 磁盘调度
5.7 UNIX系统V的设备管理
5.7.1 块设备管理的主要数据结构
5.7.2 缓冲区管理
5.7.3 块设备管理
5.7.4 字符设备管理
5.8 设备分配
5.9 Linux的设备管理
5.9.1 概述
5.9.2 Linux字符设备管理
5.9.3 Linux块设备管理
5.9.4 Linux块设备缓冲区的管理
5.9.5 网络设备的管理
习题
第6章 文件系统
6.1 概述
6.2 文件目录
6.3 文件存储资源分配
6.4 文件的系统调用
6.4.1 文件的创建、打开、关闭和取消
6.4.2 文件的读写
6.4.3 调整文件读写位置lseek
6.4.4 创建任何类型文件mknod
6.4.5 其他文件系统调用
6.5 文件的标准子例程
6.6 UNIX文件系统的内部结构
6.6.1 索引节点
6.6.2 文件索引结构
6.6.3 目录结构
6.6.4 打开文件结构
6.6.5 文件系统存储资源管理
6.7 管道文件和管道通信
6.8 Linux虚拟文件系统
6.8.1 虚拟文件系统
6.8.2 VFS主要数据结构
6.8.3 VFS文件的打开
6.8.4 VFS文件的读写
6.9 Ext文件系统
6.9.1 Ext2文件系统
6.9.2 Ext2的主要数据结构
6.9.3 Ext2文件的操作
6.9.4 Ext3文件系统
6.9.5 Ext4文件系统
习题
第7章 Windows操作系统
7.1 Windows操作系统发展历程
7.2 Windows
7.2.1 系统体系结构
7.2.2 存储系统
7.2.3 进程、线程及处理器管理
7.2.4 I/O系统
7.2.5 文件系统
7.2.6 网络系统
7.3 Windows Server
7.4 Windows
7.5 操作系统虚拟化及云计算
习题
第8章 操作系统安全
8.1 操作系统的安全性
8.1.1 操作系统的安全需求
8.1.2 系统安全的评估与标准
8.1.3 Linux操作系统安全
8.1.4 Windows 2000操作系统安全
8.2 操作系统安全机制
8.2.1 标识与鉴别
8.2.2 可信路径
8.2.3 最小特权管理
8.2.4 访问控制
8.2.5 隐蔽通道检测与控制
8.2.6 安全审计
8.3 安全操作系统设计与实现
8.3.1 操作系统安全设计原理
8.3.2 安全策略
8.3.3 安全模型
8.3.4 安全体系结构
8.3.5 典型安全操作系统
习题
第2部分 应用和开发篇
第9章 UNIX使用基础
9.1 登录和退出系统
9.2 Shell基础
9.3 文件系统基本知识
9.4 UNIX文件系统结构
习题
第10章 UNIX实用程序
10.1 目录操作命令
10.2 文件操作命令
10.3 显示和打印命令
10.4 过滤器
10.5 设备操作
10.6 用户信息与进程控制
10.7 压缩和解压缩
10.8 其他命令
习题
第11章 软件开发工具
11.1 文本编辑器vi
11.1.1 屏幕编辑命令
11.1.2 底行命令
11.1.3 在vi程序中执行Shell命令
11.2 C编译系统
11.3 库的维护
11.4 维护程序的程序(Make)
11.4.1 Make使用初步
11.4.2 Make的内部规则
11.4.3 Make中的宏
11.4.4 用Make维护库
11.4.5 一个综合例子
11.4.6 Make命令选项和参数
11.5 调试程序
11.6 源代码控制系统(SCCS)
11.7 其他软件开发工具
习题
第12章 UNIX网络通信
12.1 检查计算机的连接情况
12.2 获取远程用户信息
12.3 用户间通话
12.4 远程登录和执行
12.5 远程文件复制和传输
12.6 网络服务命令
习题
第13章 UNIX系统和网络程序设计
13.1 文件系统程序设计
13.2 用文件的系统调用实现进程通信
13.3 高级进程间通信
13.4 远程进程间通信Socket
13.5 UDP套接字编程
习题
第14章 Shell程序设计
14.1 Shell程序和参数
14.2 Shell变量
14.2.1 用户定义变量
14.2.2 系统定义变量
14.2.3 Shell定义变量
14.2.4 参数替换
14.2.5 引号机制
14.3 测试和求值
14.4 控制结构
14.4.1 顺序控制结构
14.4.2 if语句
14.4.3 case语句
14.4.4 for语句
14.4.5 while和until语句
14.4.6 break、continue、exit和return语句
14.5 递归和Shell函数
14.6 Shell内部命令
14.7 Shell环境
14.8 Linux的BASH Shell
习题
第3部分 系统和网络管理篇
第15章 UNIX系统管理
15.1 系统的启动和关闭
15.2 用户管理
15.3 刷新系统缓冲区
15.4 检查和修复文件系统
15.5 构造、安装和拆卸文件系统
15.6 定时运行程序
习题
第16章 UNIX网络管理
16.1 配置TCP/IP
16.2 网络服务监控进程
16.3 域名服务系统
16.4 网络文件系统NFS
16.5 电子邮政系统
16.6 WWW服务器的配置
习题
参考文献