计算机操作系统(慕课版)第三章课后题答案

本文详细阐述了操作系统中的调度概念,包括高级调度、低级调度以及中级调度的作用。介绍了作业和作业控制块(JCB)的概念,并讨论了何时使用JCB。同时,文章涉及了多种调度算法,如FCFS、SJF、RR和多级反馈队列,以及实时系统的调度需求和算法。此外,还讨论了死锁的概念、产生原因及预防策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简答题
1.高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
1)高级调度的主要任务是将外存的作业调入内存,又称作业调度;
低级调度的主要任务数为内存中处于就绪态的作业分配处理机。
2)为了提高内存的利用率与系统吞吐量。

2.何谓作业和JCB?
1)作业是一组程序与数据和作业说明书,是高级调度的基本单位;
2)JCB是作业控制块,是作业存在的表示,包含管理,调度所需的全部信息。

3.在什么情况下需要使用JCB?其中包含了哪些内容?
1)作业进入系统;
2)包含系统对作业调度,管理的全部信息。

4.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?
取决于多道程序度和调度算法。

5.试说明低级调度的主要功能。
从就绪队列中根据调度算法选择一个进程分配处理机。

6.简述引起进程调度的原因。
1)时间片完了;2)阻塞了;3)运行完了;4)被抢占了

7.在抢占式调度算法中,抢占的原则是什么?
1)优先级;2)短进程优先;3)时间片原则

8.在选择调度方式和调度算法时,应遵循哪些准则?
1)公平性;2)资源利用率;3)平衡性;4)强制执行

9.何谓静态优先级和动态优先级?确定进程优先级的依据是什么?
1)静态优先级创建进程时就确定,动态优先级随着时间与环境变化而改变。
2)用户要求,进程对cpu io等资源的要求, 进程类型。

10.试比较FCFS和SJF这两种调度算法。
1)先来先服务周转时间长,对短进程不利,不能实现交互,紧急作业得不到处理但进程无饿死。
2)短进程优先要先知道作业运行时间,且对长进程不利,没有考虑进程的紧迫性,并且容易饿死。

11.在基于时间片的RR调度算法中,应如何确定时间片的大小?
一次时间片的大小要略大于一次典型交汇所需的时间。

12.为什么说多级反馈队列调度算法能比较好地满足各方面用户的需求?
多级反馈队列算法每个队列可以设置不同的调度算法,使得短进程在第一队列完成,而长队列也得到了处理,不会出现长时间得不到处理现象。

13.为什么在实时系统中要求系统(尤其是CPU)具有具有较强的处理能力?
在实时系统中,若同一时间段要完成的任务多,就会造成处理机来不及处理,任务完不成造成灾难性后果。

14.按照调度方式可将实时调度算法分为哪几种?
抢占式和非抢占式。

15.实时系统常用的调度算法有哪些?请分别介绍它们。
1)最早截止时间:截止时间越早,优先级越高,可以是抢占式,也可以是非抢占式;
2)最低松弛度优先:截止时间减去当前时间,减去所需时间为松弛度,松弛度越低优先级越高,松弛度为0,优先级最高。

16.在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法?
1)批处理系统:先来先服务,短进程优先,优先级调度。
2)分时系统:只有轮转。
3)实时系统:轮转和优先级调度算法。

17.什么是死锁?产生死锁的原因和必要条件是什么?如何预防死锁?
1)死锁是多个进程持有别的进程需要的资源而自己无法获得需要的资源而处于僵持阻塞状态。
2)不可剥夺,请求与保持,互斥访问,循环等待。
3)破坏死锁产生的四个条件。

18.在解决死锁问题的几个方法中,哪个方法最易于实现?哪个方法可使资源利用率最高?
预防死锁;避免死锁

二、 计算题
19.有5个进程需要调度执行,若采用非抢占式优先级(短进程优先)调度算法,问这5个进程的平均周转时间是多少?

表3-2 进程执行时间表
在这里插入图片描述
在这里插入图片描述

20.假定要在一台处理机上执行表3-3所示的作业,且假定这些作业在时刻0以1,2,3,4,5的顺序到达。请说明分别采用FCFS、RR(时间片为1)、SJF机非抢占式优先级调度算法时,这些作业的执行情况(优先级的高低顺序依次为1到5)。针对上述每种调度算法,给出平均周转时间和平均带权周转时间。

表3-3 作业执行时间表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

21.将一组进程分为4类,如图3-23所示。各类进程之间采用优先级调度算法,而各类进程的内部采用RR调度算法。

图3-23 进程分类图
在这里插入图片描述

请简述P1,P2,P3,P4,P5,P6,P7,P8进程的调度过程。

优先级4进程内部的P1P2P3进程先使用时间片轮转算法先运行完,然后以此运行剩余优先级内部进程。

22.由5个进程组成进程集合P={P0,P1,P2,P3,P4},且系统中有3类资源A,B,C,假设在某时刻有表3-4的进程资源分配情况。
请问当x,y,z取下列值时,系统是否处于安全状态?

表3-4 进程资源分配情况
在这里插入图片描述

(1) 1,4,0; (2) 0,6,2; (3) 1,1,1; (4) 0,4,7。
(1)安全; (2)不安全; (3)不安全; (4)不安全

由于权保护的原因,无法提供具体的百度云链接来下载《计算机操作系统》( 汤小丹 人民邮电出社)第三章处理机调度与死锁的课后答案[^1]。 不过可以建议一些合法获取帮助的方法: - **官方渠道购买正教材附带资源**:许多出社会为教师和学生提供配套的教学资料,包括习解答指南等。 - **在线学习平台**:像中国大学MOOC这样的平台上可能有关于这本教材的相关程,其中会包含详细的讲解以及部分习解析。 - **图书馆或学校资源库**:很多高校都有自己的电子资源库,里面或许能找到所需的参考资料。 为了更好地理解和掌握该章节的内容,可以从以下几个方面入手: ### 关键概念理解 深入研究处理机调度算法及其特点,比如先来先服务(FCFS)、短作业优先(SJF)、轮转法(RR)等,并对比不同算法之间的优劣之处。 ```python def fcfs_scheduling(processes): """模拟先来先服务调度""" processes.sort(key=lambda p: p['arrival_time']) current_time = 0 for process in processes: start_time = max(current_time, process['arrival_time']) end_time = start_time + process['burst_time'] print(f"Process {process['id']} starts at {start_time} and ends at {end_time}") current_time = end_time ``` ### 死锁定理分析 熟悉银行家算法用于预防死锁的发生机制,通过安全序列判断系统状态的安全性。 ### 实践练习 尝试自己编写简单的程序去实现上述提到的各种调度策略并测试其性能表现;也可以利用开源项目中的案例来进行更深层次的学习。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请你喝杯Java⁡

感谢您的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值