短作业调度算法

有一个内存中只能两道作业的批处理系统,作业调度采用短作业优先调度算法,进程调度采用按优先级(数字越小优先级越高)抢占式调度算法,下表为各作业的情况:

作业名到达时间估计运行时间优先级
作业A10:0040分钟5
作业B10:2030分钟3
作业C10:3050分钟6
作业D10:5020分钟8

1. 列出作业进入内存的时刻以及作业完成的时刻.
2. 计算各作业的平均周转时间.(45分钟)

解答过程如下:
这里写图片描述

10:00的时候只有A到达,所以A立刻进入内存并执行
10:20的时候B到达,内存中运行有两道作业,所以这时B被调入内存;
由于采用抢占式调度算法(数字越小优先级越高),所以B作业将获得cpu并执行。
10:50的时候,B执行完毕,内存里允许再调入一道作业。由于采用短作业优先调度
算法,作业D运行时间比C短,所以D作业被调入内存;内存里有A 、D两道作业,
根据抢占式调度算法,A将从阻塞状态变为执行状态,作业D将被阻塞。
11:10的时候A执行完毕,作业C允许被调入内存,并且优先级高于D,所以将执行作业C
12:00作业C执行完毕,作业D获得处理机执行直到结束。

平均周转时间=每道作业运行的时间/作业道数

作业进入内存时间执行完毕时间作业运行时间
A10:0011:1070
B10:2010:5030
C11:1012:0050
D10:5012:2030
  • 10
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
作业优先调度算法(Shortest Job First, 简称SJF)是一种基于作业运行时间的调度算法,即优先调度运行时间最作业。该算法可以减少平均等待时间和平均周转时间,提高系统效率。 实验目的: 通过模拟作业优先调度算法,了解其原理和应用,掌握算法实现方法。 实验要求: 1. 设计并实现作业优先调度算法的模拟程序,模拟多个作业系统的运行过程。 2. 输入作业运行时间,模拟作业的提交和运行过程,输出每个作业的等待时间、周转时间和平均周转时间等统计信息。 3. 通过比较不同调度算法的实验结果,分析作业优先调度算法的优缺点。 实验步骤: 1. 设计作业控制块(Job Control Block, 简称JCB),包括作业ID、作业状态、作业优先级、作业运行时间、作业提交时间、作业开始运行时间、作业结束时间等属性。 2. 设计作业调度器,实现作业提交、作业调度作业完成等操作。 3. 根据作业优先调度算法的原理,实现作业排序和调度过程。按照作业运行时间的到长排序,依次调度作业运行。 4. 模拟多个作业的提交和运行过程,记录每个作业的等待时间、周转时间等信息。 5. 输出统计信息,包括每个作业的等待时间、周转时间、平均周转时间等。 6. 分析实验结果,比较作业优先调度算法和其他调度算法的优缺点,得出结论。 实验思考题: 1. 作业优先调度算法适用于哪些场景?有哪些缺点? 2. 如何实现优先级调度算法?与作业优先调度算法有何区别? 3. 如何解决作业优先级相同的情况? 4. 为什么多级反馈队列调度算法可以兼顾作业和长作业? 5. 在实际操作系统,如何实现作业调度?有哪些调度算法被广泛应用? 参考答案: 1. 作业优先调度算法适用于作业运行时间相差较大的场景,可以减少平均等待时间和平均周转时间,提高系统效率。缺点是无法保证长作业得到及时执行,可能会出现长作业饥饿的情况。 2. 优先级调度算法可以根据作业的优先级进行调度,可以实现多种优先级调度策略。与作业优先调度算法的区别在于,优先级调度算法是根据作业的优先级来排序和调度的。 3. 当作业优先级相同时,可以采用先来先服务(First Come First Served, 简称FCFS)或轮转调度(Round Robin, 简称RR)等策略来调度作业。 4. 多级反馈队列调度算法可以将作业分成多个队列,不同队列的调度策略不同。作业可以在高优先级队列得到及时调度,长作业可以在低优先级队列得到充分的执行时间。因此,该算法可以兼顾作业和长作业。 5. 在实际操作系统作业调度通常由内核来完成。常用的调度算法包括FCFS、SJF、优先级调度、RR、最剩余时间优先调度(Shortest Remaining Time Next, 简称SRTN)等。不同的操作系统可能采用不同的调度算法,甚至可以根据不同场景采用不同的调度算法

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值