操作系统理论 第三章(处理机调度与死锁)—第二节(作业与作业调度)

 写在前面:

  1. 本系列笔记主要以《计算机操作系统(汤小丹…)》为参考,大部分内容出于此书,笔者的工作主要是挑其重点展示,另外配合下方视频链接的教程展开思路,在笔记中一些比较难懂的地方加以自己的一点点理解(重点基本都会有标注,没有任何标注的难懂文字应该是笔者因为强迫症而加进来的,可选择性地忽略)。
  2. 视频链接:操作系统(汤小丹等第四版)_哔哩哔哩_bilibili

一、作业和进程的关系

(1)本质区别:

        作业是用户向计算机提交任务的任务实体。

        进程是完成用户任务的执行实体,是资源分配的基本单位。

        没有作业任务,进程无事可干;没有进程,作业任务没法完成。

(2)存储位置:

        作业建立完毕后,放在外存等待运行。

        进程一经创建,总由相应的部分存于内存。

(3)组成关系:

        一个作业可由多个进程组成,且必须至少由一个进程组成,反之则不然。

(4)术语应用范围:

        作业的概念更多地用在批处理系统中。

        进程的概念几乎可以用在所有的多道程序系统中。

二、作业调度的主要任务

        作业调度的主要任务是根据JCB(作业控制块)中的信息,检查系统中的资源能否满足作业对资源的需求,以及按照一定的调度算法,从外存的后备队列中选取某些作业调入内存,并为它们创建进程、分配必要的资源,然后再将新创建的进程排在就绪队列上等待调度。在每次执行作业调度时,都需做出以下两个决定:

        ①接纳多少作业。在每一次进行作业调度时,应当从后备队列中选取多少作业调入内存,取决于多道程序度,即允许多少个作业同时在内存中运行。

        ②接纳那些作业。应选择后备队列中的哪些作业调入内存,取决于所采用的调度算法。

        在批处理系统中,作业进入系统后,总是先驻留在外存的作业后备队列上,因此需要有作业调度,以便将它们分批地装入内存;在分时系统中,为了做到及时响应,用户通过键盘输入的命令或数据等都被直接送入内存,因而无需配置上述的作业调度机制,因也需要有某种接纳控制措施来限制进入系统的用户数目;在实时系统中也不需要作业调度,而必需具有接纳控制措施。

三、先来先服务调度算法和短作业优先调度算法

1、先来先服务调度算法(FCFS)

(1)FCFS算法是最简单的调度算法,该算法既可用于作业调度,也可用于进程调度。

(2)当在作业调度中采用该算法时,系统将按照作业到达的先后次序来进行调度,或者说它是优先考虑在系统中等待时间最长的作业,而不管该作业所需执行时间的长短,从后备作业队列中选择几个最先进入该队列的作业,将它们调入内存,为它们分配资源和创建进程,然后把它们放入就绪队列。

(3)FCFS算法比较有利于长作业/进程(CPU繁忙型作业/进程),而不利于短作业/进程(I/O繁忙型作业/进程)。

(4)举例:

2、短作业优先调度算法(SJF)

(1)SJF算法可以分别用于作业调度和进程调度(用于进程调度时称为短进程优先算法,简称SPF算法),它能有效地降低作业的等待时间,提高系统吞吐量。

(2)SJF算法以作业的长短来计算优先级,作业越短,其优先级越高。作业的长短是以作业所要求的运行时间来衡量的。在把短作业优先调度算法用于作业调度时,它将从外存的作业后备队列中选择若干个估计运行时间最短的作业,优先将它们调入内存运行

(3)短作业优先算法的缺点:

①必须预知作业的运行时间。在采用这种算法时,要先知道每个作业的运行时间,但即使是程序员也很难准确估计作业的运行时间,如果估计过低,系统就可能按估计的时间终止作业的运行,但此时作业并未完成,故一般都会偏长估计。

对长作业非常不利,长作业的周转时间会明显地增长。更严重的是,该算法完全忽视作业的等待时间,可能使作业等待时间过长,出现饥饿现象

③在采用SJF算法时,人—机无法实现交互。

④该调度算法完全未考虑作业的紧迫程度,故不能保证紧迫性作业能得到及时处理。

(4)举例:

四、优先级调度算法和高响应比优先调度算法

1、优先级调度算法(PSA)

(1)在优先级调度算法中,基于作业的紧迫程度,由外部赋予作业相应的优先级,调度算法是根据该优先级进行调度的

(2)优先级调度算法可作为作业调度算法,也可作为进程调度算法,当把该算法用于作业调度时,系统从后备队列中选择若干个优先级最高的作业装入内存

2、高响应比优先调度算法(HRRN)

(1)高响应比优先调度算法既考虑了作业的等待时间,又考虑作业运行时间的调度算法,因此既照顾了短作业,又不致使长作业的等待时间过长,从而改善了处理机调度的性能。

(2)如果为每个作业引入一个动态优先级,即优先级是可以改变的,令它随等待时间延长而增加,这将使长作业的优先级在等待期间不断地增加,等到足够的时间后,必然有机会获得处理机。该优先级的变化规律可描述为:

①如果作业的等待时间相同,则要求服务的时间愈短,其优先权愈高,因而类似于SJF算法,有利于短作业。

②当要求服务的时间相同时,作业的优先权又决定于其等待时间,因而该算法又类似于FCFS算法。

③对于长作业的优先级,可以随等待时间的增加而提高,当其等待时间足够长时,也可获得处理机。

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zevalin爱灰灰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值