内容简介
第1章 操作系统概述
1.1 操作系统概念
1.1.1 什么是操作系统
1.1.2 操作系统运行环境
1.1.3 系统初启一般过程
1.1.4 操作系统的构建目标和地位
1.1.5 操作系统提供的服务及其方式
1.2 操作系统的功能
1.3 操作系统的特征
1.4 操作系统的形成和基本类型
1.4.1 操作系统的形成和发展
1.4.2 操作系统的基本类型
1.5 操作系统的主要结构
1.5.1 单体结构
1.5.2 层次结构
1.5.3 虚拟机结构
1.5.4 微内核结构
1.5.5 客户-服务器结构
1.6 UNIX和Linux系统的核心结构
1.6.1 UNIX系统的核心结构
1.6.2 Linux系统的核心结构
小结
习题1
第2章 进程管理
2.1 进程概念
2.1.1 程序顺序执行及其特征
2.1.2 程序并发执行及其特征
2.1.3 进程概念的引入和定义
2.2 进程状态描述及组织方式
2.2.1 进程的状态及其转换
2.2.2 进程的组成
2.2.3 进程组织方式
2.3 进程管理和有关命令
2.3.1 进程图和进程管理
2.3.2 Linux进程管理
2.3.3 有关进程操作的命令
2.3.4 有关进程管理的系统调用
2.4 线程概念
2.4.1 什么是线程
2.4.2 线程的实现方式
2.5 进程间的同步与互斥
2.5.1 进程间的关系
2.5.2 竞争条件和临界区
2.5.3 进程同步机制
2.5.4 信号量的一般应用
2.6 经典进程同步问题
2.7 进程通信
2.7.1 高级进程通信方式
2.7.2 消息缓冲通信
2.7.3 信箱通信
2.8 Linux系统的进程通信
2.8.1 信号机制
2.8.2 管道文件
2.8.3 System V IPC机制
2.9 管程
2.10 死锁
2.10.1 死锁概述
2.10.2 死锁的预防
2.10.3 死锁的避免
2.10.4 死锁的检测与恢复
2.10.5 饥饿和活锁
小结
习题2
第3章 处理机调度
3.1 调度的作用和级别
3.2 作业调度
3.2.1 作业状态
3.2.2 作业管理和调度
3.3 进程调度
3.3.1 进程调度的功能和时机
3.3.2 两级调度模型
3.3.3 三级调度模型
3.4 线程调度
3.5 调度性能的评价
3.5.1 调度策略的选择
3.5.2 性能评价标准
3.6 常用调度算法
3.7 实时调度
3.8 Linux系统中的进程调度
3.8.1 Linux进程调度方式
3.8.2 Linux常用调度命令
3.9 中断处理和系统调用
3.9.1 中断处理的一般过程
3.9.2 系统调用处理
3.10 shell基本工作原理
小结
习题3
第4章 存储管理
4.1 地址空间与重定位
4.1.1 用户程序的地址空间
4.1.2 重定位概念
4.1.3 覆盖技术
4.1.4 对换技术
4.2 分区管理技术
4.2.1 固定分区法
4.2.2 动态分区法
4.2.3 可重定位分区的紧缩
4.3 分页技术
4.3.1 分页的基本概念
4.3.2 分页系统中的地址映射
4.3.3 页的共享和保护
4.3.4 页表的构造
4.4 分段技术
4.4.1 分段的基本概念
4.4.2 分段系统中的地址映射
4.4.3 段的共享和保护
4.5 段页式结合系统
4.6 虚拟存储管理
4.6.1 虚拟存储器的概念
4.6.2 虚拟存储器的特征
4.7 请求分页技术
4.7.1 请求分页的基本思想
4.7.2 硬件支持及缺页处理
4.7.3 页面置换算法
4.8 内存块分配和抖动问题
4.8.1 内存块分配
4.8.2 抖动问题
4.8.3 工作集
4.9 请求分段技术
4.10 Linux系统的存储管理技术
4.10.1 对换技术
4.10.2 请求分页技术
4.10.3 Linux常用内存管理命令和函数
小结
习题4
第5章 文件系统
5.1 文件系统概述
5.1.1 文件及其分类
5.1.2 文件系统的功能
5.2 文件的逻辑 组织和物理组织
5.2.1 文件的逻辑 组织
5.2.2 用户对文件的存取方法
5.2.3 文件的物理组织
5.3 目录文件
5.3.1 文件控制块和文件目录
5.3.2 目录结构
5.4 文件存储空间的管理
5.5 文件系统的可靠性
5.5.1 坏块管理
5.5.2 文件的备份和恢复
5.5.3 文件系统的一致性
5.6 文件共享和保护
5.6.1 文件共享
5.6.2 文件保护
5.7 Linux文件系统
5.7.1 一般文件系统的格式
5.7.2 虚拟文件系统
5.7.3 Linux Ext2文件系统
5.7.4 对文件的主要操作
小结
习题5
第6章 设备管理
6.1 设备管理概述
6.1.1 设备分类和标识
6.1.2 I/O系统结构
6.1.3 I/O系统的控制方式
6.1.4 缓冲技术
6.1.5 设备管理的功能
6.2 设备分配技术与SPOOLing系统
6.2.1 设备分配技术和算法
6.2.2 SPOOLing系统
6.3 I/O软件构造原则
6.3.1 I/O软件目标
6.3.2 设备驱动程序
6.3.3 与设备无关的操作系统I/O软件
6.3.4 用户空间I/O软件
6.3.5 处理输入输出请求的步骤
6.4 磁盘调度和管理
6.4.1 磁盘硬件
6.4.2 磁盘调度算法
6.5 Linux系统设备管理
6.5.1 Linux设备管理概述
6.5.2 设备驱动程序的接口
6.5.3 Linux系统的缓冲技术
6.5.4 块设备管理
6.5.5 字符设备管理
6.5.6 可安装模块
小结
习题6
第7章 操作系统的发展和安全性
7.1 推动操作系统发展的动力
7.2 现代操作系统的发展
7.2.1 个人机操作系统
7.2.2 网络操作系统
7.2.3 嵌入式操作系统
7.2.4 多处理器系统
7.2.5 分布式系统
7.2.6 四种多机系统的比较
7.2.7 云计算系统
7.2.8 操作系统发展展望
7.3 系统安全性
7.3.1 信息安全问题
7.3.2 一般性安全机制
7.3.3 保护机制
7.4 系统性能评价
小结
习题7
附录A 实验指导
附录B Linux常用系统调用和库函数
附录C Linux常用命令
参考文献