操作系统第三章
- 格式:ppt
- 大小:432.50 KB
- 文档页数:34


第3章处理机调度“练习与思考”解答1.基本概念和术语调度、作业调度、进程调度、吞吐量、周转时间、带权周转时间、中断调度就是选出待分派的作业或进程。
作业调度就是根据一定的算法,从输入的一批作业中选出若干个作业,分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入、输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作业完成后作善后处理工作。
进程调度就是根据一定的算法将CPU分派给就绪队列中的一个进程。
吞吐量:单位时间内CPU完成作业的数量。
周转时间:从作业提交到作业完成的时间间隔。
带权周转时间:定义为作业的周转时间除以其实际运行时间。
中断是指CPU对系统发生的某个事件做出的一种反应,它使CPU暂停正在执行的程序,保留现场后自动执行相应的处理程序,处理该事件后,如被中断进程的优先级最高,则返回断点继续执行被“打断”的程序。
2.基本原理和技术(1)处理机调度的主要目的是什么?处理机调度的主要目的就是为了分配处理机。
(2)高级调度与低级调度的主要功能是什么?为什么要引入中级调度?高级调度的主要功能是根据一定的算法,从输入的一批作业中选出若干个作业,分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入、输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作业完成后作善后处理工作。
低级调度的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。
为了使内存中同时存放的进程数目不至于太多,有时就需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。
(3)作业在其存在过程中分为哪四种状态?作业在其存在过程中分为提交、后备、执行和完成四种状态。
(4)在操作系统中,引起进程调度的主要因素有哪些?在操作系统中,引起进程调度的主要因素有:正在运行的进程完成任务,或等待资源,或运行到时;核心处理完中断或陷入事件后,发现系统中“重新调度”标志被置上。
操作系统第三章总复习题一、单选题1、进程调度又称低级调度,其主要功能是( D )。
A.选择一个作业调入内存B.选择一个主存中的进程调出到外存C.选择一个外存中的进程调入到主存D.将一个就绪的进程投入到运行2、若进程P一旦被唤醒就能够投入运行,系统可能为( D )。
A.分时系统,进程P的优先级最高B.抢占调度方式,就绪队列上的所有进程的优先级皆比P的低C.就绪队列为空队列D.抢占调度方式,P的优先级高于当期运行的进程。
3、一个进程P被唤醒后,( D )。
A.P就占有了CPU。
B.P的PCB被移到就绪队列的队首。
C.P的优先级肯定最高D.P的状态变成就绪4、若当期运行进程( C )后,系统将会执行进程调度原语。
A 执行了一个转移指令B 要求增加主存空间,经系统调用银行家算法进行测算认为是安全的。
C 执行了一条I/O指令要求输入数据。
D 执行程序期间发生了I/O完成中断。
5、当系统中( C )时,系统将不会执行进程调度原语。
A.一个新进程被创建B.当前进程执行了P操作。
C.在非抢占调度中,进程A正在运行而进程B恰好被唤醒。
D.分时系统中时间片用完。
6、在分时系统中,若当期运行的进程连续获得了两个时间片,原因可能是( B )。
A 该进程的优先级最高B 就绪队列为空C 该进程最早进入就绪队列D 该进程是一个短进程7、实时系统中采用的调度算法可以有如下几种:1、非抢占优先权调度算法2、立即抢占优先权调度算法3、时间片轮转调度算法4、基于时钟中断抢占的优先权调度算法按实时要求的严格程度由低到高的顺序( B )。
A 1-3-2-4B 3-1-4-2C 3-1-2-4D 1-3-4-28、三种主要类型的OS 中都必须配置的调度( C )。
A 作业调度B 中级调度C 低级调度D I/O调度9、设系统中n 个进程并发,共同竞争资源X,且每个进程都需要m个X资源,为使该系统不会发生死锁,资源X最少要有( C )个。
A m*n+1B n*m+nC n*m+1-nD 无法预计注:可以这样理解N个进程,都需要M个资源,最坏的一种情况是:每个进程都占有M-1个资源,都得不到M个资源,总共资源数(m-1)*n。
第三章死锁作业答案1,3,9,11,13,14, 161.什么是死锁?试举出一个生活中发生死锁的例子。
参考答案:所谓死锁,是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。
(也可以是:多个进程因竞争资源而造成的一种僵局,若无外力作用这些进程都将永远不能再向前推进。
)举例:1)书中例子“两辆汽车过窄桥发生冲突”2)公共汽车到站,车上的人要下车,车下的人要上车,挤在车门口。
结果是车上的人下不来,车下的人上不去。
3. 发生死锁的四个必要条件是什么?参考答案:发生死锁的四个必要条件是:互斥条件、占有且等待条件、不可抢占条件和循环等待条件。
9. 设想有一条带闸门的运河,其上有两座吊桥,它们在一条公路上,运河和公路的交通都是单方向的。
河上的交通工具是轮船。
当轮船距A桥100m时就鸣笛警告,若桥上无车辆,吊桥就吊起,直至轮船尾部过桥为止。
对吊桥B也做同样处理。
设轮船的长度为200m。
车辆和轮船任意前进时,是否会发生死锁?若会,说明理由。
怎样发现?并请提出一种防止死锁的办法。
参考答案:会产生死锁。
当轮船距A桥100m时鸣笛警告,此时若桥上无车辆,吊桥就吊起,但是B桥上有车辆,而且由于A桥吊起,车辆无法前进,B桥上的车辆无法下桥。
于是,轮船和车辆都不能前进,造成死锁现象。
一种防止死锁的办法是:当轮船距A桥100m时就鸣笛警告,车辆不能再上B桥。
当B桥上无车辆时,就吊起B 桥;然后,当A桥上无车辆,则吊起A桥。
轮船通过A桥和B桥后,两个吊桥放下,车辆可以通行。
(该方法相当于资源有序分配,也可以采用资源预分配策略,即同时吊起A、B两桥的方法,资源利用率相对较低。
)11. 死锁和“饥饿”之间的主要差别是什么?参考答案:①处于死锁状态的进程都占有一定的资源,而处于饥饿状态的进程永远都得不到所申请的资源②死锁是一种僵局,在无外力干预下,处于死锁状态的全部进程都不能前进,即它们都处于阻塞态,可能造成整个系统瘫痪;而出现饥饿时系统照常运行,只是某个或某几个进程永远也不能得到所需的全部服务③造成死锁的根本原因是资源有限且使用不当;而造成饥饿的原因是资源分配策略或调度策略不合适,如果采用先来先服务的资源分配策略就可以避免饥饿。