操作系统习题第三章答案
- 格式:doc
- 大小:46.00 KB
- 文档页数:4
第3章 处理器管理
一、单项选择题
1.C 2.C 3.C 4.C 5.D 6.D 7.D 8.B 9.B 10.D
11.A 12.D 13.C 14.B 15.D
二、改错题
1. 错 [分析]根据定义:一个程序在一个数据集上的一次执行称为一个进程。因而,进程是一个动态的概念,是程序的一次执行过程。由于程序是可以多次执行的,故进程与程序并非是—一对应的,不同的程序执行时一定构成不同的进程,同一个程序在不同的数据集上执行时也构成不同的进程,能分别得到不同的结果。可见,本题中的结论:“不同的进程一定对应不同的程序”是错误的。正确的说法应该是:“不同的进程可以对应相同的程序”。
[题解]一个程序在一个数据集上的一次执行称为一个进程,不同的进程可以对应相同的程序。
2.错 [分析]进程有三种基本状态:等待态、就绪态、运行态。当为了完成某种功能或请求某种服务时就需要创建进程,由于对每个处理器来说,任何时刻最多只允许一个进程运行,因而被创建的进程什么时候能占用处理器运行取决于进程调度,即必须等待系统分配处理器后才能运行,这种等待分配处理器的状态被定义为就绪态。所谓等待态是指进程运行过程中发生了事件,且进程必须等待某个事件的完成。可见,本题中“被创建进程的初始状态为等待态”的说法是错误的,正确的说法应该是“就绪态”。
[题解]一个被创建的进程,它的初始状态应该为就绪态。
3.错 [分析]创建一个进程是指为一个程序分配一个工作区和建立一个进程控制块,对同一个程序分配了另一个工作区和建立了另一个进程控制块,则又创建了一个新进程,故一个程序可以对应多个进程。一个进程的消亡是指一个程序在某个数据集上的一次执行结束,但一个程序可以同时在多个数据集上执行构成多个进程,其中任何一个进程的消亡不应影响其它进程的执行。因而,一个进程消亡时只能删除分配给该进程的工作区和为它建立的进程控制块,绝不能删除它对应的程序。
[题解]每一个进程都有一个从创建到消亡的生命周期,创建一个进程是指为一个程序分配一个工作区和建立一个进程控制块,因而,一个进程消亡时应删除它的工作区和进程控制块。
4.错 [分析]一个处理器在任何时刻只能为一个进程服务,当处理器空闲时由进程调度从就绪队列中选择一个进程去占有处理器运行。如果某个时刻处理器空闲,恰好就绪队列又为空(无就绪进程),那么进程调度就选不到可以运行的进程,这时处理器就无进程占用而保持空闲,直到有进程就绪且被选中运行。因而,本题中“任何时刻至少有一个进程占有处理器运行”的说法是错的,而应改成“任何时刻最多有一个进程占有处理器运行”。
[题解]对每个处理器来说,任何时刻最多有一个进程占有处理器运行。
三、填空题
1.进程 2.就绪、运行、等待 3.运行 4.就绪 5.进程控制块 6.创建、撤销 7.进程控制块 8.就绪、运行 9.中断装置、操作系统 10.访管
11.中断响应 12.就绪 13.可抢占的优先级高者优先 14.就绪 15.等待
16.进程切换 17. 出现的中断事件 18.高级调度、按照某种原则从后备作业队列中选取作业 19. I/O忙、CPU忙 20.
1 _4__3__2
四、问答题
1.答:作业调度算法:1、先来先服务算法;2、短作业优先算法;3、最高响应比作业优先算法;4、优先数算法;5、循环轮转算法;6、多级反馈队列算法等等
对算法的选择要考虑三个目标:
1) 尽量提高系统的作业吞吐量,即每天处理尽可能多的作业;
2) 尽量使CPU和外部设备保持忙碌状态,以提高资源利用率;
3) 对各种作业公平合理,使用有用户都满意。
2. 答:作业状态有:提交;后备;运行;完成
提交状态:作业信息正在从输入设备上预输入到输入进,此时称作业的提交状态;
后备状态:当作业的全部信息都已输入,且由操作系统将其存放在输入进中,并为作业建立一个JCB,此时称作业处理后备状态;
运行状态:一个后备作业被作业调程序选中,分配了必要的资源,调入内存运行,称作业处理运行状态。
完成状态:当作业正常运行完毕或因发生错误非正常终止时,作业进入完成状态。
3. 作业调度和进程调度属于处理机管理。处理机调度是操作系统的主要功能之一,它的实现策略决定了操作系统的类型,其调度算法的优劣直接影响整个系统的性能。处理机调度的任务是选出待分派的作业或进程,为之分配处理机。一般来说,处理机调度可分为三个级别,分别是高级调度、中级调度和低级调度。
高级调度又称作业调度,作业就是用户程序及其所需的数据和命令的集合,作业管理就是对作业的执行情况进行系统管理的程序的集合。作业调度程序的主要功能是审查系统是否能满足用户作业的资源要求以及按照一定的算法来选取作业。
引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量,使得暂时不运行的进程从内存对换到外存上。
低级调度又称进程调度,其主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。进程调度是操作系统中最基本的一种调度,其调度策略的优劣直接影响整个系统的性能。
4.解:1)FCFS算法作业的执行顺序:1-2-3-4
作业号 提交时间 执行时间 完成时间 周转时间 带权周转时间
1 10.0 2.0 ` 12.0 2 1
2 10.2 1.0 13.0 2.8 2.8
3 10.4 0.5 13.5 3.1 6.2
4 10.5 0.3 13.8 3.3 11
平均周转时间T=(2+2.8+3.1+3.3)/4=2.8
平均带权周转时间W=(1+2.8+6.2+11)/4=5.25
2)SJF算法作业的执行顺序:1-4-3-2
作业号 提交时间 执行时间 完成时间 周转时间 带权周转时间
1 10.0 2.0 ` 12.0 2 1 2 10.2 1.0 13.8 3.6 3.6
3 10.4 0.5 12.8 2.4 4.8
4 10.5 0.3 12.3 1.8 6
平均周转时间T=(2+3.6+2.4+1.8)/4=2.45
平均带权周转时间W=(1+3.6+4.8+6)/4=3.85
5. (1)选中进程运行的次序如下:
先来先服务算法:P1、P2、P3、P4、P5
非抢占式的优先级算法:P4、P1、P3、P5、P2
(2)先来先服务算法:
进程号 执行时间 完成时间 等待时间
P1 10 10 0
P2 1 11 10
P3 2 13 11
P4 1 14 13
P5 5 19 14
非抢占式的优先级算法:
进程号 执行时间 完成时间 等待时间
P1 10 11 1
P2 1 19 18
P3 2 13 11
P4 1 1 0
P5 5 18 13
进程在就绪队列中的平均等待时间为:
先来先服务算法:(0+10+11+13+14)/5=9.6(ms)
非抢占式的优先级算法:(1+18+11+0+13)/5=8.6(ms)
6. 答:A: 10:00----10:20-----10:50------11:10
B: 10:20----10:50
D 10:50-----11:10----12:00-----12:20
C: 11:10-----12:00
作业名 到达时间 估计运行时间 优先数 进入时间 结束时间 周转时间(分)
A 10:00 40分 5 10:00 11:10 70
B 10:20 30分 3 10:20 10:50 30
C 10:30 50分 4 11:10 12:00 90
D 10:50 20分 6 10:50 12:20 90
_
T=(70+30+90+90)/4=70(分钟)
7. (1)先列出进程P1、P2、P3的工作时间表:
故进程P1从开始到完成所用的时间为100ms;
进程P2从开始到完成所用的时间为90ms;
进程P3从开始到完成所用的时间为90ms。
(2)三个进程从开始到全部完成总共需100ms的时间,其中CPU和IO1的工作时间均为70ms,故它们的利用率都是70%。