【操作系统之进程调度算法习题】
操作系统之进程调度算法习题
- 1.第一题
- 解答:
- 2. 第二题
- 解答:
- 3. 第三题
- 解答:
1.第一题
在一个具有三道作业的批处理系统中,作业调度采用先来先服务(FCFS) 调度算法,进程调度采用
短作业优先调度算法。现有如下所示的作业序列,
注意
1.具有三道作业的批处理系统指的是内存最多能有3个作业;
2.表格样式是考试时候的格式,练习时候也按这个格式练习各作业的周转时间分别是:不需要写
单位p1__ p2__ p3__ p4__ p5___
解答:
周转时间 = 作业完成时间 - 进入系统时间(进入输入井时间)
作业 | 进入输入井时间 | 运行时间 | 进入内存时间 | 开始时间 | 完成时间 | 周转时间 |
---|---|---|---|---|---|---|
P1 | 8:00 | 30 |
8:00
|
8:00
|
8:30
|
30 |
P2 | 8:10 | 15 |
8:10
|
8:45
|
9:00
|
50 |
P3 | 8:25 | 5 |
8:25
|
8:30
|
8:35
|
10 |
P4 | 8:30 | 20 |
8:30
|
9:00
|
9:20
|
50 |
P5 | 8:35 | 10 |
8:35
|
8:35
|
8:45
|
10 |
解析:
由题意可知: 进入到内存后,采用的是短作业优先调度算法
,并且题目没说是抢占式
(抢占式就是强行停止当前正在运行的作业,去运行刚刚进来的更短运行时间的作业)。
明白好前提条件后,我们开始模拟作业运行过程:
第一步:8:00
这时只有P1在输入井
当中,故此时运行P1,P1的开始时间就为8:00
,因为P1需要完成30,故完成时间为8:30
,得到P1的周转时间为:8:30 - 8:00 = 30
。
第二步: 在P1的运行过程中(8:00~8:30)之间,因为内存可以存放3个作业,P2和P3进入了输入井后直接进入了内存中等待P1运行完成。
第三步: 当P1刚刚运行完成,P1退出内存,P4刚好进入内存,此时内存中有P2、P3以及P4,按照短作业优先调度算法,此时应该是P3开始运行,所以P3的开始时间为8:30
,需要运行5,故完成时间为8:35
,完成时间减去进入系统时间得到P3的周转时间为8:35 - 8:25 = 10
。
第四步: 当P3运行完成,P3退出内存,这时P5刚刚恰好进入内存,此时内存中有P2、P4以及P5,按照短作业优先调度算法,此时应该是P5开始运行,所以P5的开始时间为8:35
,需要运行10,故完成时间为8:45
,完成时间减去进入系统时间得到P5的周转时间为8:45 - 8:35 = 10
。
第五步: 当P5运行完成,P5退出内存,此时内存中还有P2、P4,按照 短作业优先调度算法 ,此时应该是P2开始运行,所以P2的开始时间为8:45
,需要运行15,故完成时间为9:00
,完成时间减去进入系统时间得到P5的周转时间为9:00 - 8:10 = 50
。
第六步: 当P2运行完成,P2退出内存,此时内存中还有P4,此时P4开始运行,所以P4的开始时间为9:00
,需要运行20,故完成时间为9:20
,完成时间减去进入系统时间得到P4的周转时间为9:20 - 8:30 = 50
。
注意:周转时间 = 完成时间 - 进入系统时间,而不是完成时间 - 进入内存时间!!!
2. 第二题
采用不抢占的高相应比优先调度算法进行调度,则各进程运行周转时间分别是:(不用单位)
p1__
p2__
p3__
p4__
p5__
解答:
响应比=作业周转时间/作业处理时间=(作业处理时间+作业等待时间)/作业处理时间=1+(作业等待时间/作业处理时间)
等待时间=最后一个的提交时间-该作业到达的时间
作业执行规则,响应比高的先执行
周转时间=完成时间-提交时间
0时刻只有P1,故先处理P1,因为是不抢占式,所以可以得出P1的周转时间:如下表格所示
进程 | 到达时刻 | 运行时间 | 等待时间 | 响应比 | 周转时间 |
---|---|---|---|---|---|
P1 | 0 | 10 |
0
|
1+(0/10)=1
|
10-0=10
|
P2 | 1 | 1 | |||
P3 | 2 | 2 | |||
P4 | 3 | 1 | |||
P5 | 4 | 5 |
P1处理完成之后,已经到了10时刻,这时进程2、进程3、进程4已经进程5都已经到达。此时比较响应比来决定谁下一个运行。通过计算我们发现P2进程的响应比最高,故P2先运行,得到P2的周转时间
进程 | 到达时刻 | 运行时间 | 等待时间 | 响应比 | 完成时间 | 周转时间 |
---|---|---|---|---|---|---|
P1 | 0 | 10 |
0
|
1+(0/10)=1
|
10 |
10-0=10
|
P2 | 1 | 1 |
10-1=9
|
1+(9/1)=10
|
11 |
11-1=10
|
P3 | 2 | 2 |
10-2=8
|
1+(8/2)=5
|
||
P4 | 3 | 1 |
10-3=7
|
1+(7/1)=8
|
||
P5 | 4 | 5 |
10-4=6
|
1+(6/5)
|
P2处理完成之后,已经到了11时刻。此时比较响应比来决定谁下一个运行。通过计算我们发现P4进程的响应比最高,故P4先运行,得到P4的周转时间
进程 | 到达时刻 | 运行时间 | 等待时间 | 响应比 | 完成时间 | 周转时间 |
---|---|---|---|---|---|---|
P1 | 0 | 10 |
0
|
1+(0/10)=1
|
10 |
10-0=10
|
P2 | 1 | 1 |
10-1=9
|
1+(9/1)=10
|
11 |
11-1=10
|
P3 | 2 | 2 |
10-2=8
|
1+(9/2)=5.5
|
||
P4 | 3 | 1 |
10-3=7
|
1+(8/1)=9
|
12 |
12-3=9
|
P5 | 4 | 5 |
10-4=6
|
1+(7/5)
|
P4处理完成之后,已经到了12时刻。此时比较响应比来决定谁下一个运行。通过计算我们发现P3进程的响应比最高,故P3先运行,得到P3的周转时间
进程 | 到达时刻 | 运行时间 | 等待时间 | 响应比 | 完成时间 | 周转时间 |
---|---|---|---|---|---|---|
P1 | 0 | 10 |
0
|
1+(0/10)=1
|
10 |
10-0=10
|
P2 | 1 | 1 |
10-1=9
|
1+(9/1)=10
|
11 |
11-1=10
|
P3 | 2 | 2 |
10-2=8
|
1+(10/2)=6
|
14 |
14-2=12
|
P4 | 3 | 1 |
10-3=7
|
1+(8/1)=9
|
12 |
12-3=9
|
P5 | 4 | 5 |
10-4=6
|
1+(8/5)
|
P3处理完成之后,只剩下P5进程了,故得到P5的周转时间
进程 | 到达时刻 | 运行时间 | 等待时间 | 响应比 | 完成时间 | 周转时间 |
---|---|---|---|---|---|---|
P1 | 0 | 10 |
0
|
1+(0/10)=1
|
10 |
10-0=10
|
P2 | 1 | 1 |
10-1=9
|
1+(9/1)=10
|
11 |
11-1=10
|
P3 | 2 | 2 |
10-2=8
|
1+(10/2)=6
|
14 |
14-2=12
|
P4 | 3 | 1 |
10-3=7
|
1+(8/1)=9
|
12 |
12-3=9
|
P5 | 4 | 5 |
10-4=6
|
1+(10/5)
|
19 |
19-4=15
|
3. 第三题
3.某多道程序设计系统中配有一台处理器CPU和两台输人输出设备I01, I02, 现有三个进程P1、P2、
P3同时存在,它们使用资源的先后顺序和占用时间分别是:
进程P1: l02 (30ms) ,CPU (5ms) ,I01 (30ms) ,CPU (10ms)
进程P2: I01 (20ms) ,CPU (2ms) ,I02 (40ms) 。
进程P3: CPU (30ms) ,I01 (20ms)
假设I0设备是不可抢占的,进程调度采用”最短剩余时间优先”调度算法,且忽略调度等所需时间,
进程P1、P2、P3从开始到完成所用的时间分别是多少ms?不需要写单位ms
P1___
P2___
P3___
解答:
由题意可知,进程调度采用的是最短剩余时间优先调度算法,何为最短剩余时间优先调度算法?
最短剩余时间优先调度算法 :简单来说,每当有进程加入就绪队列时就需要调度,如果新到达的进程剩余时间比当前运行的进程剩余时间更短,则由新进程抢占处理机,当前运行进程重新回到就绪队列。另外,当一个进程完成时也需要调度。
既然知道何为最短剩余时间优先调度算法,那我们开始解题:
第一步、从题目我们可以知道刚开始进程P1先使用IO2(30ms),P2使用IO1(20ms),P3使用CPU(30ms)
第二步、而在P3使用CPU(30ms)的过程中,
P2前20ms使用完了IO1,然后进程P2需要使用CPU(2ms),
根据最短剩余时间优先调度算法,P2使用CPU(2ms)< P3(30ms-20ms)
所以这时,CPU先给P2使用2ms,P3等待P2使用完后继续使用CPU,故P3使用完CPU时为32ms。
第三步、如上图所示:上图为P1、P2 、P3这3个进程的执行过程。
当到30ms时,P1释放IO2资源,P1等待CPU资源
P2开始使用IO2资源(40ms);
当到32ms时,P3释放CPU资源,P3使用IO1资源(20ms)
P1使用CPU资源(5ms)
当到37ms时,P1释放CPU,P1等待IO1
当到52ms时,P3释放IO1,进程P3结束
P1开始使用IO1资源(30ms)
当到70ms时,P2释放IO2,进程P2结束
当到82ms时,P1释放IO1,P1使用CPU(10ms)
当到92ms时,P1释放CPU,进程P1结束
【操作系统之进程调度算法习题】相关推荐
- 操作系统实习-进程调度算法(C语言)
文章目录 设计目的 设计内容 设计思路 算法流程图 程序结构 实现代码 调试结果 设计目的 进程管理是操作系统中的重要功能,用来创建进程.撤消进程.实现进程状态转换,它提供了在可运行的进程之间复用CP ...
- 操作系统之进程调度算法
操作系统中的进程调度算法进行分析: 1.先来先服务算法(FCFS) 先来先服务算法是按照作业到达的先后次序来进行调度,或者说是优先考虑在系统中等待时间最长的作业,而不管该作业所执行时间的长短,从后备作 ...
- 操作系统:进程调度算法
进程调度算法 基本调度算法: 1. 先来先服务FCFS:既可以作为作业调度算法也可以作为进程调度算法:按作业或者进程到达的先后顺序依次调度:因此对于长作业比较有利. 算法优点:易于理解且实现简单, ...
- 面试必备操作系统之进程调度算法(非常全面)
文章目录 背景 衡量指标 调度算法 先进先出(FIFO) 最短任务优先(SJF) 最短完成时间优先(STCF) 新衡量指标:响应时间 轮转(Round-Robin,RR) 去掉假设没有IO操作 参考 ...
- 操作系统之进程管理习题
1.操作系统对进程管理的程序叫进程调度.进程调度就是按照某种算法从就绪队列中选取进程,让该进程获得cpu.多个进程竞争一个CPU,获得CPU的次序是由调度算法决定的.考虑5个进程见下表,1的优先级最高 ...
- java实现操作系统时间片轮转进程调度算法(RR算法)
Time类 package RR算法; public class time {private int hour;private int min;public int getHour() {return ...
- 进程调度算法相关习题
处理机调度与死锁相关习题 1.1.假设一个系统有 5 个进程,他们的到达时间和服务时间如上表所示,忽略 I/O 以及其他的开销时间,若分别按 先来先服务( FCFS ) . 非抢占式及抢占 的短进程优 ...
- 【操作系统 - 2】时间片轮转RR进程调度算法
操作系统系列 2017.03.17:整理第一版. 2018.01.08:添加使用 DEV C++ 的说明. ======== 学习至此,发现很多学了但很久没用的知识,久而久之,慢慢遗忘.等哪天还需要的 ...
- 操作系统中常见的进程调度算法
一.调度与调度算法 调度:操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源.这就是调度.目的是控制资源 ...
最新文章
- 【操作系统】考研の页面置换算法例子(看不懂你来打我~!)
- 笔记-高项案例题-2014年下-计算题
- Java用TCP手写聊天室 可以 私聊版加群聊版
- Python3.6下安装扩展库pywin32的正确姿势
- Selenium 特点
- Csv 之 简单解决使用 Excel 打开 csv 出现中文乱码现象
- 计算机毕业设计Java-ssm博雅楼自习室预约系统源码+系统+数据库+lw文档
- MTK平台系统稳定性分析
- 技术答疑 什么是音高、音色、音调?
- oracle log network server,记录一次ARC1: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned解决...
- 如何改typecho主题头像_细节决定成败,抖音昵称、头像、简介、视频封面的重要性...
- vue实现盒子的拖拽移动
- buuctf pwn wp(第四波)格式化字符串漏洞系列
- 基于微信PC端小程序抓包方法
- 如何看待清华段子手“毕导”毕啸天至今没有发表过高质量论文?
- 【项目实战案例分享】DMZ区防御体系技战法
- 通过V4L2框架获取UVC摄像头的MJPEG格式数据
- HU(处理单位)管理
- ​用友T+标准版如何反结账,反记账​
- 台积电第二代3nm工艺公布;推特收购事件导致大量员工离职,苹果 Meta争先抢人;微软将在亚洲市场投资游戏业务 | 每日大事件...
热门文章
- 一道HashSet面试题引发的蝴蝶效应
- 深入理解C++中的循环引用问题及解决方法
- 【日语词汇类编】自然与人:气候与环境
- 删除“此电脑中”和“另存为中”的3D对象等七个文件夹
- 证件识别/证件识别SDK
- Android 找不到资源异常,Android 问题之找不到资源解决办法
- 阿里云配置密钥SSH登录
- android通用ui库设计规范,难查的ANDROID APPUI设计规范总览
- Python——数据分层抽样
- 湖北省人工智能、大数据和区块链十大优秀应用案例征集范围、申报要求和成功运用