实用操作系统教程(第2版) / 计算机科学与技术专业实践系列教材
作者: 李建伟、吴江红等
出版时间:2016年7月
出版社:清华大学出版社
- 清华大学出版社
- 9787302434009
- 2-1
- 43923
- 0045178237-9
- 平装
- 16开
- 2016年7月
- 543
- 工学
- 计算机科学与技术
- TP316
- 计算机
- 本科
本书内容讲解重点突出、通俗易懂,符合计算机专业“操作系统”课程教学大纲的要求,并涵盖了全国硕士研究生入学考试计算机学科专业基础综合考试大纲中操作系统部分的全部内容,每章后精选了大量典型习题和历年全国统考真题供读者练习。
本书是普通高等教育“十一五”国家级规划教材,可用于普通高等院校计算机各专业“操作系统”课程的教材或考研参考书,也可作为广大计算机科学工作者和从事相关领域工作的工程技术人员的参考资料。
第1章 操作系统概述
1.1 操作系统的概念
1.1.1 计算机系统资源
1.1.2 操作系统的地位
1.1.3 操作系统的定义
1.1.4 操作系统的设计目标
1.2 操作系统的发展历史与分类
1.2.1 操作系统的发展历史
1.2.2 操作系统分类
1.3 操作系统的主要功能
1.3.1 处理机管理功能
1.3.2 内存管理功能
1.3.3 设备管理功能
1.3.4 文件管理功能
1.3.5 用户接口管理功能
1.4 操作系统的主要特征
1.4.1 并发执行
1.4.2 资源共享
1.4.3 一切皆虚拟
1.4.4 异步性
1.5 操作系统的结构设计
1.5.1 无结构操作系统
1.5.2 模块化结构操作系统
1.5.3 分层式结构操作系统
1.5.4 虚拟机结构操作系统
1.5.5 微内核结构操作系统
1.6 操作系统的运行环境
1.6.1 操作系统硬件运行环境
1.6.2 操作系统与其他系统软件关系
1.7 初识Linux操作系统
1.7.1 Linux概述
1.7.2 Linux内核设计
1.7.3 Linux启动和初始化过程
1.7.4 Linux系统调用介绍
习题1
第2章 进程、线程管理
2.1 进程的基本概念
2.1.1 程序执行过程
2.1.2 进程的定义和特征
2.1.3 进程状态和状态转换
2.1.4 进程控制块及其组织方式
2.2 进程控制
2.2.1 进程创建
2.2.2 进程执行与进程切换
2.2.3 进程阻塞与唤醒
2.2.4 进程挂起与激活
2.2.5 进程撤销
2.3 线程
2.3.1 进程的局限性
2.3.2 线程及其属性
2.3.3 线程状态与控制
2.3.4 线程间同步和通信
2.3.5 线程的实现
2.3.6 多线程模型
2.4 Linux进程管理概述
2.4.1 Linux中的进程及其进程控制块
2.4.2 Linux中的进程控制
2.4.3 Linux中的线程
习题2
第3章 进程同步与通信
3.1 进程同步和互斥
3.1.1 进程同步和互斥的基本概念
3.1.2 信号量机制
3.1.3 利用信号量解决互斥问题
3.1.4 利用信号量解决同步问题
3.2 典型进程同步问题详解
3.2.1 生产者消费者问题
3.2.2 哲学家就餐问题
3.2.3 读者写者问题
3.3 管程机制
3.3.1 为何引入管程
3.3.2 管程的定义
3.3.3 条件变量
3.3.4 管程解决生产者消费者问题
3.4 进程通信
3.4.1 高级通信分类
3.4.2 消息传递系统
3.5 Linux进程通信概述
3.5.1 管道
3.5.2 信号
3.5.3 消息队列
3.5.4 信号量
3.5.5 共享内存
习题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.3 调度算法的评价准则
4.3.1 面向用户的评价准则
4.3.2 面向系统的评价准则
4.4 典型进程调度算法
4.4.1 先来先服务调度算法
4.4.2 短作业(进程)优先调度算法
4.4.3 最短剩余时间优先调度算法
4.4.4 时间片轮转调度算法
4.4.5 优先级调度算法
4.4.6 高响应比优先调度算法
4.4.7 多级反馈队列调度算法
4.5 线程调度算法
4.5.1 用户级线程调度
4.5.2 核心级线程调度
4.6 实时调度算法
4.6.1 实时调度目标和所需必要信息
4.6.2 抢占调度和快速切换机制
4.6.3 典型实时调度算法
4.7 Linux进程调度概述
习题4
第5章 死锁
5.1 死锁的基本概念和产生原因
5.1.1 死锁的基本概念
5.1.2 产生死锁的原因
5.2 死锁的必要条件
5.3 死锁的处理
5.3.1 死锁的处理方法
5.3.2 资源分配图
5.4 死锁的静态预防
5.4.1 破坏互斥条件
5.4.2 破坏请求和保持条件
5.4.3 破坏不剥夺条件
5.4.4 破坏环路等待条件
5.5 死锁的动态避免
5.5.1 系统安全状态
5.5.2 银行家算法
5.6 死锁的检测和解除
5.6.1 等待图检测死锁
5.6.2 多体资源类死锁检测算法
5.6.3 死锁解除方法
5.6.4 鸵鸟算法
5.7 线程死锁
习题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.3.3 可变分区分配
6.3.4 动态可重定位分区分配
6.4 基本分页存储管理方式
6.4.1 基本概念
6.4.2 基本分页管理的地址变换机构
6.4.3 多级页表
6.4.4 页面的共享与保护
6.4.5 基本分页存储管理优缺点
6.5 基本分段存储管理方式
6.5.1 分段存储管理的引入
6.5.2 基本分段管理的地址结构
6.5.3 基本分段管理的地址变换机构
6.5.4 分段共享与保护
6.5.5 基本分段存储管理优缺点
6.5.6 分页和分段的主要区别
6.6 基本段页式存储管理方式
6.6.1 基本原理与地址变换机构
6.6.2 Intel80386 段页式存储管理机制
习题6
第7章 虚拟存储管理
7.1 覆盖与交换技术
7.1.1 覆盖技术
7.1.2 交换技术
7.2 虚拟存储管理
7.2.1 程序局部性原理
7.2.2 虚拟存储器及其特征
7.3 请求分页存储管理方式
7.3.1 请求分页中的硬件支持
7.3.2 请求分页中的软件支持
7.3.3 页面置换算法
7.3.4 页面调度性能
7.3.5 影响缺页率因素
7.3.6 Belady现象
7.3.7 请求分页存储管理优缺点
7.4 请求分段存储管理方式
7.4.1 基本概念
7.4.2 请求分段存储管理优缺点
7.5 请求段页式存储管理方式
7.6 存储管理方案总结
7.7 Linux存储管理概述
7.7.1 Linux虚拟内存管理
7.7.2 Linux物理内存管理
7.7.3 页面缓存与Swap交换空间
习题7
第8章 I/O设备管理
8.1 I/O设备管理概述
8.1.1 I/O设备的分类
8.1.2 I/O设备的差异性
8.1.3 I/O设备管理的任务和功能
8.2 I/O系统
8.2.1 I/O系统结构
8.2.2 设备控制器
8.2.3 I/O控制方式
8.3 I/O软件
8.3.1 I/O软件的设计目标
8.3.2 I/O软件层次
8.3.3 I/O中断的执行流程
8.4 设备分配与回收
8.4.1 设备管理中的数据结构
8.4.2 设备分配与回收
8.4.3 SPOOLing系统
8.5 缓冲管理
8.5.1 缓冲的引入
8.5.2 单缓冲
8.5.3 双缓冲
8.5.4 循环缓冲
8.5.5 缓冲池
8.6 磁盘存储器管理
8.6.1 磁盘及其访问
8.6.2 磁盘调度算法
8.6.3 磁盘高速缓冲
8.7 I/O控制
8.7.1 I/O控制的引入