2022年操作系统复习笔记 .pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年操作系统复习笔记 .pdf》由会员分享,可在线阅读,更多相关《2022年操作系统复习笔记 .pdf(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章操作系统引论OS作为用户与计算机硬件系统之间的接口, OS处于用户与计算机硬件系统之间,用户通过 OS来使用计算机系统单道批处理系统:单道性顺序性自动性多道批处理系统:多道性无序性调度性分时系统满足用户请求特征:多路性独立性及时性交互性实时系统即时处理完成截止时间开始截止时间操作系统的特征并发性:与并行不同共享性:互斥共享同时访问异步性:表现为“走走停停”虚拟性:指通过某种技术把一个物理实体变为若干个逻辑上的对应物通过虚拟存储器技术,将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储器的容量。操作系统功能处理机管理:进程管理(进程控制进程同步进程通信进程调度)存储管理:内存分配
2、内存保护内存扩充地址映射设备管理:缓冲管理(单缓冲双缓冲缓冲池)设备分配(设备控制器通道)设备处理虚拟设备文件管理操作系统和用户接口用户接口脱机用户接口联机用户接口程序接口图形接口第二章进程管理程序的顺序执行及其特征顺序性:封闭性:可再现性:前趋图 (Precedence Graph) 是一个 有向无循环图 , 记为 DAG(Directed Acyclic Graph) ,用于描述进程之间执行的前后关系名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 32 页 - - -
3、 - - - - - - 偏序关系程序的并发执行及其特征间断性失去封闭性不可再现性进程的特征和定义进程是程序在 一个数据集合上 运行的过程,它是系统进行资源分配和调度的一个独立单位结构特征动态性并发性独立性异步性进程的三种基本状态就绪执行阻塞挂起态 :把暂时无法执行的进程从内存调出到外出提高内存利用率进程控制块 PCB 进程标识符用于惟一地标识一个进程名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 32 页 - - - - - - - - - 处理机状态信息主要是由处理机
4、的各种寄存器中的内容组成的OS是根据 PCB来对并发执行的进程进行控制和管理的进程控制块的组织方式链接方式索引方式原语:由若干条指令组成的,完成一定功能的一段程序。原子性进程的创建 (Creation of Progress) (1)申请空白 PCB 。(2) 为新进程分配资源。(3) 初始化进程控制块。(4) 将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列进程的终止正常结束异常结束外界干涉进程的终止过程(1) 根据被终止进程的标识符,从PCB集合中检索出该进程的PCB ,从中读出该进程的状态。(2) 若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标
5、志为真,用于指示该进程被终止后应重新进行调度。(3) 若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程 。(4) 将被终止进程所拥有的全部资源,或者归还给其父进程,或者归还给系统。(5) 将被终止进程 (它的 PCB) 从所在队列 (或链表 )中移出,等待其他程序来搜集信息。进程阻塞过程阻塞原语 block 进程的阻塞是进程自身的一种主动行为先立即停止执行, 把进程控制块中的现行状态由“ 执行” 改为阻塞, 并将 PCB插入阻塞队列进程唤醒过程调用唤醒原语wakeup( ),将等待该事件的进程唤醒。唤醒原语执行的过程是:首先把被阻塞的进程从等待该事件的阻塞队列中移出
6、,将其PCB中的现行状态由阻塞改为就绪, 然后再将该 PCB插入到就名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 32 页 - - - - - - - - - 绪队列中进程的挂起系统将利用挂起原语suspend( )将指定进程或处于阻塞状态的进程挂起进程的激活过程系统将利用激活原语active( )将指定进程激活。激活原语先将进程从外存调入内存, 检查该进程的现行状态, 若是静止就绪, 便将之改为活动就绪;若为静止阻塞便将之改为活动阻塞进程同步两种形式的制约关系间接相互
7、制约关系:竞争临界资源比如打印机直接相互制约关系:协同工作临界资源:一次只允许一个进程访问进入区临界区退出区剩余区同步机制应遵循的 规则:空闲让进忙则等待有限等待让权等待信号量机制解决进程问题整型信号量:违反了“让权等待”规则名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 32 页 - - - - - - - - - 记录型信号量: wait(s) ,signal(s)语句AND型信号量:将进程在整个运行过程中需要的所有资源,一次性全部 地分配给进程,待进程使用完后再一起
8、释放。 只要尚有一个资源未能分配给进程,其它所有可能为之分配的资源,也不分配给他。 亦即,对若干个临界资源的分配, 采取原子操作方式: 要么全部分配到进程,要么一个也不分配Swait(S1, S2, , Sn) if Si1 and and Sn1 then for i = 1 to n do Si= Si-1; endfor else place the process in the waiting queue associated with the first Sifound with Si1, and set the program count of this process to th
9、e beginning of Swait operation endif Ssignal(S 1, S 2, , S n) for i= 1 to n do Si=Si+1; Remove all the process waiting in the queue associated with Si into the ready queue. endfor; 信号量机制Swait(S1, t1, d1, , Sn, tn, dn) if Sit1and and Sntn then for i=1 to n do Si=Si-di; endfor else Place the executing
10、 process in the waiting queue of the first Si with Siti and set its program counter to the beginning of the Swait Operation. endif signal(S1, d1, , Sn, dn) for i =1 to n do Si = Si+di; Remove all the process waiting in the queue associated with Si into the ready queue Endfor 一般“ 信号量集 ” 的几种特殊情况:(1) S
11、wait(S, d, d)。 此时在信号量集中只有一个信号量S, 但允许它每次申请 d 个资源,当现有资源数少于d 时,不予分配。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 32 页 - - - - - - - - - (2) Swait(S, 1, 1)。 此时的信号量集已蜕化为一般的记录型信号量(S 1时)或互斥信号量 (S=1时)。(3) Swait(S, 1, 0) 。这是一种很特殊且很有用的信号量操作。当S1 时,允许多个进程进入某特定区; 当 S变为 0
12、后,将阻止任何进程进入特定区。换言之,它相当于一个可控开关。Var mutex:semaphore = 1; begin parbegin process 1: begin repeat wait(mutex); critical section signal(mutex); remainder seetion until false; end process 2: begin repeat wait(mutex); critical section signal(mutex); remainder section until false; end parend 利用信号量实现前趋关系管程机制
13、 局部于管程的共享变量说明; 对该数据结构进行操作的一组过程 对局部于管程的数据设置初始值的语句。此外,还须为管程赋予一个名字。进程通信(1)共享存储器系统基于共享数据结构的通信方式。基于共享存储区的通信方式(2)消息传递系统直接通信方式Send(Receiver, message); 发送一个消息给接收进程;Receive(Sender, message); 接收 Sender发来的消息名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 32 页 - - - - - - -
14、 - - 间接通信方式Send(mailbox, message); 将一个消息发送到指定 信箱;Receive(mailbox, message); 从指定信箱中接收一个消息邮箱分为私有邮箱,公共邮箱,共享邮箱。(3)管道 (Pipe)通信所谓“ 管道” ,是指用于连接一个读进程和一个写进程以实现他们之间通信的一个共享文件,又名 pipe 文件。向管道(共享文件 )提供输入的发送进程(即写进程 ), 以字符流形式将大量的数据送入管道;而接受管道输出的接收进程 (即读进程 ),则从管道中接收 (读)数据。由于发送进程和接收进程是利用管道进行通信的,故又称为管道通信。这种方式首创于UNIX系统,
15、由于它能有效地传送大量数据,因而又被引入到许多其它操作系统中借助外存实现线程轻型实体独立调度和分派的基本单位可并发执行共享进程资源第三章处理机调度和死锁调度类型高级调度:将作业从外存后备队列中调入内存中级调度:对应于 挂起状态 ,提高内存的利用率和系统的吞吐量低级调度:进程调度调度方式抢占式(高优先权,短道作业(进程)优先,时间片)非抢占式面向用户的准则(1) 周转时间短(2) 响应时间快。(3) 截止时间的保证。(4) 优先权准则。面向系统的准则(1)系统吞吐量高(2) 处理机利用率好(3) 各类资源的平衡利用周转时间:完成时间 到达时间带权周转时间:周转时间/ 服务时间=(等待时间 +服务
16、时间) / 服务时间名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 32 页 - - - - - - - - - 调度算法先来先服务 FCFS :按作业到达顺序,顺序执行短道作业(进程)优先SJF/SPF 对长作业不利高优先权 HPF :抢占式非抢占式时间片轮转系统将所有的就绪进程按先来先服务的原则,排成一个队列,每次调度时,把 CPU 分配给队首进程,并令其执行一个时间片。时间片的大小从几 ms 到几百 ms。当执行的时间片用完时,由一个计时器发出时钟中断请求, 调度程
17、序便据此信号来停止该进程的执行,并将它送往就绪队列的末尾; 然后,再把处理机分配给就绪队列中新的队首进程, 同时也让它执行一个时间片。 这样就可以保证就绪队列中的所有进程,在一给定的时间内, 均能获得一时间片的处理机执行时间高响应比优先既考虑了短作业,又考虑了长作业如果作业的等待时间相同,则要求服务的时间愈短,其优先权愈高,因而该算法有利于短作业当要求服务的时间相同时,作业的优先权决定于其等待时间,等待时间愈长,其优先权愈高,因而它实现的是先来先服务多级反馈队列调度算法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
18、 - - - - - - - 第 8 页,共 32 页 - - - - - - - - - (1) 应设置多个就绪队列,并为各个队列赋予不同的优先级(2) 当一个新进程进入内存后,首先将它放入第一队列的末尾,按FCFS原则排队等待调度。 当轮到该进程执行时, 如它能在该时间片内完成, 便可准备撤离系统;如果它在一个时间片结束时尚未完成,调度程序便将该进程转入第二队列的末尾,再同样地按FCFS原则等待调度执行;如果它在第二队列中运行一个时间片后仍未完成,再依次将它放入第三队列, ,如此下去,当一个长作业(进程)从第一队列依次降到第n 队列后,在第 n 队列中便采取按时间片轮转的方式运行。(3)
19、仅当第一队列空闲时,调度程序才调度第二队列中的进程运行;仅当第 1(i-1) 队列均空时,才会调度第i 队列中的进程运行。如果处理机正在第i队列中为某进程服务时,又有新进程进入优先权较高的队列(第 1(i-1)中的任何一个队列 ),则此时新进程将抢占正在运行进程的处理机,即由调度程序把正在运行的进程放回到第i 队列的末尾,把处理机分配给新到的高优先权进程。注意是时间片用完的情况还是外界干预情况,区别对待。优先权类型:静态动态死锁:多个进程因竞争临界资源而陷入僵局的状态产生死锁的原因竞争资源进程间推进顺序非法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
20、 - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 32 页 - - - - - - - - - 产生死锁的必要条件互斥条件请求和保持条件不可剥夺条件环路等待条件处理死锁的方法预防死锁1. 摒弃“请求和保持”条件采用资源一次性分配方式2. 摒弃“不剥夺”条件如果无法获取其他资源,立即释放现在已申请到的资源3. 摒弃“环路等待”条件避免死锁:安全性算法找进程执行的安全序列检测死锁:资源分配图解除死锁:剥夺资源撤销进程系统的安全状态安全状态,是指系统能按某种进程顺序(P1, P2, ,Pn)(称P1, P2, , Pn序列为安全序列 ),来为每个进程Pi分配其所需资
21、源,直至满足每个进程对资源的最大需求,使每个进程都可顺利地完成。如果系统无法找到这样一个安全序列,则称系统处于不安全状态死锁检测:资源分配图(找到一个既不阻塞又不独立的进程结点开始简化)利用银行家算法避免死锁(1) 可利用资源向量 Available 这是一个含有m 个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目Availablej=K (2) 最大需求矩阵 Max 这是一个 nm 的矩阵,它定义了系统中n 个进程中的每一个进程对m 类资源的最大需求。如果Maxi,j=K,则表示进程 i 需要 Rj类资源的最大数目为K (3) 已分配矩阵
22、 Allocation 这也是一个 nm 的矩阵,它定义了系统中每一类资源当前已分配给每一进程的资源数(4) 需求矩阵 Need 一个 nm 的矩阵,用以表示每一个进程尚需的各类资源数。如果 Need i,j=K,则表示进程 i 还需要 Rj类资源 K个,方能完成其任务Needi,j=Maxi,j- Allocation i,j执行过程系统试探着把资源分配给进程Pi,并修改下面数据结构中的数值:Availablej=Availablej-Requestij; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
23、- - - - - 第 10 页,共 32 页 - - - - - - - - - Allocationi,j=Allocationi,j+Requestij; Needi,j=Needi,j-Requestij系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,才正式将资源分配给进程Pi, 以完成本次分配; 否则, 将本次的试探分配作废,恢复原来的资源分配状态,让进程Pi等待P1请求资源: P1发出请求向量 Request1(1,0,2),系统按银行家算法进行检查: Request1(1, 0, 2)Need1(1, 2, 2) Request1(1, 0, 2)Avail
24、able1(3, 3, 2) 第四章存储器管理程序的装入绝对装入方式:物理内存的地址可重定位装入方式:动态装入方式: 把装入模块装入内存后, 并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。因此,装入内存后的所有地址都仍是相对地址。程序的链接方式静态链接装入时动态链接运行时动态链接:运行时由OS去找该模块并装入内存,这样未用到的都不会被调入内存内存分配方式连续分配方式(1)单一连续分配把内存分为系统区和用户区两部分,系统区仅提供给OS使用,通常是放在内存的低址部分;用户区是指除系统区以外的全部内存空间,提供给用户使用名师资料总结 - - -精品资料
25、欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 32 页 - - - - - - - - - (2)固定分区分配划分分区(分区大小相等或不等)内存碎片(3)动态分区分配涉及的数据结构:空闲分区表空闲分区链分区分配算法首次适应算法:循环适应算法最佳适应算法最坏适应算法分配内存操作可重定位分区分配,使用紧凑技术动态重定位分区分配名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 32
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年操作系统复习笔记 2022 操作系统 复习 笔记
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内