作业调度与进程调度的区别

一、作业调度

        作业调度主要是将位于外存后备队列中的某个(或某几个)作业调入内存,排在就绪队列上。这个时候仅仅是将作业调入内存,并为作业创建进程、分配资源,此时进程处于就绪态,并没有执行。

二、进程调度

        进程调度主要是从就绪队列中选取一个(或几个)进程,并分配处理机的过程,此时为执行。

三、二者的区别

        前者是为作业建立进程的过程,是将作业由外存调入内存的过程;而后者整个过程并没有跑出内存的范围,是将就绪态的进程变为运行态的过程。


例:有一个单CPU两道批处理系统,在作业调度算法采用短作业优先调度、进程调度算法采用抢占式优先级调度。假设有四个作业A、B、C、D,其运行情况如下表所示,采用“优先数越小、优先级越高”的原则,计算平均周转时间。

作业序号到达时间运行时间优先数
A8:00405
B8:20303
C8:30504
D8:50206

题目是单CPU两道批处理系统,说明CPU一次能处理一个作业,允许两个作业存在。

1、首先,8:00的时候A作业到达,这里到达不是指到达就绪队列,并没有执行,而是指进入了内存,我理解是它进入了一个小方框,这个方框里面有两个区域,分别为内存1和内存2,只允许两个作业存在。

内存块:

内存1(A)内存2(B)

就绪队列:

CPU之前并没有处理相关作业,此时A作业的内存1开始执行,进入就绪队列,分配CPU,转为运行态。

2、CPU运行到8:20的时候,B作业到达,此时内存2空闲,B作业调入内存2,进入就绪队列中,然后两个作业如何分配CPU,需要看进程调度算法,使用抢占式优先级调度算法,B作业优先级高于A作业,所以A作业中断执行,回到就绪队列中,B作业从就绪队列中出去,分配CPU,进入运行态,A作业还剩20处理时间。

就绪队列:

A

3、CPU运行到8:30的时候,此时C作业到达,但是此时内存块区域中两个区域都被A、B作业占用,所以C作业只能在外存的后备队列中等待,进入不了就绪队列中,此时就绪队列不改变。

就绪队列:

A

4、CPU运行到8:50的时候,B作业执行完毕,内存2空闲,此时D作业到达。然后考虑C、D作业谁进入内存块区域内存2中,这时需要看作业调度算法,短作业优先,D作业的时间比C作业的时间短,所以D作业进入内存2中。

就绪队列:

AD

就绪队列中A、D作业如何分配CPU,执行,需要考虑进程调度算法,非抢占式优先级算法。此时A作业的优先级大,所以A执行,从就绪态转为运行态。

就绪队列:

D

5、CPU运行到9:10的时候,A执行完毕,内存1空闲,此时C作业进入内存1,进入就绪队列中

就绪队列:

DC

就绪队列中D、C作业如何分配CPU,执行,需要考虑进程调度算法,非抢占式优先级算法。此时C作业的优先级大,所以C作业执行,从就绪态转为运行态。

就绪队列:

D

6、CPU执行到10:00的时候,C作业执行完毕。没有后续作业加入就绪队列中,所以D作业直接分配CPU,执行,从就绪态转为运行态。CPU运行到10:20的时候,D作业执行完毕。此时,作业全部执行完毕。

就绪队列: 


CPU执行图:

            A                             B                             A                                C                                D                

|____________|______|____________|____________|_____________________|____________|

8:00             8:20      8:30                 8:50                  9:10                                  10:00                 10:20     

周转时间 = 完成时间 - 到达时间

等待时间 = 周转时间 - 运行时间

带权周转时间 = 周转时间 / 运行时间

作业序号到达时间运行时间开始时间完成时间周转时间等待时间
A8:00408:009:107030
B8:20308:208:50300
C8:30509:1010:009040
D8:502010:0010:209070

本人是操作系统初学者,想通过这篇文章来巩固自己的知识体系,若有不对的地方,请多多包涵,谢谢!

  • 37
    点赞
  • 107
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值