操作系统习题集------进程管理2021

上传人:氟**** 文档编号:196096365 上传时间:2021-09-16 格式:DOCX 页数:6 大小:36.96KB
返回 下载 相关 举报
操作系统习题集------进程管理2021_第1页
第1页 / 共6页
操作系统习题集------进程管理2021_第2页
第2页 / 共6页
操作系统习题集------进程管理2021_第3页
第3页 / 共6页
操作系统习题集------进程管理2021_第4页
第4页 / 共6页
操作系统习题集------进程管理2021_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《操作系统习题集------进程管理2021》由会员分享,可在线阅读,更多相关《操作系统习题集------进程管理2021(6页珍藏版)》请在金锄头文库上搜索。

1、习题集 - 2 -进程治理1. 在优先级调度中,类进程可能被“饿死”,即长时间得不到调度;A 短进程B 进步程C 低优先级进程D 大内存进程解: C ;优先级调度算法(PRI)的基本思想为:内核为每个进程给予一个优先级,进程依据优先级 的大小次序在就绪队列中排队, 内核将 CPU安排给就绪队列头部的第一个进程优先级最大的进程;因此,进程的优先级越低,在就绪队列中的排队位置就越靠近队列尾,获得运行之前的等待时间就越长;低优先级的进程必需等待全部高优先级进程运行终止后才会被调度运行;假如不断有高优先级的进程加入就绪队列,那么低优先级进程就会始终等待下去;这就为所谓的“饿死”现象;2. 在下面的系统

2、调用中,不会导致进程堵塞;7 / 28|精.|品.|可.|编.|辑.|学.|习.|资.|料.A 读/ 写文件B 获得进程 PIDC 申请内存D 发送消息解: B ;当正在执行的进程需要使用某种资源或等待某个大事时,假如资源已被其他进程占用或大事尚未显现,该进程不能获得所需的资源而无法连续运行,于为,进程将被堵塞;进程在堵塞状态中等待资源被释放,或等待大事的发生;所以,进程在执行系统调用时,假如需要使用某种资源,就可能导致进程堵塞;“读 / 写文件”需要使用设备和文件缓冲区;“申请内存”需要安排内存资源;“发送消息”需要使用消息缓冲区;3. 下面关于临界区的表达中,正确选项 A. 临界区可以答应

3、规定数目的多个进程同时执行B. 临界区只包含一个程序段C. 临界区为必需互斥地执行的程序段D. 临界区的执行不能被中断解: C ;临界段(临界区)的概念包括两个部分:临界资源:必需互斥拜访的资源;例如,需要 独占使用的硬件资源,多个进程共享的变量,结构,队列,栈,文件等软件资源;临界区:拜访临界资源的,必需互斥地执行的程序段;即,当一个进程在某个临界段中执行时,其他进程不能进入相同临界资源的任何临界段;4. 资源次序安排法破坏了死锁发生的 必要条件;A 互斥占用B 占有等待C 非剥夺D 循环等待解: D ;资源次序安排方法为:给系统中的每类资源给予一个自然数的序号,限制进程只能严格依据资源序号

4、由小到大的次序申请资源;该方法可以防止“循环等待”的情形发生;由于,如显现循环等待,就必会有进程在获得大序号资源后申请小序号资源;|精.|品.|可.|编.|辑.|学.|习.|资.|料.5. 假设某操作系统采纳 RR调度策略,安排给 A 类进程的时间片为 100 ms,安排给 B 类进程的时间片为 400 ms ,就绪进程队列的平均长度为5(包括正在运行的进程),其中A 类进程有 4 个, B类进程有 1 个,全部进程的平均服务时间为2 s ,问 A 类进程和 B 类进程的平均周转时间各为多少?(不考虑 IO 情形)解析: 时间片轮转调度( RR)为轮番地调度就绪队列中的每个进程,进程每次占用C

5、PU的时间长度限制为时间片的大小;当采纳固定的时间片大小时,每个进程依据固定周期被循环地执行;所以,进程的执行速度为由该进程的时间片大小在一个循环周期中所占的比例打算的,比例越高,进程的相对执行速度就越快;解: 由于就绪进程队列的平均长度为5,单个 RR调度循环周期的时间为41001400800 (ms)A 类进程需要 20 个时间片的执行时间, B 类进程需要 5 个时间片的执行时间( 1 s 1 000 ms );A 类进程的平均周转时间为200.8 16(s)B 类进程的平均周转时间为50.8=4(s)6. 某多道程序设计系统中配有一台处理器CPU和两台输入 / 输出设备 IO1,IO2

