导航:首页 > 源码编译 > 静态优先数调度算法会导致饥饿吗

静态优先数调度算法会导致饥饿吗

发布时间:2024-07-18 01:09:21

❶ 比较算法优缺点:

1.先来先服务先来先服务(FCFS, First Come First Serve)是最简单的调度算法,按先后顺序进行调度。1. 定义按照作业提交或进程变为就绪状态的先后次序,分派CPU;当前作业或进程占用CPU,直到执行完或阻塞,才出让CPU(非抢占方式)。在作业或进程唤醒后(如I/O完成),并不立即恢复执行,通常等到当前作业或进程出让CPU。2.适用场景比较有利于长作业,而不利于短作业。有利于CPU繁忙的作业,而不利于I/O繁忙的作业。
2. 轮转法轮转法(Round Robin)是让每个进程在就绪队列中的等待时间与享受服务的时间成正比例。1. 定义将系统中所有的就绪进程按照FCFS原则,排成一个队列。每次调度时将CPU分派给队首进程,让其执行一个时间片。时间片的长度从几个ms到几百ms。在一个时间片结束时,发生时钟中断。调度程序据此暂停当前进程的执行,将其送到就绪队列的末尾,并通过上下文切换执行当前的队首进程。进程可以未使用完一个时间片,就出让CPU(如阻塞)。2. 时间片长度的确定时间片长度变化的影响过长->退化为FCFS算法,进程在一个时间片内都执行完,响应时间长。过短->用户的一次请求需要多个时间片才能处理完,上下文切换次数增加,响应时间长。对响应时间的要求:T(响应时间)=N(进程数目)*q(时间片)就绪进程的数目:数目越多,时间片越小系统的处理能力:应当使用户输入通常在一个时间片内能处理完,否则使响应时间,平均周转时间和平均带权周转时间延长。
3. 多级反馈队列算法多级反馈队列算法(Round Robin with Multiple Feedback)是轮转算法和优先级算法的综合和发展。1. 定义设置多个就绪队列,分别赋予不同的优先级,如逐级降低,队列1的优先级最高。每个队列执行时间片的长度也不同,规定优先级越低则时间片越长,如逐级加倍。新进程进入内存后,先投入队列1的末尾,按FCFS算法调度;若按队列1一个时间片未能执行完,则降低投入到队列2的末尾,同样按FCFS算法调度;如此下去,降低到最后的队列,则按“时间片轮转”算法调度直到完成。仅当较高优先级的队列为空,才调度较低优先级的队列中的进程执行。如果进程执行时有新进程进入较高优先级的队列,则抢先执行新进程,并把被抢先的进程投入原队列的末尾。2.优点为提高系统吞吐量和缩短平均周转时间而照顾短进程。为获得较好的I/O设备利用率和缩短响应时间而照顾I/O型进程。不必估计进程的执行时间,动态调节3. 几点说明I/O型进程:让其进入最高优先级队列,以及时响应I/O交互。通常执行一个小时间片,要求可处理完一次I/O请求的数据,然后转入到阻塞队列。计算型进程:每次都执行完时间片,进入更低级队列。最终采用最大时间片来执行,减少调度次数。I/O次数不多,而主要是CPU处理的进程。在I/O完成后,放回优先I/O请求时离开的队列,以免每次都回到最高优先级队列后再逐次下降。为适应一个进程在不同时间段的运行特点,I/O完成时,提高优先级;时间片用完时,降低优先级。
4. 优先级法优先级算法(Priority Scheling)是多级队列算法的改进,平衡各进程对响应时间的要求。适用于作业调度和进程调度,可分成抢先式和非抢先式。1. 静态优先级作业调度中的静态优先级大多按以下原则确定:由用户自己根据作业的紧急程度输入一个适当的优先级。由系统或操作员根据作业类型指定优先级。系统根据作业要求资源情况确定优先级。进程的静态优先级的确定原则:按进程的类型给予不同的优先级。将作业的情态优先级作为它所属进程的优先级。2. 动态优先级进程的动态优先级一般根据以下原则确定:根据进程占用有CPU时间的长短来决定。根据就绪进程等待CPU的时间长短来决定。
5.短作业优先法短作业优先(SJF, Shortest Job First)又称为“短进程优先”SPN(Shortest Process Next);这是对FCFS算法的改进,其目标是减少平均周转时间。1. 定义对预计执行时间短的作业(进程)优先分派处理机。通常后来的短作业不抢先正在执行的作业。2. SJF的特点(1) 优点:比FCFS改善平均周转时间和平均带权周转时间,缩短作业的等待时间;提高系统的吞吐量;(2) 缺点:对长作业非常不利,可能长时间得不到执行;未能依据作业的紧迫程度来划分执行的优先级;难以准确估计作业(进程)的执行时间,从而影响调度性能。3. SJF的变型“最短剩余时间优先”SRT(Shortest Remaining Time)(允许比当前进程剩余时间更短的进程来抢占)“最高响应比优先”HRRN(Highest Response Ratio Next)(响应比R = (等待时间 + 要求执行时间) / 要求执行时间,是FCFS和SJF的折衷)6. 最高响应比优先法最高响应比优先法(HRN,Highest Response_ratio Next)是对FCFS方式和SJF方式的一种综合平衡。FCFS方式只考虑每个作业的等待时间而未考虑执行时间的长短,而SJF方式只考虑执行时间而未考虑等待时间的长短。因此,这两种调度算法在某些极端情况下会带来某些不便。HRN调度策略同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入执行。响应比R定义如下: R =(W+T)/T = 1+W/T其中T为该作业估计需要的执行时间,W为作业在后备状态队列中的等待时间。每当要进行作业调度时,系统计算每个作业的响应比,选择其中R最大者投入执行。这样,即使是长作业,随着它等待时间的增加,W / T也就随着增加,也就有机会获得调度执行。这种算法是介于FCFS和SJF之间的一种折中算法。由于长作业也有机会投入运行,在同一时间内处理的作业数显然要少于SJF法,从而采用HRN方式时其吞吐量将小于采用SJF 法时的吞吐量。另外,由于每次调度前要计算响应比,系统开销也要相应增加。

❷ 优先权调度是否会导致进程进入饥饿状态为什么

当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程优先原则、时间片原则。例如,有三个进程P1、P2、P3先后到达,它们分别需要20、4和2个单位时间运行完毕。假如它们就按P1、P2、P3的顺序执行,且不可剥夺,则三进程各自的周转时间分别为20、24、26个单位时间,平均周转时间是23.33个时间单位。假如用时间片原则的剥夺调度方式,可得到:可见:P1、P2、P3的周转时间分别为26、10、6个单位时间(假设时间片为2个单位时间),平均周转时间为14个单位时间。衡量进程调度性能的指标有:周转时间、响应时间、CPU-I/O执行期。

阅读全文

与静态优先数调度算法会导致饥饿吗相关的资料

热点内容
asp压缩mdb 浏览:670
node开源论坛源码 浏览:8
单片机比手机芯片还贵 浏览:35
java课表 浏览:555
如何在pdf里面修改 浏览:929
橙光制作器档案框在哪个文件夹 浏览:991
php如何抓取网页数据 浏览:642
计数器单片机 浏览:966
游戏aoi算法 浏览:845
phpmysqlint 浏览:913
怎么从appstore商城买东西 浏览:184
大秀直播平台源码 浏览:424
java视屏 浏览:934
电脑中如何给程序加密 浏览:240
java排序容器 浏览:942
职称证书在哪个app下载 浏览:363
四九算法算男女 浏览:660
javawindows8 浏览:498
2021世界程序员节 浏览:486
php翼支付 浏览:884