操作系统第3章参考答案

  • 格式:doc
  • 大小:45.00 KB
  • 文档页数:5

第3章 作业参考答案

1、高级调度的任务是:将外存上处于后备队列的作业调入内存,并为他们创建必要的进程与分配资源。然后将进程插入就绪队列中。高级调度主要涉及两个问题: (1)每次调度多少个作业进入内存,(2)怎样选择作业(怎样调度)。低级调度的任务是:指决定就绪队列中哪些进程应获得处理机。这是OS的核心调度,所有操作系统都必须有这种调度。通常采用两方式—非强占方式与强占方式。

在一个OS中如何选择方式与调度算法,在很大程度上取决于OS的目标。但总体而言可分为两类—面向用户与面向系统的原则

面向用户的原则:主要考虑用户的需求,如周转时间、响应时间、截止时间、优先权原则。面向系统的原则:主要考虑系统的需求,如系统的吞吐量、处理机利用率、各类资源的平均利用率等

注(周转时间:周转时间是衡量批处理系统的调度算法的重要指标。周转时间:指作业从提交开始到完成所需要的时间。包括:作业在外存后备队列上等待调度的时间、进程在就绪队列上等待进程调度的时间、进程在CPU上的执行时间、进程等待I/O操作完成的时间。

•注意:我们所讲的周转时间是指系统的平均周转时间,而不是单个作业的周转时间。

•平均周转时间:T=(T1+T2+…Tn)/n。

•带权平均周转时间:

•响应时间:响应时间是衡量分时系统的重要指标。响应时间—从用户通过键盘提交一个请求开始,到屏幕上显示结果为止的这段时间。包括:从键盘输入的请求信息到CPU的时间,CPU对请求的处理时间、以及信息回送到显示器的时间。

•截止时间:是评价实时系统的重要指标。截止时间:是指某任务必须开始执行的最迟时间必须完成的最迟时间。

•优先权原则:在所有的OS中,都应有一定的优先权原则,--强占式调度。系统的吞吐量:是衡量批处理系统的重要指标。系统的吞吐量—单位时间内系统完成的作业数。

处理机利用率:这对大中型多用户系统很重要,因此CPU价格昂贵(特别是大型计算机),因此这也是衡量大型机与系统的重要指标。对微机系统就不重要了。

各类资源的平均利用率:在大中型系统中,不能只考虑CPU的利用率,还必须有效利用其它资源(如:内存、外存、I/O等)。对微机不重要。)

可剥夺式(可抢占式Preemptive)与不可剥夺式(不可抢占式

Non-preemptive )

(注:可剥夺式(可抢占式Preemptive):当有比正在运行的进程优先级更高的进程就绪时,系统可强行剥夺正在运行进程的CPU,提供给具有更高优先级的进程使用

不可剥夺式(不可抢占式 Non-preemptive ):某一进程被调度运行后,除非由于它自身的原因不能运行,否则一直运行下去) 16.死锁:在多道程序中多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处理这种僵局时,若无外力作用,他们将无法再执行下去。

19、(1)按照安全性算法

a:先初始化:

Process Allocation Need Available Finish

P0 0 0 3 2 0 0 1 2 1 6 2 2 F

P1 1 0 0 0 1 7 5 0 F

P2 1 3 5 4 2 3 5 6 F

P3 0 0 3 2 0 6 5 2 F

P4 0 0 1 4 0 6 5 6 F

b: 寻找满足:Finish=f,Need<=Available 的进程,可知P0满足。因此,P0在获得分配后,必须释放它所占有的资源。

Process Allocation Need Available Finish

P0 0 0 3 2 0 0 1 2 1 6 5 4 T

P1 1 0 0 0 1 7 5 0 F

P2 1 3 5 4 2 3 5 6 F

P3 0 0 3 2 0 6 5 2 F

P4 0 0 1 4 0 6 5 6 F

c: 寻找满足:Finish=f,Need<=Available 的进程,可知P3满足。因此,P3在获得分配后,必须释放它所占有的资源。

Process Allocation Need Available Finish

P0 0 0 3 2 0 0 1 2 1 6 8 6 T

P1 1 0 0 0 1 7 5 0 F

P2 1 3 5 4 2 3 5 6 F

P3 0 0 3 2 0 6 5 2 T

P4 0 0 1 4 0 6 5 6 F

d: 寻找满足:Finish=f,Need<=Available 的进程,可知P4满足。因此,P4在获得分配后,必须释放它所占有的资源。Process Allocation Need Available Finish

P0 0 0 3 2 0 0 1 2 1 6 9 10 T

P1 1 0 0 0 1 7 5 0 F

P2 1 3 5 4 2 3 5 6 F

P3 0 0 3 2 0 6 5 2 T

P4 0 0 1 4 0 6 5 6 T

e: 寻找满足:Finish=f,Need<=Available 的进程,可知P1满足。因此,P1在获得分配后,必须释放它所占有的资源。

Process Allocation Need Available Finish

P0 0 0 3 2 0 0 1 2 1 6 9 10 T

P1 1 0 0 0 1 7 5 0 F

P2 1 3 5 4 2 3 5 6 F

P3 0 0 3 2 0 6 5 2 T

P4 0 0 1 4 0 6 5 6 T 可知现在的可用资源不能满足P1、P2中任何一进程,因此该状态是不安全的。(2)因为(1,2,2,2)<(2,3,5,6) (1,2,2,2)<(1,6,2,2)

因此,可先进行分配,分配后系统处于下列状态

Process Allocation Need Available

P0 0 0 3 2 0 0 1 2 0 4 0 0

P1 1 0 0 0 1 7 5 0

P2 2 5 7 6 1 1 3 4

P3 0 0 3 2 0 6 5 2

P4 0 0 1 4 0 6 5 6

检查该状态是否安全

可知当前的可用资源(0 4 0 0)不能满足任何进程的需要。因此系统处于不安全状态。不能分配。