第一章 操作系统引论
1.2操作系统的发展过程
操作系统是:
一组控制和管理计算机硬件和软件资源,
合理地对各类作业进行调度(多道),
方便用户使用的程序的集合。
1.多道批处理系统
强调吞吐能力
优点:
资源利用率高:CPU和内存利用率较高;
系统吞吐量大:单位时间内完成的工作总量大;
缺点:
平均周转时间长:短作业的周转时间显著增长;
无交互能力:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;
2.分时系统:
多个用户连接主机
请求的作业发送到主机后,直接进入主机内存以快速响应
系统采用时间片轮转方式处理服务请求
响应时间RT(response time)≈时间片×用户数
时间片:就是分配给进程运行的一段时间(time slice)
分时系统是多道程序的逻辑扩充
分时用户所运行程序的特性 不影响分时系统响应时间
3.实时系统
系统必修有能够保证其承担的多个任务在规定的时间完成,调度和能力是关键。
1)按任务执行时是否呈现周期性来划分
•周期性实时任务
•非周期性实时任务——截止时间
2)根据对截止时间的要求来划分
•硬实时任务
•软实时任务
1.3 操作系统的基本特性
1.多道批处理系统、分时系统、实时系统共同具有 并发、共享、虚拟、异步四个基本特征
2.
并行性:两个或多个事件在同一时刻发生
并发性:两个或多个事件在同一时段发生
并发和进程是现代OS最重要的基本概念
1.4操作系统的主要功能
1.处理机管理功能
1)进程控制:
为作业创建进程、撤销已结束的进程,控制进程在运行过程中的状态转换。以及线程的创建撤销等。
(可理解为对单个进程基本信息进行管理)
2)进程同步:
为多个进程运行进行协调(包括互斥和同步)
3)进程通信:
p用来实现在相互合作进程间的信息交换;(直接通信和网络通信)
4)调度:
作业调度(入内存)和进程调度(分配CPU)
2.存储器管理功能
1)内存分配:为每道程序分配内存空间(包产到户)具体分配涉及许多细节:
分配方式:动态、静态
分配机制需要的数据结构、分配算法、回收内存功能
2)内存保护:确保每道用户程序都只在自己的内存空间中运行
需要一个硬件——界限寄存器,存放正在执行进程的内存上下界,每条指令的访问地址都要进行越界检查,一般用硬件实现检查.
3)地址映射(变换):进程的逻辑地址到内存物理地址的映射。
程序编译形成的目标程序地址都是从0开始,是逻辑地址
真正调入内存某个空间存放的地址是物理地址
4)内存扩充:用虚拟存储技术解决内存容量不足的问题;
请求调入功能
页面置换功能
3. 设备管理功能
1)缓冲管理:匹配CPU和外设的速度,提高两者的利用率和并行操作程度;
2)设备分配:按某种设备分配策略,为之分配所需的设备;
应设置设备控制表等数据结构记录设备及其控制器的标识符和状态;不同的设备,分配方式不同
3)设备处理:设备处理程序即驱动程序,及时X响应设备控制器请求,实现CPU和设备控制器之间的通信。
4. 文件管理功能
1)存储空间的管理:分配外存空间,提高外存的利用率,提高文件系统的运行速度;
需要相应的数据结构,记录文件存储空间的使用情况;要有对存储空间分配和回收的功能
2)目录管理:为文件建立目录项,并有效组织,实现方便的按名存取;提供快速的目录查询手段,提高文件检索速度;还需实现文件共享。
3)文件的读写管理和保护:读写操作与有效的存取控制功能。
第二章 进程的描述与控制
2.1 前驱图和程序执行
1.前趋图关注的是前趋关系,不能有循环
2.程序执行时的特征:
(1) 顺序性
处理机的操作严格按程序规定顺序执行
(2) 封闭性
程序一旦开始执行,其计算结果不受外界因素影响。
(3) 可再现性
程序执行只要初始条件一样,不论如何停顿,重复执行多少次结果都一样。
3.程序并发执行的特征:
(1)间断性
(2)失去封闭性
(3)不可再现行
2.2 进程的描述
1.进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
2.进程的特征:
①结构性特征,进程的根本——PCB
②动态性
l进程实质上是进程实体的一次有生命期的执行过程。程序只是静态的一组有序指令。
l进程最基本特征
③并发性
l多个进程实体同存于内存中,在一段时间内同时运行。
l有PCB的程序才能并发。
④独立性
⑤异步性
3.进程状态的转换
4.进程控制块PCB
进程实体:代码段+数据段+PCB
进程控制块是进程存在的唯一标志:
进程创建时,PCB建立并伴随进程运行的全过程,直到进程撤消而撤消。PCB就象我们的户口。
5.进程控制块中的信息(pcb内)
(1)进程标识符信息
(2)处理机状态信息
(3)进程调度信息
(4)进程控制信息
6.pcb的组织方式
链接方式
同一状态的PCB,依靠链接指针链接成队列。就绪队列;若干个阻塞队列;空白队列(PCB区的空PCB块)
索引方式
同状态的PCB同样集中记录,但以索引表的方式记录PCB的地址。用专门的单元记录各索引表的首地址。
2.3进程控制
1.进程控制的基本过程:
进程的创建
进程的终止
进程的阻塞与唤醒
进程的挂起和**
2.进程的创建
(1) 申请空白PCB
(2) 为新进程分配资源
主要是内存资源的处理
(3) 初始化进程控制块
标识符(包括父进程的)、程序计数器指向程序入口地址,就绪态、优先级等信息的填写。
(4) 将新进程插入就绪队列
3.由进程调用阻塞原语阻塞自己,是主动行为:
(1)将PCB中的状态改为阻塞
(2)该PCB加入到阻塞队列中
(3)转进程调度,将处理机分配给另一进程
(4)进行进程切换,即根据两切换进程的PCB,保护与重新设置处理机状态
4.阻塞与唤醒原语作用相反,成对使用
(1)把阻塞进程从等待该事件的阻塞队列中移出
(2)将其PCB中的现行状态改为就绪
(3)将PCB插入到就绪队列中。
5.进程的挂起与**
(1)检查被挂起进程的状态,活动就绪则改为静止就绪,活动阻塞则改为静止阻塞
(2)将该PCB复制到内存(方便检查)/外存(对换)指定区域
(3)*若挂起的进程是执行态,则需重新进行进程调度。
6.**原语的执行过程
若挂起进程在外存上,将其调入内存
检查进程状态,若处于静止就绪,则改为活动就绪,若处于静止阻塞,则改为活动阻塞
2.4进程同步
1.进程间有什么相互影响?
两种制约关系:
(1).间接相互制约关系:主要源于资源共享,表现为
进程A---打印机资源---进程B(互斥)
(2).直接相互制约关系:主要源于进程合作,表现为进程A写缓冲---进程B读缓冲(有序)
2. 每个进程中访问临界资源的那段代码叫临界区。
为了正确同步,对临界区的代码要增加控制
3.实现互斥的方法应符合如下每条原则
空闲让进:资源使用最基本原则
忙则等待:保证互斥
有限等待:合适时被唤醒防止死等
让权等待:能主动释放CPU防止忙等
4.同步控制的关键
不应被打断(原语,OS核心态运行)
信号量机制
1.整形信号量
2.记录型信号量