操作系统之进程调度算法习题

  • 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结束

【操作系统之进程调度算法习题】相关推荐

  1. 操作系统实习-进程调度算法(C语言)

    文章目录 设计目的 设计内容 设计思路 算法流程图 程序结构 实现代码 调试结果 设计目的 进程管理是操作系统中的重要功能,用来创建进程.撤消进程.实现进程状态转换,它提供了在可运行的进程之间复用CP ...

  2. 操作系统之进程调度算法

    操作系统中的进程调度算法进行分析: 1.先来先服务算法(FCFS) 先来先服务算法是按照作业到达的先后次序来进行调度,或者说是优先考虑在系统中等待时间最长的作业,而不管该作业所执行时间的长短,从后备作 ...

  3. 操作系统:进程调度算法

    进程调度算法 基本调度算法: 1.   先来先服务FCFS:既可以作为作业调度算法也可以作为进程调度算法:按作业或者进程到达的先后顺序依次调度:因此对于长作业比较有利. 算法优点:易于理解且实现简单, ...

  4. 面试必备操作系统之进程调度算法(非常全面)

    文章目录 背景 衡量指标 调度算法 先进先出(FIFO) 最短任务优先(SJF) 最短完成时间优先(STCF) 新衡量指标:响应时间 轮转(Round-Robin,RR) 去掉假设没有IO操作 参考 ...

  5. 操作系统之进程管理习题

    1.操作系统对进程管理的程序叫进程调度.进程调度就是按照某种算法从就绪队列中选取进程,让该进程获得cpu.多个进程竞争一个CPU,获得CPU的次序是由调度算法决定的.考虑5个进程见下表,1的优先级最高 ...

  6. java实现操作系统时间片轮转进程调度算法(RR算法)

    Time类 package RR算法; public class time {private int hour;private int min;public int getHour() {return ...

  7. 进程调度算法相关习题

    处理机调度与死锁相关习题 1.1.假设一个系统有 5 个进程,他们的到达时间和服务时间如上表所示,忽略 I/O 以及其他的开销时间,若分别按 先来先服务( FCFS ) . 非抢占式及抢占 的短进程优 ...

  8. 【操作系统 - 2】时间片轮转RR进程调度算法

    操作系统系列 2017.03.17:整理第一版. 2018.01.08:添加使用 DEV C++ 的说明. ======== 学习至此,发现很多学了但很久没用的知识,久而久之,慢慢遗忘.等哪天还需要的 ...

  9. 操作系统中常见的进程调度算法

    一.调度与调度算法 调度:操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源.这就是调度.目的是控制资源 ...

最新文章

  1. 【操作系统】考研の页面置换算法例子(看不懂你来打我~!)
  2. 笔记-高项案例题-2014年下-计算题
  3. Java用TCP手写聊天室 可以 私聊版加群聊版
  4. Python3.6下安装扩展库pywin32的正确姿势
  5. Selenium 特点
  6. Csv 之 简单解决使用 Excel 打开 csv 出现中文乱码现象
  7. 计算机毕业设计Java-ssm博雅楼自习室预约系统源码+系统+数据库+lw文档
  8. MTK平台系统稳定性分析
  9. 技术答疑 什么是音高、音色、音调?
  10. oracle log network server,记录一次ARC1: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned解决...
  11. 如何改typecho主题头像_细节决定成败,抖音昵称、头像、简介、视频封面的重要性...
  12. vue实现盒子的拖拽移动
  13. buuctf pwn wp(第四波)格式化字符串漏洞系列
  14. 基于微信PC端小程序抓包方法
  15. 如何看待清华段子手“毕导”毕啸天至今没有发表过高质量论文?
  16. 【项目实战案例分享】DMZ区防御体系技战法
  17. 通过V4L2框架获取UVC摄像头的MJPEG格式数据
  18. HU(处理单位)管理
  19. ​用友T+标准版如何反结账,反记账​
  20. 台积电第二代3nm工艺公布;推特收购事件导致大量员工离职,苹果 Meta争先抢人;微软将在亚洲市场投资游戏业务 | 每日大事件...

热门文章

  1. 一道HashSet面试题引发的蝴蝶效应
  2. 深入理解C++中的循环引用问题及解决方法
  3. 【日语词汇类编】自然与人:气候与环境
  4. 删除“此电脑中”和“另存为中”的3D对象等七个文件夹
  5. 证件识别/证件识别SDK
  6. Android 找不到资源异常,Android 问题之找不到资源解决办法
  7. 阿里云配置密钥SSH登录
  8. android通用ui库设计规范,难查的ANDROID APPUI设计规范总览
  9. Python——数据分层抽样
  10. 湖北省人工智能、大数据和区块链十大优秀应用案例征集范围、申报要求和成功运用