进程算法操作系统常见算法

改章节个人在青岛喝咖啡的时候突然想到的...今天就有想写几篇关于进程算法的文章,所以回家到后之就奋笔疾书的写出来发表了

    每日一道理
无知者为梦想中的虚幻而苦苦等待,换回的不是所求的,而是岁月在脸上留下的印痕,一事无成的人一生便是虚度。生活中,与其花间时去等待,不如加快步伐去追寻理想,试着与间时赛跑,也许身躯、心理会感到劳累,但这样的生活毕竟是充实的。
一、进程(业作)调度算法
l         先来先务服调度算法(FCFS):每次调度是从就绪列队中,选择一个先最进入就绪列队的进程,把处理器配分给该进程,使之到得执行。该进程一旦有占了处理器,它就直一运行下去,直到该进程实现或因生发件事而阻塞,才出退处理器。特色:利于长进程,而不利于短进程。 

l         短进程(业作)优先调度算法(SPF):它是从就绪列队中选择一个估计运行间时最短的进程,将处理器配分给该进程,使之有占处理器并执行,直到该进程实现或因生发件事而阻塞,然后出退处理器,再从新调度。 

l         间时片轮转调度算法 :系统将全部的就绪进程按进入就绪列队的后先顺序排列。每次调度时把CPU配分给队首进程,让其执行一个间时片,当间时片用完,由计时器出发时钟中断,调度程序则暂停该进程的执行,使其出退处理器,并将它送到就绪列队的尾末,等待下一轮调度执行。 

l         优先数调度算法 :它是从就绪列队中选择一个优先权最高的进程,让其得获处理器并执行。 

l         响应比高者优先调度算法:它是从就绪列队中选择一个响应比最高的进程,让其得获处理器执行,直到该进程实现或因等待件事而出退处理器为止。特色:既顾照了短进程,又虑考了进程达到的后先顺序,也不会使长进程期长得不到务服,因此是一个比拟全面虑考的算法,但每次行进调度时,都需要对各个进程盘算响应比。所以系统开销很大,比拟复杂。 

l         多级列队调度算法

基本概念:

   业作周转间时(Ti)=实现间时(Tei)-交提间时(Tsi)

   业作均平周转间时(T)=周转间时/业作个数

   业作带权周转间时(Wi)=周转间时/运行间时

   响应比=(等待间时+运行间时)/运行间时

二、存储器连续配分方法分中区配分算法
n         次首顺应配分算法(FF):对闲暇区分表记载的要求是按址地递增的顺序排列的,每次配分时,老是从第1条记载开始顺序查找闲暇区分表,找到第一个能足满业作度长要求的闲暇区,割分这个闲暇区,一部份配分给业作,一另部份仍为闲暇区。 

n         环循次首顺应算法:每次配分均从前次配分的位置后之开始查找。 

n         最好顺应配分算法(BF):是按业作要求从全部的闲暇区分中选挑一个能足满业作要求的最小闲暇区,这样可证保不去割分一个更大的区域,使入装大业作时比拟轻易到得足满。为实现种这算法,把闲暇区按度长递增顺序登记在闲暇区表中,配分时,顺序查找。 

三、页面置换算法
l         最好置换算法(OPT) :选择当前永不应用或在最长间时内不再被拜访的内存页面予以淘汰。

l         先进先出置换算法(FIFO):选择先最进入内存的页面予以淘汰。 

l         近最最久未应用算法(LRU):选择在近最一段间时内最久没有应用过的页,把它淘汰。 

l         起码应用算法(LFU):选择到当前间时为止被拜访数次起码的页转换。

四、磁盘调度
n         先来先务服(FCFS):是按请求拜访者的后先顺序启动磁盘驱动器,而不虑考它们要拜访的物理位置

n         最短寻道间时优先(SSTF):让离当前磁道近最的请求拜访者启动磁盘驱动器,等于让查找间时最短的那个业作先执行,而不虑考请求拜访者到来的后先顺序,这样就克服了先来先务服调度算法中磁臂动移过大的题问

n         描扫算法(SCAN)或电梯调度算法:老是从磁臂当前位置开始,沿磁臂的动移方向去选择离当前磁臂近最的那个柱面的拜访者。如果沿磁臂的方向无请求拜访时,就转变磁臂的动移方向。在种这调度方法下磁臂的动移类似于电梯的调度,所以它也称为电梯调度算法。

n         环循描扫算法(CSCAN):环循描扫调度算法是在描扫算法的基础上改良的。磁臂为改单项动移,由外向里。当前位置开始沿磁臂的动移方向去选择离当前磁臂近最的哪个柱面的拜访者。如果沿磁臂的方向无请求拜访时,再回到最外,拜访柱面号最小的业作请求。

文章结束给大家分享下程序员的一些笑话语录: 据说有一位软件工程师,一位硬件工程师和一位项目经理同坐车参加研讨会。不幸在从盘山公路下山时坏在半路上了。于是两位工程师和一位经理就如何修车的问题展开了讨论。
硬件工程师说:“我可以用随身携带的瑞士军刀把车坏的部分拆下来,找出原因,排除故障。”
项目经理说:“根据经营管理学,应该召开会议,根据问题现状写出需求报告,制订计划,编写日程安排,逐步逼近,alpha测试,beta1测试和beta2测试解决问题。”
软件工程说:“咱们还是应该把车推回山顶再开下来,看看问题是否重复发生。”

原文地址:https://www.cnblogs.com/xinyuyuanm/p/3050644.html