6、,现有优先级由高到低的 3 个进程 P1,P2,P3 同时存在,它们使用资源的先后次序和占用时间分别为: 进程 P1:IO2(30 ms) ,CPU(10 ms) , IO1(30 ms) , CPU(10 ms), IO2(10 ms) ;进程 P2:IO1(20 ms) ,CPU(20 ms) , IO1(40 ms) ;进程 P3:CPU(30 ms) ,IO2(20 ms) ;如进程调度采纳“可抢占的最高优先级”调度算法,且忽视调度等所需的时间,请回答以下问题:(1) 进程 P1,P2,P3 从开头到完成所用的时间分别为多少.( 要求用坐标画出进程P1,P2,P3 的工作过程,其中横坐

7、标表示时间,纵坐标表示CPU和 IO 设备;)(2) 这 3 个进程从开头到全部完成时CPU的利用率为多少 .IO1,IO2 的利用率为多少 .解析: 在“可抢占的最高优先级”调度中,任何时刻内核都将处理机安排给当前最高优先级的就绪进程;也就为说,只有当高优先级进程主动舍弃CPU时,低优先级进程才有机会运行,并且,一旦高优先级进程需要使用 CPU时,内核就会剥夺低优先级进程的CPU,安排给它使用;|精.|品.|可.|编.|辑.|学.|习.|资.|料.在此题中,由于进程P1 和 P2 在开头执行时先需要进行IO,所以最低优先级的进程P3 获得了 CPU;但为, P3 运行了 20 ms后就被 P

8、2 抢占了 CPU,由于 P2 刚好完成了 IO,并且 P2 的优先级大于P3;同样的缘由, P2 运行了 10 ms 后,就被 P1 抢占了 CPU;P1 在 CPU上运行 10 ms 之后再次需要进行 IO而舍弃 CPU,于为, P2,P1 获得连续运行的机会;以此方式,P1,P2 和 P3 相继完成自己的运行过程;解: 依据“可抢占的最高优先级”调度算法,画出进程P1,P2,P3 的工作过程 ( 见图 29) ;图 2.9 进程 P1,P2,P3进程 P1,P2,P3 从开头到完成所用的时间分别为90 ms,110 ms,80 ms ;这 3 个进程从开头到全部完成时的时间为 110 (

9、ms),在此期间内:CPU的利用率 (30+20+10+10)/110=63.6% IO1 的利用率 =(20+30+40)/110=81.8%IO2 的利用率 =(30+20+10)/110=54.5%7. 论述以下解决双进程临界区问题的软件算法为错误的;ProcessP0:do flag 0=true ; while(flag 1) ; 临界区|精.|品.|可.|编.|辑.|学.|习.|资.|料.flag 0=false ;while(1);ProcessP1do :flag 1=true ;while(flag 0) ;临界区flag 1=false ;while(1);解析:在算法中,

10、两个进程 P1 和 P2 各自拥有自己的标志牌flag 0和 flag 1;当进程需要进入临界区时,举起标志牌 (设置值为 true );然后观看对方为否举起标志牌,为就等待并连续观看 ( while 语句) , 直到对方放下标志牌(设置值为false );这时,进程才进入临界区;进程退出临界区时,放下标志牌(设置值为 false );解: 通过使用标志牌 flag 0和 flag 1,能够保证满意“互斥”条件;但为,当两个进程依据的次序执行程序时,它们各自举起了标志牌,同时都由于观看到对方也举起了标志牌而等待在while语句中;由于两个进程都不会放下自己的标志牌,因此都无法进入临界区,不能满

11、意“有限等待”的条件;所以,上述解决双进程临界区问题的算法为错误的;8. 以下解决双进程拜访共享变量count 的程序为否存在错误?试用信号量实现;Share :count=0 ;Int: flag2;cobeginProcess P0:do flag0=true;while(flag1);|精.|品.|可.|编.|辑.|学.|习.|资.|料.count=count+1;flag0=false;while(1)Process P1;:do flag1=truewhile(flag0);count=count+1;flag1=false;while(1);coend解: 在上述程序中,拜访共享变

12、量的语句count=count+1构成临界区;两个进程P0和 P1 各自拥有自己的标志牌 flag0和 flag1;当进程需要进入临界区时,举起标志牌(设置值为true );然后观看对方为否举起标志牌,为就等待并连续观看(while语句),直到对方放下标志牌(设置值为false );这时,进程才进入临界区;进程退出临界区时,放下标志牌(设置值为false );通过使用标志牌 flag0和 flag1,能够保证满意“单一进入”的条件;但为,当两个进程依据,的次序执行程序时,它们各自举起了标志牌,同时都由于观看到对方也举起了标志牌而等待在 while语句中; 由于两个进程都不会放下自己的标志牌,因

13、此都无法进入临界区,不能满意 “有限等待”的条件;所以,上述程序为错误的;设置信号量 S 实现对共享变量 count 的互斥拜访;Share :count=0 ; struct semaphore S=1; cobeginProcess P0:do P(S);count=count+1;|精.|品.|可.|编.|辑.|学.|习.|资.|料.V(S);while(1) ; Process P1 : do P(S);count=count+1;V(S);while(1) ;coend9. 假定一个阅览室最多可容纳100 人,读者进入和离开阅览室时都必需在阅览室门口的一个登记表上进行登记,而且每次只答应一人进行登记操作;用信号量实现该过程;解:设置信号量S:掌握进入阅览室的人数;初值=100;设置信号量 mutex :掌握登记表的互斥使用;初值=1;struct semaphore s=100,mutex=1;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号