操作系统概念第五章部分作业题答案

操作系统概念第五章部分作业题答案题目一:为什么对调度程序而言,区分CPU约束性进程和I/O约束性进程很重要解答:绝大多数进程可分为I/O主(放入I/O队列)或CPU主(放入就绪队列),I/O主的计算时间>CPU主。因此长期调度程序应选择一个合理的包含I/O主和CPU主的组合进程。在运行I/O操作前,I/0限制的程序只运行很少数量的计算机操作。而CPU约束程序一般来使用很多的CPU。另一方面,CPU约束程序会利用整个时间片,…

大家好,又见面了,我是你们的朋友全栈君。

题目一:
为什么对调度程序而言,区分CPU约束性进程和I/O约束性进程很重要

解答:
绝大多数进程可分为I/O主(放入I/O队列)或CPU主(放入就绪队列),I/O主的计算时间>CPU主。因此长期调度程序应选择一个合理的包含I/O主和CPU主的组合进程。在运行I/O操作前,I/0限制的程序只运行很少数量的计算机操作。而CPU约束程序一般来使用很多的CPU。另一方面,CPU约束程序会利用整个时间片,且不做任何阻碍I/O操作的工作。

题目二:
下面哪种调度算法会导致饥饿?
1.先到先服务
2.最短作业优先
3.轮转法
4.优先级

解答:
最短作业优先和有限计算法能导致饥饿,因为对于优先级较低的作业来说,这两种算法都会使其无穷等待CPU,长期得不到调用,就会导致饥饿,也就是无穷阻塞问题。

题目三:
考虑一个运行 10 个 I/O 约束任务和 1 个 CPU 约束任务的系统,假设 I/O 约束任务每进行 1ms 的 CPU 计算执行一次 I/O 操作,每个 I/O 操作花费 10ms 完成。假设上下文切换花费 0.1ms, 且所有的进程都是长运行任务。请计算下列条件下 RR(时间片轮转)调度程序的 CPU利用率?
1.时间片为 1ms
2.时间片为 10ms

解答:
1、时间片为1ms时,无论哪个进程被调度,都会花费一次上下文切换的额外时间0.1ms,所以,对于一个时间片,实际时长为1.1ms,但只有1ms在“认真工作”,所以利用率为1/1.1×100%=92%。
2、时间片为10ms时,对I/O约束任务而言,还是进行1ms后就进行上下文切换,所以对于一个时间片,十个I/O约束任务都会走一遍,然后执行CPU约束任务,然后再转九次,每次相同。所以,从整体十次上来讲,总时间是10x(10×1.1<I/O约束任务>+10<CPU约束任务>),而实际的工作时间是10×20,所以利用率为20/21.1×100%=94%

题目四:
考虑下面一组进程,进程占用的CPU区间长度以毫秒计算:
进程 到达时间 CPU区间长度 优先级
P1 0 10 3
P2 1 3 1
P3 2 4 3
P4 3 1 4
P5 4 5 2
1.分别画出采用 FCFS,SJF,抢占式优先级调度(数值越小,优先级越大; 优先级相同时采用RR,时间片为 1ms),RR(时间片 =2ms)算法进行调度时的甘特图。
2.计算上述调度算法下的平均周转周转时间。
3.计算上述调度算法下的平均等待时间。

解答:
1、
FCFS:
在这里插入图片描述
SJF(非抢占):
在这里插入图片描述
SJF(抢占):
在这里插入图片描述
注意,对于长度相同的情况,我采用片长为1ms的RR
优先级:
在这里插入图片描述
RR:
在这里插入图片描述
2、
FCFS:P1=10,P2=13-1,P3=17-2,P4=18-3,P5=23-4,SUM=10+12+15+15+19=71,NUM=14.2
SJF(非抢占):P1=10,P2=14-1,P3=18-2,P4=11-3,P5=23-4,SUM=10+13+16+8+19=66,NUM=13.2
SJF(抢占):P1=23,P2=5-1,P3=9-2,P4=4-3,P5=14-4,SUM=23+4+7+1+10=45,NUM=9
优先级:P1=22,P2=4-1,P3=17-2,P4=23-3,P5=9-4,SUM=22+3+15+20+5=65,NUM=13
RR:P1=23,P2=12-1,P3=14-2,P4=9-3,P5=21-4,SUM=23+11+12+6+17=69,NUM=13.8
3、
FCFS:P1=0,P2=10-1,P3=13-2,P4=17-3,P5=18-4,SUM=9+11+14+14=48,NUM=9.6
SJF(非抢占):P1=0,P2=11-1,P3=14-2,P4=10-3,P5=18-4,SUM=10+12+7+14=43,NUM=8.6
SJF(抢占):P1=0+14-1,P2=1+4-3-1,P3=5-2,P4=3-3,P5=9-4,SUM=13+1+3+0+5=22,NUM=4.4
优先级:P1=0+9-1+11-10+13-12+15-14+17-16,P2=1-1,P3=10+12-11+14-13+16-15-2,P4=22-3,P5=4-4,SUM=12+0+11+19+0=42,NUM=8.4
RR:P1=13,P2=8,P3=8,P4=5,P5=12,SUM=46,NUM=9.2

