操作系统第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)不能满足任何进程的需要。因此系统处于不安全状态。不能分配。