抢占试算法
㈠ 进程调度的方式有哪两种试列举至少4种进程调度算法。
进程调度的方式有非剥夺方式和剥夺方式。
非剥夺方式:
分派程序一旦把处理机分配给某进程后便让它一直运行下去,直到进程完成或发生某事件而阻塞时,才把处理机分配给另一个进程。
剥夺方式:
当一个进程正在运行时,系统可以基于某种原则,剥夺已分配给它的处理机,将之分配给其它进程。剥夺原则有:优先权原则、短进程优先原则、时间片原则。
进程调度算法:
1、先进先出算法(FIFO):
算法总是把处理机分配给最先进入就绪队列的进程,一个进程一旦分得处理机,便一直执行下去,直到该进程完成或阻塞时,才释放处理机。
举例:有三个进程P1、P2和P3先后进入就绪队列,它们的执行期分别是21、6和3个单位时间,对于P1、P2、P3的周转时间为21、27、30,平均周转时间为26。可见,FIFO算法服务质量不佳,容易引起作业用户不满,常作为一种辅助调度算法。
2、最短CPU运行期优先调度算法(SCBF--Shortest CPU Burst First):
该算法从就绪队列中选出下一个“CPU执行期最短”的进程,为之分配处理机。
举例:在就绪队列中有四个进程P1、P2、P3和P4,它们的下一个执行进程调度期分别是16、12、4和3个单位时间,P1、P2、P3和P4的周转时间分别为35、19、7、3,平均周转时间为16。该算法虽可获得较好的调度性能,但难以准确地知道下一个CPU执行期,而只能根据每一个进程的执行历史来预测。
3、时间片轮转法:
前几种算法主要用于批处理系统中,不能作为分时系统中的主调度算法,在分时系统中,都采用时间片轮转法。简单轮转法:系统将所有就绪进程按FIFO规则排队,按一定的时间间隔把处理机分配给队列中的进程。这样,就绪队列中所有进程均可获得一个时间片的处理机而运行。
4、多级反馈队列:
多级队列方法:将系统中所有进程分成若干类,每类为一级。多级反馈队列方式是在系统中设置多个就绪队列,并赋予各队列以不同的优先权。
㈡ 这道题用抢占式短作业优先怎么算,要讲解过程
不同颜色代表不同进程执行过程,总计16s
㈢ 嵌入式实时操作系统中,基于优先级的抢占式调度算法(如uC/OS)与RMS调度算法有关系吗
第一个问题:rms不是实时调度算法,不具有实时性,是为了单处理器条件下达到利用率最高的静态调度算法
第二个问题:上面已经指出,ucos的调度算法是基于静态优先级的抢占式调度,rms没有抢占。至于你说的其他联系。。。都是调度算法吧,,,
最后一个问题:我大概都给你说明一下吧,我的见解。
①实时性:rms不具有实时性,长作业可能长时间得不到执行;ucos的调度算法是实时性的,每个节拍都会调用调度算法
②优先级:rms是动态优先级,优先级是进程的剩余执行时间,会动态变动;ucos的调度算法是静态优先级,创建进程时候确定
③抢占性:短作业优先分为可抢占和不可抢占,抢占的时机是有新作业就绪的时候;ucos是抢占性的,只要节拍到了,就进行调度,谁优先只看优先级。
对于调度算法,要灵活一点掌握,拿那些实时性抢占性优先级的一种取值随机组合一下都是一种新的调度算法,一般设计的时候都是按照需求来的。
自己的见解,知识有限,可能有些地方不够详尽,只是希望能帮到你
㈣ 高响应比算法是抢占式算法吗
非抢占式的算法。因此只有当前运行的作业/进程主动放弃处理机时,才需要调度,才需要计算响应比。
优点: 综合考虑了等待时间和运行时间(要求服务时间)等待时间相同时,要求服务时间短的优先(SJF的优点)。要求服务时间相同时,等待时间长的优先(FCFS的优点)。对于长作业来说,随着等待时间越来越久,其响应比也会越来越大,从而避免了长作业饥饿的问题。
高响应比优先算法:非抢占式的调度算法,只有当前运行的进程主动放弃cpu时(正常/异常完成,或主动阻塞),才需要进行调度,调度时计算所有就绪进程的响应比,选响应比最高的进程上处理机。响应比=(等待时间+要求服务时间)/ 要求服务时间。
㈤ 抢占的短进程优先调度算法如果进程时间相同选哪个进程
短进程优先算法是一种非剥夺式算法,总是选取预计作业时间最短的作业优先运行;最短剩余时间优先算法是非剥夺式的,但可以改造成剥夺式的调度算法,称抢占式最短作业优先算法。
㈥ 操作系统里的 短作业优先调度算法(可抢占式) 和 最短剩余时间优先调度算法 有什么不同啊
计算的对象不同,一个是作业整体的时间,另外一个是作业剩余的时间.
这些算法,通常是在一个很小的地方改变,就是一个新的算法.
㈦ 什么是非抢占优先算法
理论:
为照顾紧迫性作业,使之在进入系统后便获得优先处理,引入了最高优先权优先(FPF)调度算法。它分为两种:
(一)非抢占式优先权算法;
(二)抢占式优先权调度算法。
1.非抢占式优先权算法:系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程便一直执行下去,直至完成。
2.抢占式优先权调度算法:系统同样把处理机分配给优先权最高的进程,使之执行.但在其执行期间,只要又出现了另一个其优先权更高的进程,进程调度程序就立即停止当前进程(原优先权最高的进程)的执行,重新将处理机分配给新到的优先权最高的进程。
分析:
采用非抢占式优先算法时,最先来到的是进程P1,所以最先处理进程P1直到它结束,用时10;
在这10时间内进程P2先到来,然后是P3、P4,最后是P5,由于这些进程不能抢占P1的进程,所以只能等待P1完成。
这些等待进程中P4的优先数最高,所以当P1执行完成后,先执行进程P4。
依次类推,最后可得作业顺序为:P1=>P4=>P3=>P5=>P2
㈧ 非可抢占式和抢占式进程调度的区别是什么
最高优先级调度算法原则上总是调度就绪队列中优先级最高的那个进程。非抢占式和抢占式进程调度都属于最高优先级进程调度。采用非抢占式最高优先级调度算法,当就绪队列中某进程的最高优先级高于正在处理器中运行的进程的最高优先级时,并不会让正在运行的进程退出处理器,而是将高优先数的排在就绪队列的首部。而采用抢占式最高优先级进程调度算法,则高优先数的进程会抢占处理器,让正在处理的进程处于就绪队列。
㈨ 抢占的短进程优先调度
进程名 到达时间 开始时间 结束时间 运行时间 还需时间
P1 0.0 0.0 0.4 0.4 9-0.4=8.6
P2 0.4 4
P3 1.0 1
P4 5.5 4
P5 7 2
0.0ms到0.4ms执行P1,此时P2抢占P1开始执行
进程名 到达时间 开始时间 结束时间 运行时间 还需时间
P1 0.0 0.0 0.4 0.4 8.6
P2 0.4 0.4 1.0 0.6 4-0.6=3.4
P3 1.0 1
P4 5.5 4
P5 7 2
到1.0ms时,P3抢占P2开始执行
进程名 到达时间 开始时间 结束时间 运行时间 还需时间
P1 0.0 0.0 0.4 0.4 8.6
P2 0.4 0.4 1.0 0.6 3.4
P3 1.0 1.0 2.0 1.0 1-1.0=0
P4 5.5 4
P5 7 2
到2.0ms时,P3执行完毕,P2继续执行
进程名 到达时间 开始时间 结束时间 运行时间 还需时间
P1 0.0 0.0 0.4 0.4 8.6
P2 0.4 0.4 5.4 5.0 3.4-3.4=0
P3 1.0 1.0 2.0 1.0 0
P4 5.5 4
P5 7 2
到5.4ms时,P2执行完毕,P1继续执行0.1ms
进程名 到达时间 开始时间 结束时间 运行时间 还需时间
P1 0.0 0.0 5.5 5.5 8.6-0.1=8.5
P2 0.4 0.4 5.4 5.0 0
P3 1.0 1.0 2.0 1.0 0
P4 5.5 4
P5 7 2
到5.5ms时,P4抢占P1开始执行
进程名 到达时间 开始时间 结束时间 运行时间 还需时间
P1 0.0 0.0 5.5 5.5 8.5
P2 0.4 0.4 5.4 5.0 0
P3 1.0 1.0 2.0 1.0 0
P4 5.5 5.5 7.0 1.5 4-1.5=2.5
P5 7 2
到7.0ms时,P5抢占P4开始执行
进程名 到达时间 开始时间 结束时间 运行时间 还需时间
P1 0.0 0.0 5.5 5.5 8.5
P2 0.4 0.4 5.4 5.0 0
P3 1.0 1.0 2.0 1.0 0
P4 5.5 5.5 7.0 1.5 2.5
P5 7 7.0 9.0 2.0 2-2.0=0
到9.0ms时,P5执行完毕,P4继续执行至完毕
进程名 到达时间 开始时间 结束时间 运行时间 还需时间
P1 0.0 0.0 5.5 5.5 8.5
P2 0.4 0.4 5.4 5.0 0
P3 1.0 1.0 2.0 1.0 0
P4 5.5 5.5 11.5 6.0 0
P5 7 7.0 9.0 2.0 0
到11.5ms时,P4执行完毕,P1继续执行至完毕
进程名 到达时间 开始时间 结束时间 运行时间 还需时间
P1 0.0 0.0 20.0 20.0 0
P2 0.4 0.4 5.4 5.0 0
P3 1.0 1.0 2.0 1.0 0
P4 5.5 5.5 11.5 6.0 0
P5 7 7.0 9.0 2.0 0
平均周转时间为:(20.0+5.0+1.0+6.0+2.0)/5=6.8ms
对于低级进程调度周转时间和响应时间是一样的。
对于高级调度,响应时间大于周转时间,从作业完成到它在输出设备的输出还是有段时间的。
周转时间:从作业提交到作业完成的时间间隔。
响应时间:是从作业提交到设备做出响应(不但运行完成而且要做出必要的响应,有可能是某种输出响应)