题目五:
查找文献了解 solaris 的调度设计并对其进行详细阐述,并就其调度方案中的至少两个细节说明这样设计所带来的影响(好处)。

解答:
Solaris的内核线程调度(抢占、基于优先级、支持实时线程)
传统Solaris使用多对多模型,Solaris 9使用一对一模型。
Solaris按照优先级排序有4种调度类型:实时、系统、分时和交互,每种类型有不同的priority和调度算法。
Scheduler将特定类的priority转换为全局priority,再选择全局priority最高的线程来执行,直到该线程阻塞、用完time quantum或被更高priority的线程抢占。如果多个线程的priority相同,则采用循环队列。
Solaris 9引入2种新的调度类型:

  1. 固定优先级(fixed priority) – 线程的priority与time sharing类型范围相同,但不能动态调节。
  2. 公平共享(fair share) – 用CPU shares代替priority来做调度决策。
    CPU shares:表明可用CPU资源的权利,并被分配到一个project(进程集)。
    Time sharing类(默认调度类型)和Interactive类采用同样的调度策略(多级反馈队列),Priority和time quantum默认成反比。
    通常Interactive进程的priority更高,CPU-bound进程的priority更低。
    Interactive和time sharing类包括60个优先级,在其调度中:
    时间片到期(Time quantum expired)(i.e. 用完其time-quantum而未堵塞)的线程将被认为是CPU-intensive的,并被降低优先级。
    从睡眠中返回(Return from sleep)(e.g. 从等待I/O中返回)的线程优先级将被提高。
    System类专门保留给内核使用,用于运行内核进程。System进程一旦创建,其priority就不再改变。(在内核模式下运行的用户进程并不属于system类。)
    Real time类的进程具有最高priority,能在其他类型进程之前运行。通常只有少数进程属于real time类。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159073.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win10无法识别的usb设备前一个设备不正常_蓝牙变成未知usb设备

    win10无法识别的usb设备前一个设备不正常_蓝牙变成未知usb设备[修复]未知的USB设备(设备描述符请求失败)在Windows10中转至[修复]未知的USB设备(设备描述符请求失败)在Windows10中

    2025年5月26日
    3
  • 真正解决Jenkins安装插件总是报错的问题(二)

    真正解决Jenkins安装插件总是报错的问题(二)

    2021年8月31日
    62
  • ubuntu18.04 linux journalctl 命令

    ubuntu18.04 linux journalctl 命令目录Help 输出所有的日志记录 匹配(match) 把日志保存到文件中 限定日志所能占用的最高容量 查看某次启动后的日志 查看指定时间段的日志 同时应用match和时间过滤条件 按unit过滤日志 通过日志级别进行过滤 实时更新日志 只显示最新的n行 控制输出 按可执行文件的路径过滤 查看内核日志 总结journalctl用来查询systemd…

    2022年5月24日
    62
  • 友善串口助手使用教程_友善串口调试助手怎么进行配置-友善串口调试助手使用教程…

    友善串口助手使用教程_友善串口调试助手怎么进行配置-友善串口调试助手使用教程…软件功能:友善串口调试助手(win7串口调试工具)是一个很好而小巧的串口调试助手,友善串口调试助手官方版支持二进制面板和TLS、支持终端窗口和远程访问,能够与串口进行通信,访问、修改串行端口,还能够自动识别、自动搜索串口。友善串口调试助手还可以用ASCII码或十六进制接收或发送任何数据或字符,也可以让用户任意设定自动发送周期,还能够把结束数据保存成文本文件,用户也可以通过友善串口调试助手发送任意大…

    2022年6月14日
    104
  • 关于 RenderControl 的问题

    关于 RenderControl 的问题主要解决RenderControl时提示控件必须放在具有runat=server的窗体标记内”错误的解决方法1,http://www.cnblogs.com/zhangronghua/archive/2008/11/07/951899.html2,http://hi.baidu.com/tyrant8203/blog/item/615d77082777c0960a7b82b6.html…

    2022年7月20日
    15
  • xps 转 pdf android版,xps文件转换pdf

    xps 转 pdf android版,xps文件转换pdfXPS阅读器是一款专门为XPS格式的文件而打造的阅读器,能够帮助用户在这款软件中对XPS文件一键阅读,并且能够随时打开。对于不知道用什么打开xps文件的朋友可以下载这款专用阅读器,它还能对xps文件进行格式转换。软件功能1、使用xpsviewer,你可以创建他人无法篡改而且打印效果始终与屏幕显示保持一致的电子文档与他人共享。典型的例子包括合同、备忘录、简历、新闻稿和报表。2、XML页面规范(…

    2022年6月4日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号