丁善镜编著的《计算机操作系统原理分析(第2 版)》以单处理器计算机系统的并发执行工作方式为管理、控制对象,介绍计算机操作系统基本原理和方法,主要内容包括操作系统引论、操作系统提供用户的接口、处理器管理及调度、存储器管理、文件系统和设备管理等。
在参考了国内外新近出版的操作系统教材和相关技术资料的基础上,结合大学本科学生的实际学习特点,本书对计算机操作系统的原理和方法进行了分析和总结,力求内容完整、结构清晰、重点突出。
本书可作为计算机类各专业的操作系统课程的教材。
本书是对2012年出版的《计算机操作系统原理分析》教材进行修改和补充而成的。
计算机操作系统是在认识计算机系统硬件组成及其体系结构的基础上,研究计算机系统的工作方式和用户使用方式,重点研究对计算机系统工作方式进行管理、控制的原理和方法,其目标是使得计算机系统能够更加方便、有效、安全地为人们服务。
在计算机系统的工作方式中,有初期的缺少人机交互的批处理系统,也有现在的多用户多任务的分时系统; 有单计算机系统,也有现在普遍使用的多计算机的网络系统,以及研究、发展中的多计算机的分布式系统; 有科学计算为主的计算机系统,也有过程控制的实时系统,以及现在的各种电子设备的嵌入式系统。
另外,自从硬件上具有处理器与设备并行工作的能力之后,在微观方面,系统的工作流程从单任务的顺序执行方式,发展到多任务的并发执行方式。
这些都与操作系统的研究密切相关。
本书作为大学本科计算机操作系统的入门教材,以单处理器计算机系统、并发执行工作方式为主,介绍计算机系统管理、控制的基本原理和方法。
在参考了国、内外新近出版的操作系统教材和相关技术资料的基础上,结合学生的实际学习特点,本书系统地介绍了操作系统的基本原理和设计方法,并对其原理和方法的思想进行分析和总结,力求内容完整、结构清晰、重点突出。
本书共7章。第1章介绍操作系统的概念、多道程序设计与操作系统、计算机操作系统的形成和发展、基本类型及其特征、操作系统的研究内容和操作系统软件的基本功能; 第2章介绍操作系统的内核、计算机系统的固件BIOS、EFI,以及操作系统的命令接口和程序接口; 第3章和第4章介绍处理器的管理,实现并发执行工作方式的管理和控制,包括系统工作流程分析、进程的概念、进程管理的五大功能(控制、同步、通信、调度和死锁); 第5章介绍存储器管理,存储管理的基本方法有分区、分页、分段和段页式等,分别从它们的设计思想、实现关键、特点等几个方面进行分析和总结,存储管理的目标是实现虚拟存储器; 第6章介绍文件系统,主要包括文件系统的概念及其基本功能,重点围绕按名存取功能的实现,从文件的组织、文件目录管理、文件存储空间管理和文件共享保护等方面进行分析; 第7章介绍设备管理,主要有I/O软件的层次结构分析、I/O控制方式、缓冲管理、设备分配和磁盘驱动调度,设备管理的目的是实现设备独立性。
本书内容的计划授课时间为64个学时左右: 第1章、第2章各4学时,第3章18学时、第4章8时,第5章16学时,第6章8学时,第7章6学时。书中带有*号的部分作为可选内容,供学有余力或对相关内容有兴趣的读者学习。
本书旨在系统、规范地介绍计算机操作系统的基本原理和方法,通过分析和总结,最大限度地帮助读者理解和掌握操作系统的核心内容。
由于编者的学识水平、知识结构有限,对于书中存在的疏漏和不妥之处,恳请读者不吝批评指正。
编者
2015年3月
第1章引论
1.1操作系统概述
1.1.1计算机系统的组成
1.1.2操作系统的定义
1.1.3计算机系统的层次结构
1.2操作系统的形成
1.2.1操作系统形成与发展的主要因素
1.2.2多道程序设计与操作系统
1.2.3操作系统的发展
1.3操作系统的基本类型
1.3.1批处理系统及其特征
1.3.2分时系统及其特征
1.3.3实时系统及其特征
1.4计算机操作系统的研究内容
1.4.1操作系统理论
1.4.2操作系统软件
1.4.3操作系统的主要功能
小结
习题
第2章操作系统的接口
2.1操作系统内核
2.1.1处理器指令及工作模式
2.1.2操作系统内核
2.2操作系统的启动
2.2.1固件及其基本功能
2.2.2基本输入输出系统(BIOS)
2.2.3可扩展固件接口(EFI)
2.2.4操作系统的启动
2.3操作系统的用户接口
2.3.1命令接口
2.3.2程序接口及系统调用
2.3.3UNIX的用户接口
小结
习题
第3章处理器管理
3.1系统的工作流程
3.1.1程序及其特点
3.1.2顺序执行的工作方式及特征
3.1.3并发执行的工作方式及特征
3.2进程的概念
3.2.1进程的定义
3.2.2进程的主要特征
3.3进程的动态性
3.3.1进程的基本状态
3.3.2基本状态的转换关系
3.4进程管理的主要功能
3.4.1进程控制块及其组成
3.4.2PCB队列
3.4.3进程管理的主要功能
3.5进程控制
3.5.1原语
3.5.2进程控制的含义
3.5.3进程的创建
3.5.4进程的撤销
3.5.5进程的阻塞
3.5.6进程的唤醒
3.6进程同步
3.6.1并发进程的关系
3.6.2间接制约与互斥关系
3.6.3直接制约与同步关系
3.6.4进程同步机制
3.6.5互斥关系与加锁机制
3.6.6信号量机制与互斥关系
3.6.7信号量机制与同步关系
3.6.8生产者/消费者问题
3.6.9读者/写者问题
3.6.10标志位机制
3.6.11管程机制
3.7进程通信
3.7.1进程通信的概念
3.7.2进程通信方式
3.7.3消息缓冲通信的设计和实现
*3.7.4UNIX消息队列通信
3.7.5信箱通信的设计实现
3.8线程
3.8.1线程的引入
3.8.2线程与进程的关系
3.8.3线程的类型
3.8.4线程的常用细化方法
*3.8.5Java线程及控制实例
小结
习题
第4章处理器调度
4.1操作系统中的调度
4.1.1调度的定义
4.1.2操作系统中的调度
4.1.3调度的性能指标
4.2作业调度
4.2.1作业状态
4.2.2作业调度的功能
4.2.3作业调度算法
4.2.4作业调度算法例子
4.3进程调度
4.3.1进程调度的含义
4.3.2进程调度的功能
4.3.3进程调度的方式
4.3.4进程调度算法
4.3.5实时系统的进程调度算法
4.4死锁问题
4.4.1死锁的含义
4.4.2死锁的解决方法
4.4.3死锁预防
4.4.4死锁避免
4.4.5死锁检测与恢复
小结
习题
第5章存储器管理
5.1存储管理概述
5.1.1计算机系统的存储器类型
5.1.2虚拟地址和物理地址
5.1.3重定位
5.1.4存储管理的目的
5.1.5存储管理的主要功能
5.1.6存储管理方法
5.2单一连续区存储管理
5.2.1基本思想
5.2.2主要特点
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对换和覆盖
5.5分页存储管理
5.5.1基本思想
5.5.2静态分页的实现关键
5.5.3静态分页的特点及效率的改进
5.5.4虚拟存储器思想
5.5.5动态分页
5.5.6请求分页的实现关键
5.5.7分页存储管理的主要特点
5.6分段存储管理
5.6.1基本思想
*5.6.2硬件基础
5.6.3实现关键
5.6.4分段与分页的区别
5.6.5主要特点
5.7段页式存储管理
5.7.1基本思想
5.7.2实现关键
5.7.3主要特点
小结
习题
第6章文件系统
6.1文件系统概述
6.1.1文件系统的引入
6.1.2文件及分类
6.1.3文件系统及其主要功能
6.2文件的逻辑结构
6.3文件的物理结构
6.3.1文件存取方式
6.3.2文件存储介质
6.3.3物理结构分类
6.4文件目录管理
6.4.1文件控制块
6.4.2文件目录及其结构
6.5文件存储空间管理
6.5.1磁盘存储管理方法
6.5.2空闲块成组链接法
6.6文件使用
6.6.1文件系统的命令接口
6.6.2文件的系统调用
*6.6.3利用文件通信及其同步控制
6.7文件的共享
6.7.1文件共享方法
6.7.2基本文件目录法(BFD)
6.7.3文件共享语义
6.8文件的安全性
6.8.1文件保护及主要方法
6.8.2文件保密及主要方法
*6.8.3BLP安全模型
*6.8.4Biba安全模型
小结
习题
第7章设备管理
7.1设备管理概述
7.1.1设备分类
7.1.2设备独立性
7.1.3设备管理的主要功能
7.2I/O控制方式
7.2.1程序查询方式
*7.2.2中断方式
7.2.3DMA方式
7.2.4通道方式
7.3设备分配
7.3.1设备管理的数据结构
7.3.2设备分配原则
7.3.3设备分配
7.3.4设备分配的安全性
7.4缓冲技术
7.4.1缓冲及其引入的目的
7.4.2缓冲类型
7.4.3缓冲池管理
7.5磁盘驱动调度
7.5.1磁盘I/O操作的时间组成
7.5.2磁盘驱动调度
7.5.3移臂调度算法
小结
习题
参考文献