三九宝宝网宝宝教育学龄段教育

几种进程调度算法分析

12月28日 编辑 39baobao.com

[尊重学生,鼓励算法多样化]人人学有价值的数学”、“人人都获得必要的数学”、“不同的人在数学上得到不同的发展”,这是当今数学课堂教学中应有的理念。如何把这理念转化为课堂教学行为,是我们第一线广...+阅读

前两天做操作系统作业的时候学习了一下几种进程调度算法,在思考和讨论后,有了一些自己的想法,现在就写出来,跟大家讨论下。,或者说只有有限的CPU资源,当系统中有多个进程处于就绪状态,要竞争CPU资源时,操作系统就要负责完成如何分配资源的任务。在操作系统中,由调度程序来完成这一选择分配的工作,调度程序所使用的算法即是调度算法。

调度算法需要考虑的指标主要有尽量保证CPU资源分配的公平性;按照一定策略强制执行算法调度;平衡整个计算机系统,尽量保持各个部分都处于忙碌状态。而根据系统各自不同的特点和要求,调度算法又有一些侧重点和目标不同,因此,算法按照系统差异主要分为三大类:批处理系统中的调度算法,代表调度算法有:先来先服务、最短作业优先、最短剩余时间优先。

交互式系统中的调度算法,代表调度算法有:轮转调度、优先级调度、多级队列、最短进程优先、保证调度、彩票调度、公平分享调度。实时系统中的调度算法 ,代表调度算法有:速率单调调度、最早最终时限优先调度。下面就上述提到的调度算法中挑出几个进行重点分析:保证调度保证调度是指利用算法向用户做出明确的性能保证,然后尽力按照此保证实现CPU的资源分配。

利用这种算法,就是定一个进程占用CPU的时间的标准,然后按照这个标准去比较实际占用CPU的时间,调度进程每次使离此标准最远的进程得到资源,不断满足离所保证的标准最远的进程,从而平衡资源分配满足这个标准的要求。保证调度算法的优点是:能很好的保证进程公平的CPU份额,当系统的特点是:进程的优先级没有太大悬殊,所制定的保证标准差异不大,各个进程对CPU的要求较为接近时,比如说系统要求n个进程中的每个进程都只占用1/n的CPU资源,利用保证调度可以很容易的实现稳定的CPU分配要求。

但缺点是,这种情况太过理想,当系统的各个进程对CPU要求的紧急程度不同,所制定的保证较为复杂的时候,这个算法实现起来比较困难。彩票调度彩票调度这种算法的大意是指向进程提供各种系统资源如CPU资源的彩票,当系统需要做出调度决策时,随机抽出一张彩票,由此彩票的拥有者获得资源。在彩票调度系统中,如果有一个新的进程出现并得到一些彩票,那么在下一次的抽奖中,该进程会有同它持有彩票数量成正比例的机会赢得奖励。

进程持有的彩票数量越多,则被抽中的可能性就越大。调度程序可以通过控制进程的彩票持有数量来进行调度。彩票调度有很多优点:首先,它很灵活,系统增加分给某个进程的彩票数量,就会大大增加它占用资源的可能性,可以说,彩票调度的反应是迅速的,而快速响应需求正是交互式系统的一个重要要求。其次,彩票调度算法中,进程可以交换彩票,这个特点可以更好的保证系统的平衡性,使其各个部分都尽可能的处于忙碌状态。

而且利用彩票调度还可以解决许多别的算法很难解决的问题,例如可以根据特定的需要大致成比例的划分CPU的使用。速率单调调度 速率单调调度算法是一种可适用于可抢占的周期性进程的经典静态实时调度算法。当实时系统中的进程满足:每个周期性进程必须在其周期内完成,且进程之间没有相互依赖的关系,每个进程在一次突发中需要相同的CPU时间量,非周期的进程都没有最终时限四个条件时,并且为了建模方便,我们假设进程抢占即刻发生没有系统开销,可以考虑利用速率单调算法。

速率单调调度算法是将进程的速率(按照进程周期所算出的每秒响应的次数)赋为优先级,则保证了优先级与进程速率成线性关系,这即是我们所说的速率单调。调度程序每次运行优先级最高的,只要优先级较高的程序需要运行,则立即抢占优先级低的进程,而优先级较低的进程必须等所有优先级高于它的进程结束后才能运行。速率单调调度算法可以保证系统中最关键的任务总是得到调度,但是缺点是其作为一种静态算法,灵活性不够好,当进程数变多,系统调度变得复杂时,可能不能较好的保证进程在周期内运行。

最早最终时限优先调度 最早最终时限优先调度算法是一个动态算法,不要求进程是周期性的,只要一个进程需要CPU时间,它就宣布它的到来时间和最终时限。调度程序维持一个可运行的进程列表,按最终时限排序,每次调度一个最终时限最早的进程得到CPU 。当新进程就绪时,系统检查其最终时限是否在当前运行的进程结束之前,如果是,则抢占当前进程。

由于是动态算法,最早最终优先调度的优点就是灵活,当进程数不超过负载时,资源分配更优,但也同样由于它的动态属性,进程的优先级都是在不断变化中的,所以也没有哪个进程是一定可以保证满足调度的,当进程数超过负载时,资源分配合理度会急速下降,所以不太稳定。

以下为关联文档:

口算练习要加强算法指导小学数学是具有方法论意义的一门科学,数学教学必将影响甚至改变学生思维方式,而学生良好的思维方式和思维素质,集中表现在善于运用现代思维去考察和解决数学问题,这就给数学教学...

加、减法的一些简便算法bgcolor="#FFFFFF"> 教学目标 (一)使学生理解并掌握一个数加上或者减去接近整百、整十数的简便算法。 (二)培养学生观察、分析、推理的能力。 教学重点和难点 重点:简便算法...

分数除法的意义和计算法bgcolor="#FFFFFF"> 教学目标 1.通过一组习题,学生能够理解分数除法的意义与整数除法的意义相同,就是已知两个因数的积与其中的一个因数,求另一个因数的运算。 2.通过学生试做例1...

浅谈算法的多样化浅谈把握算法的多样化 “算法多样化”是数学新课程标准的重要理念之一,“由于学生生活背景和思考角度不同,所使用的方法必然是多样的,教师应尊重学生的想法,鼓励学生独立思考,提...

整数除以分数的计算法bgcolor="#FFFFFF"> 教学目标 1.通过例2的学习,学生能够理解整数除以分数计算法则的推导过程,引导学生正确地总结出计算法则。 2.能运用法则正确地进行计算。 3.培养学生观察、比...

不能为算法多样化而追求多样化不能为算法多样化而追求多样化 广饶镇莲花小学 陈美荣 崔玉新 我正在组织学生复习三年级下册“空间与图形”部分,我想利用教材87页的第4、5、6题复习巩固利用所学知识解决实...

如何处理好计算教学中算理与算法的关系数的运算:注重发展学生的运算能力。淡化数量程度的要求,注重选择正确的运算方法,准确得出运算的结果的能力。使理法有机结合。学习数的运算的过程,就是发展逻辑思维的能力的过程...

小学数学估算法1.转化法则。 通过转化过程,估算者把数学结构或等式转化为较便于心智操作的形式或是贴近生活经验的现实情景。例:78655+86421+96509+93421+106409=,估算者可能会把该问题凭“数...

数据结构和算法分析java怎么样CallSuper Annotations Enumerated Annotations Thread Annotations Thread Annotations 有四位成员 - UiThread、MainThread、WorkerThread、BinderThread,它们来自不同的 j...

推荐阅读
图文推荐