《2022年操作系统算法总结 .pdf》由会员分享,可在线阅读,更多相关《2022年操作系统算法总结 .pdf(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、操作系统原理算法总结一、进程(作业)调度算法先来先服务调度算法(FCFS):每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。特点:利于长进程,而不利于短进程。短进程(作业)优先调度算法(SPF):它是从就绪队列中选择一个估计运行时间最短的进程,将处理器分配给该进程,使之占有处理器并执行,直到该进程完成或因发生事件而阻塞,然后退出处理器,再重新调度。时间片轮转调度算法:系统将所有的就绪进程按进入就绪队列的先后次序排列。每次调度时把CPU分配给队首进程,让其执行一个
2、时间片,当时间片用完,由计时器发出时钟中断,调度程序则暂停该进程的执行,使其退出处理器,并将它送到就绪队列的末尾,等待下一轮调度执行。优先权调度算法:它是从就绪队列中选择一个优先权最高的进程,让其获得处理器并执行。高响应比优先调度算法:它是从就绪队列中选择一个响应比最高的进程,让其获得处理器执行,直到该进程完成或因等待事件而退出处理器为止。特点:既照顾了短进程,又考虑了进程到达的先后次序,也不会使长进程长期得不到服务,因此是一个比较全面考虑的算法,但每次进行调度时,都需要对各个进程计算响应比。所以系统开销很大,比较复杂。多级队列调度算法基本概念:作业周转时间(Ti)完成时间(Tei)提交时间(
3、Tsi)作业平均周转时间(T)周转时间/作业个数作业带权周转时间(Wi)周转时间/运行时间响应比(等待时间运行时间)/运行时间二、存储器连续分配方式中分区分配算法首次适应分配算法(FF):对空闲分区表记录的要求是按地址递增的顺序排列的,每次分配时,总是从第1 条记录开始顺序查找空闲分区表,找到第一个能满足作业长度要求的空闲区,分割这个空闲区,一部分分配给作业,另一部分仍为空闲区。保留了高址部分的大空闲区。循环首次适应算法:每次分配均从上次分配的位置之后开始查找。使内存中的空闲区分布得更均匀最佳适应分配算法(BF):是按作业要求从所有的空闲分区中挑选一个能满足作业要求的最小空闲区,这样可保证不去
4、分割一个更大的区域,使装入大作业时比较容易得到满足。为实现这种算法,把空闲区按长度递增次序登记在空闲区表中,分配时,顺序查找。基本概念:分页:地址转换:页号逻辑地址/页长 页内地址逻辑地址 mod 页长物理地址块号*块长+块内地址+用户区基址分段:逻辑地址段号段内地址物理地址段始址段内地址三、页面置换算法最佳置换算法(OPT):选择以后永不使用或在最长时间内不再被访问的内存页面予以淘汰。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 3 页 -不现实的算法先进先出置换算法(FIFO):选择最先进入内存的页面予以淘汰。存在 Belady 现象,抖动现象。最近最久未使用算法(LRU)
5、:选择在最近一段时间内最久没有使用过的页,把它淘汰。Clock 置换算法(LRU 算法的近似实现):给每一帧关联一个附加位,称为使用位。基本概念:四、磁盘调度先来先服务(FCFS):是按请求访问者的先后次序启动磁盘驱动器,而不考虑它们要访问的物理位置最短寻道时间优先(SSTF):让离当前磁道最近的请求访问者启动磁盘驱动器,即是让查找时间最短的那个作业先执行,而不考虑请求访问者到来的先后次序,这样就克服了先来先服务调度算法中磁臂移动过大的问题,但容易造成进程饥饿现象扫描算法(SCAN)或电梯调度算法:总是从磁臂当前位置开始,沿磁臂的移动方向去选择离当前磁臂最近的那个柱面的访问者。如果沿磁臂的方向
6、无请求访问时,就改变磁臂的移动方向。在这种调度方法下磁臂的移动类似于电梯的调度,所以它也称为电梯调度算法。循环扫描算法(CSCAN):循环扫描调度算法是在扫描算法的基础上改进的。磁臂改为单项移动,由外向里。当前位置开始沿磁臂的移动方向去选择离当前磁臂最近的哪个柱面的访问者。如果沿磁臂的方向无请求访问时,再回到最外,访问柱面号最小的作业请求。五、信号量问题(解题思路)分清哪些是互斥问题(互斥访问临界资源的),哪些是同步问题(具有前后执行顺序要求的)。对互斥问题要设置互斥信号量,不管有互斥关系的进程有几个或几类,通常只设置一个互斥信号量,且初值为1,代表一次只允许一个进程对临界资源访问。对同步问题
7、要设置同步信号量,通常同步信号量的个数与参与同步的进程种类有关,即同步关系涉及几类进程,就有几个同步信号量。同步信号量表示该进程是否可以开始或该进程是否已经结束。在每个进程中用于实现互斥的PV 操作必须成对出现;用于实现同步的PV 操作也必须成对出现,但可以分别出现在不同的进程中;在某个进程中如果同时存在互斥与同步的P操作,则其顺序不能颠倒,必须先执行对同步信号量的P 操作,再执行对互斥信号量的P 操作,但 V 操作的顺序没有严格要求。六、银行家算法七、地址变换八、进程的概念与程序的区别进程:程序在并发环境下的执行过程。进程与程序的主要区别:名师资料总结-精品资料欢迎下载-名师精心整理-第 2
8、 页,共 3 页 -(1)程序是永存的,进程是暂时的(2)程序是静态的观念,进程是动态的观念(3)进程由三部分组成:程序+数据+进程控制块(描述进程活动情况的数据结构)(4)进程和程序不是一一对应的一个程序可对应多个进程即多个进程可执行同一程序一个进程可以执行一个或几个程序九、进程的状态转换(1)就绪态-运行态处理机空闲(2)运行态-就绪态时间片用完、(3)运行态-阻塞态等待某事件发生(4)阻塞态-就绪态等待事件已发生十、进程调度非抢占方式分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生抢占方式当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。抢占原则:优先权原则、短进程优先原则、时间片原则十一、产生死锁的必要条件产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法互斥条件 :指进程对所分配到的资源进行排它性使用。请求和保持条件:进程保持了至少一个资源,但有新的资源请求,而该资源又被其它进程占有。不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺。环路等待条件:指在发生死锁时,必然存在一个进程资源的环形链。死锁的预防:破坏上述条件,其中互斥最难破坏死锁的避免:银行家算法名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 3 页 -