计算机操作系统原理第三章习题

计算机操作系统原理第三章习题

1.高级调度与低级调度的主要任务是什么? 为什么要引入中级调度?

2.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?

3.试比较FCFS和SPF两种进程调度算法。

4.在时间片轮转法中,应如何确定时间片的大小?

5.何谓死锁? 产生死锁的原因和必要条件是什么?

6.解决死锁的方法有哪些?

7.实时系统中采用的调度算法可以有如下几种:

8.设有4个作业J1,J2,J3,J4.它们的到达时间和要求服务时间如下表所示。若这4个作业在—台处理机上按单道方式运行,采用响应比高者优先调度算法。

9.有一个具有两道作业的批处理系统,作业调度采用短作业优先调度算法,进程调度采用以优先数为基础的抢占式调度算法,作业优先数也是进程优先数,优先数越小则优先级越高。详细情况见下表所示:

10.在银行家算法中,若出现下述资源分配情况,试问:

1.高级调度与低级调度的主要任务是什么? 为什么要引入中级调度?

答:高级调度的主要任务:用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程插入就绪队列上。
低级调度的主要任务:用于决定就绪队列中的哪个进程应获得处理机,然后再由调度分派程
序执行将处理机分配给该进程的具体操作。
引入中级调度的主要目的:是为了提高系统资源的利用率和系统吞吐量。

2.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?

答:作业调度每次要接纳多少个作业进入内存,取决于多道程序度,即允许多少个作业同时在内存中运行。多道程序度的确定应根据系统的规模和运行速度等情况做适当的折衷。
接纳哪些作业取决于所采用的作业调度算法。不同的算法满足用户对OS不同的需求。

3.试比较FCFS和SPF两种进程调度算法。

答:相同点:两种调度算法都可用于作业调度与进程调度 
不同点:
FCFS调度算法每次都从就绪队列中选择一个最先进入系统的进程,分配CPU让它运行。该算法有利于长进程,不利于短进程。
SPF算法每次都从就绪队列中选择一个运行时间最短的进程,将CPU分配给它运行。该算法有利于短进程,不利于长进程。

4.在时间片轮转法中,应如何确定时间片的大小?

答:时间片应略大于一次典型的交互需要的时间。
一般因考虑三个因素:系统对应时间的要求、就绪队列中进程的数目和系统的处理能力。

5.何谓死锁? 产生死锁的原因和必要条件是什么?

答:死锁:指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。
原因:竞争资源和进程间推进非法。
必要条件:互斥条件、请求和保持条件、不剥夺条件、环路等待条件。

6.解决死锁的方法有哪些?

答:预防死锁:破坏死锁的四个必要条件中的一个或多个来预防死锁。
避免死锁:和预防死锁的区别就是,在资源动态分配过程中,用某种方式防止系统进入不安全的状态。
检测死锁:系统不设置任何死锁防止措施。系统提供一种机制,当运行进程出现死锁时,能及时发现死锁。
解除死锁:检测到系统发生死锁后,通过某种措施把死锁进程从死锁状态解除出来。

7.实时系统中采用的调度算法可以有如下几种:

1)非抢占优先权调度算法。
2)立即抢占的优先权调度算法。
3)时间片轮转调度算法。
4)基于时钟中断抢占的优先权调度算法、
按实时要求的严格程度由低到高的顺序是什么,请写出分析过程。
答:由低到高为:3-1-4-2。
时间片轮转调度算法:当实时进程到达后,系统将其排在就绪队列最后,每个进程依次运行一个时间片,当进程数较多的情况下,轮道实时进程运行需要经过若干进程,而运行结束则需要若干轮,因此其实时性最低。
非抢占式优先权调度算法:对实时进程可以赋以最高优先级,因此当实时进程到达时,该实时进程等待时间只是当前在CPU上运行进程的剩余时间,一旦当前进程运行结束,实时进程可以马上运行直到运行结束,故实时性要求较低。因此,该调度算法可以满足一定实时性的任务。
基于时钟中断的抢占式优先权调度算法:实时任务到达后,如果该任务的优先级别高于当前任务的优先级并不立即抢占当前任务的处理机,而是等到时钟中断到来时,调度程序才剥夺当前任务的执行,将处理机分配给新到的高优先权任务,故实时性要求较高。
抢占式优先权调度算法中,系统同样把处理机分配给优先权最高的进程,使之执行。但在其执行期间,只要就绪队列中出现了另一个优先权更高的进程,进程调度程序就立即停止当前进程运行的执行,重新将处理机分配给新到的优先权最高的进程,故实时性要求最高。

