第三章 作业参考答案

  • 格式:pdf
  • 大小:393.56 KB
  • 文档页数:5

第三章作业
一、5个批处理作业A到E均已到达计算中心,其运行时间分别2、4、6、8和10分钟;各自的优先级分别被规定为1、2、3、4和5,这里5为最高级。

对于1)时间片轮转算法、2)优先数法、3)短作业优先算法、4)先来先服务调度算法(按到达次序C、D、B、E、A),在忽略进程切换时间的前提下,计算出平均作业周转时间。

(对1)每个作业获得相同的2分钟长的时间片;对2)到4)采用单道运行,直到结束。


答:(1)FCFS调度算法
(2)优先级调度算法
(3)时间片轮转法
(4)SJF调度算法
二、有一个四道作业的操作系统,若在一段时间内先后到达6个作业,它们的提交和估计运行时间由下表给出:
作业提交时间估计运行时间(分钟)
1 8:00 60
2 8:20 35
3 8:25 20
4 8:30 25
5 8:35 5
6 8:40 10
系统采用SJF调度算法,作业被调度进入系统后中途不会退出,但作业运行时可被更短作业抢占。

(1)分别给出6个作业的执行时间序列、即开始执行时间、作业完成时间、作业周转时间。

(2)计算平均作业周转时间。

答:
作业提交需运行开始运行被抢占还完成周转
号时间时间时间需运行时间时间时间
J1 8:00 60 8:00 40 10:35 155
J2 8:20 35 8:20 30 9:55 95
J3 8:25 20 8:25 8:45 20
J4 8:30 25 9:00 25 9:25 55
J5 8:35 5 8:45 8:50 15
J6 8:40 10 8:50 9:00 20
说明:
1)J2到达时抢占J1;J3到达时抢占J2。

2)但J4到达时,因不满足SJF,故J4不能被运行,J3继续执行5分钟。

3)由于是4道的作业系统,故后面作业不能进入主存而在后备队列等待,直到有作
业结束。

4)根据进程调度可抢占原则,J3第一个做完。

而这时J5、J6均己进入后备队列,而
J5可进入主存。

5)因J5最短,故它第二个完成。

这时J6方可进入主存。

因J6最短,故它第三个完
成。

6)然后是:J4、J2和J1
7)T=(155+95+20+55+15+20)/6=60
三、如果在限制为2道的多道程序系统中,有四道作业进入系统的时间、估计运行时间如下表。

系统采用SJF作业调度算法,采用SRTF进程调度算法,请填充下表:
四、系统有A、B、C、D共4种资源,在某时刻进程P0、P1、P2、P3和P4对资源的占有和需求情况如表,试解答下列问题:
(1)系统此时处于安全状态吗?
(2)若此时P2发出request2(1、2、2、2),系统能分配资源给它吗?为什么?
答:(1)系统处于安全状态,存在安全序列:P0,P3,P4,P1,P2。

(2)不能分配,否则系统会处于不安全状态。

五、考虑一个共有150个存储单元的系统,如下分配给三个进程,P1最大需求70,己占有25;P2最大需求60,己占有40;P3最大需求60,己占有45。

使用银行家算法,以确定下面的任何一个请求是否安全。

(1)P4进程到达,P4最大需求60,最初请求25个。

(2)P4进程到达,P4最大需求60,最初请求35。

如果安全,找出安全序列;如果不安全,给出结果分配情况。

答:
1.由于系统目前还有150-25-40-45=40个单元,P4进程到达,把25个单元分给它。

这时系统还余15个单元,可把15个单元分给P3,它执行完后会释放60个单元。

于是可供P1(还要45个单元),P2(还要20个单元),P4(还要35个单元)任何一个执行。

安全序列为:
P1,P2,P3,P4,P3,P1,P2,P4
P1,P2,P3,P4,P3,P1,P4,P2
P1,P2,P3,P4,P3,P2,P1,P4
P1,P2,P3,P4,P3,P2,P4,P1
P1,P2,P3,P4,P3,P4,P1,P2
P1,P2,P3,P4,P3,P4,P2,P1
2.P4进程到达,P4最大需求60,最初请求35。

如果把35个单元分给P4,系统还余
5个单元,不再能满足任何一个进程的需求,系统进入不安全状态。

六、叙述剥夺式和非剥夺式调度策略之间的区别,解释为什么在分时系统中不可能使用严格的非剥夺式调度策略。

解:剥夺式调度策略允许中断一个正在执行的进程,并抢占它所占有的CPU,把CPU分配给另一进程。

非剥夺式策略确保一进程仅当它完成了自己当前所占用的CPU时间片后才释放CPU。

非剥夺式调度策略不适用于分时系统,因为它不能保证每个用户在固定的时间间隔内共享CPU。

非剥夺式调度策略允许程序无限期地运行下去,这样就延误了其他已提交作业的轮转时间(响应时间)。

七、什么是作业调度以及进程调度?两者的关系如何?它们有什么区别?
答:作业调度是从输入井选择可以装入主存储器的作业。

作业调度选中作
业并把它装入主存时,就为该作业创建了一个进程。

进程调度是从进程队列中选择当前可占用处理器的进程。

作业调度使作业进入主存储器,进程调度使作业进程占用处理器,两者的
配合能实现多道作业的同时执行。

(课本P168图,略)
作业调度是指按某种算法把处于后备状态的作业中的一个或一批调到主机
上运行,调度的关键是确定好的算法,以提高系统的吞吐量、资源的利用率,缩短作业的周转时间。

而进程调度的主要任务是选择一个合适的进程占据CPU。

进程调度程序是按一定的策略,动态把CPU分配给处于就绪队列中的某一个进程,使其执行。

作业调度是进程调度的前提,所以有时也把作业调度称为宏观调度(高级调度),进程调度称为微观调度(低级调度)。

八、一台计算机有8台磁带机。

它们由N个进程竞争使用,每一个进程可能需要3台磁带机。

请问N为多少时,系统没有死锁的危险,并说明其原因。

答:N为3时,系统没有死锁的危险。

因为此时系统不满足死锁的条件,即有足够的资源供某一个进程先执行完成,不会形成循环等待情况。