1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 多级队列调度算法可视化界面_进程调度功能由操作系统内核的进程调度程序完成...

多级队列调度算法可视化界面_进程调度功能由操作系统内核的进程调度程序完成...

时间:2023-07-10 09:08:29

相关推荐

多级队列调度算法可视化界面_进程调度功能由操作系统内核的进程调度程序完成...

进程调度的功能与时机

一、进程调度的功能

进程调度功能由操作系统内核的进程调度程序完成,在Linux

内核中,进程调度功能的实现从调用内核函数schedule()开始。进程调度的功能是按照某种策略和算法从就绪态进程中为当前空闲的CPU选择在其上,运行的新进程。

二、进程调度的时机

当一个进程运行结束(包括正常结束和异常结束)、进程阻塞、中断返回、在支持抢占式调度的系统中有比当前运行进程优先级更高到来、当前运行进程的时间片用完时,系统都会通过执行进程调度程序重新进行进程调度。

第二节 进程调度算法

进程调度算法是指从就绪态进程中选择一个或几个为其CPU,使其进入执行态的算法。也就是说进程调度算法要“决定”把CPU 分配给就绪队列中的哪个进程。进程调度由操作系统内核中的进程调度程序完成。

一、选择调度方式和算法的若干准则

不同的调度算法有不同的特点,为了根据特殊应用领域的要求选择合适的调度算法,可以以下准则作为选择依据。

1.周转时间短

周转时间指从作业被提交给系统开始,到作业完成为止的这段时间间隔。

2. 响应时间快:

响应时间是指从用户提交一个请求开始直至系统首次产生响应的时间,它包括3部分时间:从输入设备(如键盘、鼠标)输入的请求信息传送到处理机的时间、处理机对请求信息进行处理的时间,以及将所行行程的响应信息传送到处理机的时间。对于交互式系统,响应时间是衡量系统时间性能的重要指标。进程调度算法和输入/输出设备的速度都会影响系统的响应时间。

3. 截止时间的保证:

截止时间是指某个任务必须开始执行的最迟时间,或必须完成的最迟时间。截止时间是评价实时系统性能的重要指标。在实时系统中,若实时系统计算的正确性不仅必须采取特殊的调度策略和调度算法来满足对截止时间的要求。

4. 系统吞吐量高:

吞吐量是指单位时间内完成的作业数。系统的吞吐量是评价系统性能的重要指标之一,调度算法影响系统的吞吐量。

5. 处理机利用率好:

CPU是计算机系统中影响时间性能的重要的硬件资源,在多任务系统中,进程调度算法对CPU的利用率有很大影响。因此,在选择和设计进程调度算法时应该考虑使CPU的利用率尽可能高。

二、先来先服务调度算法(First-Come,First-Served,FCFS)

(1)调度算法

在进度调度中,FCFS就是从就绪队列的队首选择最先到达就绪队列的进程,为该进程分配CPU.

(2)性能分析

FCFS适合长进程,不利于短进程,短进程等待时间相对运行时间而言太长。FCFS使进程的周转时间过长,系统的平均周期时间也比较长。FCFS有利于CPU繁忙型进程(如科学计算),不利于I/O 繁忙型进程(如多数的事务处理)

2.短进程优先调度算法(Shortest-Process-First,SPF)

(1)调度算法

(2)算法优点

(3)算法的缺陷

1)对长进程不利。如果系统中不断有短进程到来,长进程可能长时间得不到调度。

2)不能保证紧迫进程的及时处理,因为该算法不考虑进程的紧迫程度。

3)进程的长短根据用户的估计而定,故不一定能真正做到短进程优先。

(4)性能分析

3.优先权调度算法(Priority-Scheduling Lgorithm)

(1) 调度算法

(2)优先权调度算法的类型

1)非抢占式(Nonpreemptive)优先权调度算法。

2)抢占式(Preemptive)优先权调度算法

(3)优先权的类型

1)静态优先权

2)动态优先权

(4)优先权调度算法存在的问题和解决方案。

1)问题

2)解决方案

4.时间片轮转调度算法

(1)时间片轮转调度算法

(2)时间片大小的确定

1)系统对响应时间的要求

2)就绪对列中进程的数目

3)系统的处理能力。

(3)时间片轮转调度算法的性能评价

5.多级队列调度

(1)多级队列调度算法(Multilevel Queue-Scheduling Algorithm)

(2) 多级队列调度算法应用举例

6.多级反馈队列调度

采用多级队列调度,一旦进程进入系统,就被固定地分配到一个就绪队列中,进程在被撤销前不会在不同队列之间移动。但是不够灵活,对低优先权进程会存在无穷阻塞(饥饿)问题。而多级反馈队列调度算法(Mul-tilevel Feedback Queue Scheduling)可以弥补这些不足。

1)就绪队列的数量

2)根据进程优先权确定进程该进入哪个就绪队列的算法

3)用以确定进程何时转移到较高优选权队列的算法

4)用以确定进程何时转移到较低优先权队列的算法

5)用以确定进程在需要服务时应该进入哪个队列的算法。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。