操作系统是计算机系统的核心和灵魂,是计算机系统必不可少的组成部分,也是最基础和最核心的系统软件,因而操作系统课程成为计算机相关专业的必修课,也是计算机应用从业人员必备的专业知识。本书在前4版的基础上进行全面修订,系统地介绍操作系统的经典内容和技术新进展,选择当代具有代表性的开放源码操作系统 Linux作为实例贯穿全书。
本书共8章,涵盖操作系统的基本概念、设计原理和实现技术,尽可能系统、全面地展示操作系统的概念、特性和精髓。本书重点突出、内容充实、逻辑清晰、详略得当,便于学生更好地掌握操作系统的核心知识。与本书配套的《Linux 操作系统实验教程》(费翔林主编)已经由高等教育出版社出版,两本教材各有侧重,相辅相成完成操作系统教学任务。
本书既可作为高等学校计算机及相关专业本科的“操作系统”课程教材或参考书,也可供计算机技术和软件技术人员阅读和参考。
目录
- 前辅文
- 第1章 操作系统概论
- 1.1 操作系统概观
- 1.1.1 操作系统与计算机系统
- 1.1.2 操作系统资源管理技术
- 1.1.3 操作系统定义和作用
- 1.1.4 操作系统功能和特性
- 1.2 操作系统形成与发展
- 1.2.1 人工操作阶段
- 1.2.2 执行系统阶段
- 1.2.3 多道程序设计与操作系统形成
- 1.2.4 操作系统发展与分类
- 1.3 操作系统基本服务和用户接口
- 1.3.1 基本服务和用户接口
- 1.3.2 程序接口与系统调用
- 1.3.3 操作接口与系统程序
- 1.3.4 Linux系统调用及实现机制
- 1.4 操作系统结构和运行模型
- 1.4.1 操作系统结构分类
- 1.4.2 操作系统结构设计
- 1.4.3 操作系统内核
- 1.4.4 操作系统运行模型
- 1.5 流行操作系统简介
- 1.5.1 UNIX 操作系统
- 1.5.2 自由软件和 Linux 操作系统
- 1.5.3 IBM 操作系统
- 1.6 本章小结
- 习题1
- 第2章 处理器管理
- 2.1 处理器状态
- 2.1.1 处理器
- 2.1.2 程序状态字
- 2.2 中断技术
- 2.2.1 中断概念
- 2.2.2 中断源分类
- 2.2.3 中断和异常的响应及服务
- 2.2.4 中断事件处理原则
- 2.2.5 中断优先级和多重中断
- 2.2.6 Linux 中断处理
- 2.3 进程及其实现
- 2.3.1 进程定义和属性
- 2.3.2 进程状态和转换
- 2.3.3 进程描述和组成
- 2.3.4 进程上下文切换与处理器状态转换
- 2.3.5 进程控制和管理
- 2.4 线程及其实现
- 2.4.1 引入多线程的动机
- 2.4.2 多线程环境中的进程与线程
- 2.4.3 线程的实现
- 2.5 Linux进程
- 2.6 处理器调度
- 2.6.1 处理器调度层次
- 2.6.2 选择调度算法原则
- 2.6.3 作业管理与调度
- 2.6.4 低级调度功能和类型
- 2.6.5 作业调度和低级调度算法
- 2.7 Linux调度算法
- 2.7.1 Linux V2.4调度算法
- 2.7.2 Linux V2.6调度算法
- 2.8 本章小结
- 习题2
- 第3章 同步、通信与死锁
- 3.1 并发进程
- 3.1.1 顺序程序设计
- 3.1.2 并发程序设计
- 3.1.3 进程的交互:竞争和协作
- 3.2 临界区管理
- 3.2.1 互斥和临界区
- 3.2.2 临界区管理的尝试
- 3.2.3 实现临界区管理的软件算法
- 3.2.4 实现临界区管理的硬件设施
- 3.3 信号量与PV操作
- 3.3.1 同步和同步机制
- 3.3.2 信号量与PV操作
- 3.3.3 信号量实现互斥
- 3.3.4 信号量解决5位哲学家就餐问题
- 3.3.5 信号量解决生产者-消费者问题
- 3.3.6 信号量解决读者-写者问题
- 3.3.7 信号量解决睡眠理发师问题
- 3.4 管程
- 3.4.1 管程和条件变量
- 3.4.2 管程的实现
- 3.4.3 管程解决进程同步问题
- 3.5 进程通信
- 3.5.1 信号通信机制
- 3.5.2 管道通信机制
- 3.5.3 共享内存通信机制
- 3.5.4 消息传递通信机制
- 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 SystemⅤ IPC进程同步机制
- 3.9 本章小结
- 习题3
- 第4章 存储管理
- 4.1 存储器工作原理
- 4.1.1 存储器层次
- 4.1.2 地址转换与存储保护
- 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.3.5 多级页表
- 4.3.6 反置页表
- 4.4 分段存储管理
- 4.4.1 程序分段结构
- 4.4.2 分段存储管理基本原理
- 4.4.3 分段存储管理共享和保护
- 4.4.4 分段和分页比较
- 4.5 虚拟存储管理
- 4.5.1 虚拟存储器概念
- 4.5.2 请求分页虚拟存储管理
- 4.5.3 请求段页式虚拟存储管理
- 4.6 存储管理方案及虚存页面替换算法小结
- 4.7 Linux虚拟存储管理
- 4.7.1 物理内存管理
- 4.7.2 进程虚拟地址空间管理
- 4.7.3 页表机制
- 4.7.4 缺页异常处理
- 4.8 本章小结
- 习题4
- 第5章 设备管理
- 5.1 I/O硬件原理
- 5.1.1 I/O系统
- 5.1.2 I/O控制方式
- 5.1.3 设备控制器
- 5.2 I/O 软件原理
- 5.2.1 I/O软件设计目标和原则
- 5.2.2 I/O中断处理程序
- 5.2.3 I/O设备驱动程序
- 5.2.4 独立于设备的I/O软件
- 5.2.5 用户空间的I/O软件
- 5.3 缓冲技术
- 5.3.1 单缓冲
- 5.3.2 双缓冲
- 5.3.3 多缓冲
- 5.4 驱动调度技术
- 5.4.1 存储设备的物理结构
- 5.4.2 循环排序
- 5.4.3 优化分布
- 5.4.4 搜查定位
- 5.4.5 提高磁盘I/O速度的方法
- 5.4.6 Linux磁盘I/O调度算法
- 5.5 设备分配
- 5.5.1 设备独立性
- 5.5.2 设备分配及其数据结构
- 5.6 虚拟设备
- 5.6.1 问题的提出
- 5.6.2 SPOOLing设计与实现
- 5.6.3 SPOOLing 应用
- 5.7 Linux设备管理
- 5.7.1 设备管理概述
- 5.7.2 字符设备
- 5.7.3 块设备
- 5.8 本章小结
- 习题5
- 第6章 文件管理
- 6.1 文件
- 6.1.1 文件概念和命名
- 6.1.2 文件类型和属性
- 6.1.3 文件存取方法
- 6.2 文件目录
- 6.2.1 文件控制块、文件目录与目录文件
- 6.2.2 层次目录结构
- 6.2.3 文件目录检索
- 6.3 文件组织与数据存储
- 6.3.1 文件逻辑结构
- 6.3.2 文件物理结构
- 6.4 文件系统功能及实现
- 6.4.1 文件类系统调用
- 6.4.2 文件共享
- 6.4.3 文件空间管理
- 6.4.4 内存映射文件
- 6.4.5 虚拟文件系统
- 6.4.6 文件系统性能和可靠性问题
- 6.5 Linux文件系统
- 6.5.1 Linux文件系统结构
- 6.5.2 VFS数据结构及管理
- 6.5.3 VFS文件系统调用实现
- 6.5.4 Linux文件系统高速缓存机制
- 6.5.5 Linux ext2文件系统
- 6.5.6 Linux proc文件系统
- 6.6 本章小结
- 习题6
- 第7章 操作系统安全与保护
- 7.1 安全性概述
- 7.2 安全策略
- 7.2.1 安全需求和安全策略
- 7.2.2 访问支持策略
- 7.2.3 访问控制策略
- 7.3 安全模型
- 7.3.1 安全模型概述
- 7.3.2 安全模型示例
- 7.4 安全机制
- 7.4.1 硬件安全机制
- 7.4.2 认证机制
- 7.4.3 授权机制
- 7.4.4 加密机制
- 7.4.5 审计机制
- 7.5 安全操作系统设计和开发
- 7.5.1 安全操作系统结构和设计原则
- 7.5.2 安全操作系统开发
- 7.5.3 信息系统安全评价标准简介
- 7.6 Linux 安全机制
- 7.7 本章小结
- 习题7
- 第8章 操作系统技术新进展
- 8.1 多处理器与多计算机系统
- 8.1.1 并行处理系统分类
- 8.1.2 共享存储的对称式多处理机
- 8.1.3 集群系统
- 8.2 基于网络的计算模式
- 8.2.1 网络计算
- 8.2.2 分布计算
- 8.2.3 云计算
- 8.3 多核与超线程
- 8.3.1 多核的提出
- 8.3.2 多核处理器的技术优势
- 8.3.3 多核计算机系统设计考虑
- 8.3.4 多核操作系统设计考虑
- 8.4 并行处理环境下的同步与调度
- 8.4.1 同步粒度
- 8.4.2 并行环境下的同步
- 8.4.3 多处理器调度
- 8.5 本章小结
- 习题8
- 参考文献