8.设有4个作业J1,J2,J3,J4.它们的到达时间和要求服务时间如下表所示。若这4个作业在—台处理机上按单道方式运行,采用响应比高者优先调度算法。

1)试写出各作业的执行顺序;
2)求各作业的周转时间及平均周转时间。
3)求各作业的带权周转时间及平均带权周转时间。
在这里插入图片描述
(1) 作业运行顺序:J1-J3-J2-J4
(2) 计算周转时间及平均周转时间
平均周转时间=(120+155+85+125)/4=121.25
在这里插入图片描述
(3) 求各作业的带权周转时间及平均带权周转时间。
平均带权周转时间=(1+3.88+3.4+4.17)/4=3.11

9.有一个具有两道作业的批处理系统,作业调度采用短作业优先调度算法,进程调度采用以优先数为基础的抢占式调度算法,作业优先数也是进程优先数,优先数越小则优先级越高。详细情况见下表所示:

在这里插入图片描述问:
(1)列出所有作业进入内存的时刻及结束时刻。
(2)计算作业的平均周转时间。
答:(1)
在这里插入图片描述
(2)平均周转时间=(70+30+90+90)/4=70分钟

10.在银行家算法中,若出现下述资源分配情况,试问:

在这里插入图片描述

(1) 该状态是否安全?
(2) 若进程P2提出请求Request(1, 2, 2, 2)后,系统能否将资源分配给它?
答:(1)P0时刻安全性检查:
在这里插入图片描述
P0时刻系统安全,有安全序列P0,P3,P4,P1,P2

(2) 按银行家算法检查P2提出的请求Request(1, 2, 2, 2):
Request(1, 2, 2, 2)<Need(2, 3, 5, 6),故P2的请求是合理的
Request(1, 2, 2, 2)<Available(1, 6, 2, 2),故P2的请求合法
此时新的资源分配情况如下:
在这里插入图片描述
此时可用资源Available(0,4,0,0)已经不能满足任何进程的需要,所以不能将资源分配给P2。

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、实验目的 本实验要求学生模拟作业调度的实现,用高级语言编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解。 二、实验内容和要求 1、编写并调度一个多道程序系统的作业调度模拟程序。   作业调度算法:采用基于先来先服务的调度算法。可以参考课本中的方法进行设计。 对于多道程序系统,要假定系统中具有的各种资源及数量、调度作业时必须考虑到每个作业的资源要求。 三、实验主要仪器设备和材料 硬件环境:IBM-PC或兼容机 软件环境:C语言编程环境 四、实验原理及设计方案 采用多道程序设计方法的操作系统,在系统中要经常保留多个运行的作业,以提高系统效率。作业调度从系统已接纳的暂存在输入井中的一批作业中挑选出若干个可运行的作业,并为这些被选中的作业分配所需的系统资源。对被选中运行的作业必须按照它们各自的作业说明书规定的步骤进行控制。 采用先来先服务算法算法模拟设计作业调度程序。 (1)、作业调度程序负责从输入井选择若干个作业进入主存,为它们分配必要的资源,当它们能够被进程调度选中时,就可占用处理器运行。作业调度选择一个作业的必要条件是系统中现有的尚未分配的资源可满足该作业的资源要求。但有时系统中现有的尚未分配的资源既可满足某个作业的要求也可满足其它一些作业的要求,那么,作业调度必须按一定的算法在这些作业中作出选择。先来先服务算法是按照作业进入输入井的先后次序来挑选作业,先进入输入井的作业优先被挑选,当系统中现有的尚未分配的资源不能满足先进入输入井的作业时,那么顺序挑选后面的作业。 (2) 假定某系统可供用户使用的主存空间共100k,并有5台磁带机。 3)流程图:

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

无奈清风吹过

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值