进程同步与死锁习题答案
死锁习题及答案
死鎖習題及答案一、填空題1.進程の“同步”和“互斥”反映了進程間①和②の關系。
【答案】①直接制約、②間接制約【解析】進程の同步是指在異步環境下の並發進程因直接制約而互相發送消息,進行相互合作、相互等待,使得各進程按一定の速度執行の過程;而進程の互斥是由並發進程同時共享公有資源而造成の對並發進程執行速度の間接制約。
2.死鎖產生の原因是①和②。
【答案】①系統資源不足、②進程推進路徑非法【解析】死鎖產生の根本原因是系統の資源不足而引發了並發進程之間の資源競爭。
由於資源總是有限の,我們不可能為所有要求資源の進程無限地提供資源。
而另一個原因是操作系統應用の動態分配系統各種資源の策略不當,造成並發進程聯合推進の路徑進入進程相互封鎖の危險區。
所以,采用適當の資源分配算法,來達到消除死鎖の目の是操作系統主要研究の課題之一。
3.產生死鎖の四個必要條件是①、②、③、④。
【答案】①互斥條件、②非搶占條件、③占有且等待資源條件、④循環等待條件【解析】互斥條件:進程對它所需の資源進行排它性控制,即在一段時間內,某資源為一進程所獨占。
非搶占條件:進程所獲得の資源在未使用完畢之前,不能被其它進程強行奪走,即只能由獲得資源の進程自己釋放。
占有且等待資源條件:進程每次申請它所需の一部分資源,在等待新資源の同時,繼續占有已分配到の資源,循環等待條件:存在一進程循環鏈,鏈中每一個進程已獲得の資源同時被下一個進程所請求。
4.在操作系統中,信號量是表示①の物理實體,它是一個與②有關の整型變量,其值僅能由③原語來改變。
【答案】①資源,②隊列,③P-V【解析】信號量の概念和P-V原語是荷蘭科學家E.W.Dijkstra提出來の。
信號量是一個特殊の整型量,它與一個初始狀態為空の隊列相聯系。
信號量代表了資源の實體,操作系統利用它の狀態對並發進程共享資源進行管理。
信號量の值只能由P-V原語來改變。
5.每執行一次P原語,信號量の數值S減1。
如果S>=0,該進程①;若S<0,則②該進程,並把它插入該③對應の④隊列中。
操作系统第4章习题带答案
第四章一、问答题1、同步机制应遵循的准则是什么?2、死锁产生的4个必要条件是什么?它们是彼此独立的吗?3、简述死锁的定义和死锁产生的原因。
4、简述死锁定理和解除死锁的方法。
5、什么是安全状态?怎么判断系统是否处于安全状态?6、同步机制应遵循的准则是什么?7、死锁产生的4个必要条件是什么?它们是彼此独立的吗?二、计算题(共20分)1、当前系统中出现下述资源分配情况:利用银行家算法,试问如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配给它?答:Request(1,2,2,2)<=(2,3,5,6)申请合法Request(1,2,2,2)<=Available,开始试探性分配,Available=(0,4,0,0) 测试系统是否安全:work= Available,finish=1没有进程的need满足<=work系统处于不安全状态,系统拒绝此次资源分配。
2、当前某系统有同类资源7个,进程P,Q所需资源总数分别为5,4。
它们向系统申请资源的次序和数量如表所示。
回答:问:采用死锁避免的方法进行资源分配,请你写出系统完成第3次分配后各进程占有资源量,在以后各次的申请中,哪次的申请要求可先得到满足?答:第1次申请,Q申请资源2,系统安全,分配第2次申请,P申请资源1,系统安全,分配第3次申请,Q申请资源1,系统安全,分配资源剩余3个,P占有1个资源,Q占有3个资源,第4次分配不安全,拒绝,第5分配系统安全,满足。
3、一个计算机系统有6个磁带驱动器和4个进程。
每个进程最多需要n个磁带驱动器。
问当n为什么值时,系统不会发生死锁?并说明理由答:n=2理由同第4题(进程资源最大需求-1)×进程数量+1≤系统资源数量4、若系统有某类资源m×n+1个,允许进程执行过程中动态申请该类资源,但在该系统上运行的每一个进程对该资源的占有量任何时刻都不会超过m+1个。
操作系统死锁练习及答案
死锁练习题(一)单项选择题l系统出现死锁的根本原因是( )。
A.作业调度不当B.系统中进程太多C.资源的独占性D.资源管理和进程推进顺序都不得当2.死锁的防止是根据( )采取措施实现的。
A.配置足够的系统资源B.使进程的推进顺序合理C.破坏产生死锁的四个必要条件之一D.防止系统进入不安全状态3.采用按序分配资源的策略可以防止死锁.这是利用了使( )条件不成立。
A.互斥使用资源B循环等待资源c.不可抢夺资源D.占有并等待资源4.可抢夺的资源分配策略可预防死锁,但它只适用于( )。
A.打印机B.磁带机c.绘图仪D.主存空间和处理器5.进程调度算法中的( )属于抢夺式的分配处理器的策略。
A.时间片轮转算法B.非抢占式优先数算法c.先来先服务算法D.分级调度算法6.用银行家算法避免死锁时,检测到( )时才分配资源。
A.进程首次申请资源时对资源的最大需求量超过系统现存的资源量B.进程己占用的资源数与本次申请资源数之和超过对资源的最大需求量c.进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足尚需的最大资源量D进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足本次申请量,但不能满足尚需的最大资源量7.实际的操作系统要兼顾资源的使用效率和安全可靠,对资源的分配策略,往往采用( )策略。
A死锁的防止B.死锁的避免c.死锁的检测D.死锁的防止、避免和检测的混合(二)填空题l若系统中存在一种进程,它们中的每一个进程都占有了某种资源而又都在等待其中另一个进程所占用的资源。
这种等待永远不能结束,则说明出现了______。
2.如果操作系统对______或没有顾及进程______可能出现的情况,则就可能形成死锁。
3.系统出现死锁的四个必要条件是:互斥使用资源,______,不可抢夺资源和______。
4.如果进程申请一个某类资源时,可以把该类资源中的任意一个空闲资源分配给进程,则说该类资源中的所有资源是______。
第3章死锁习题及答案
第三章死锁习题一、填空题1.进程的“同步”和“互斥”反映了进程间①和②的关系。
【答案】①直接制约、②间接制约【解析】进程的同步是指在异步环境下的并发进程因直接制约而互相发送消息,进行相互合作、相互等待,使得各进程按一定的速度执行的过程;而进程的互斥是由并发进程同时共享公有资源而造成的对并发进程执行速度的间接制约。
2.死锁产生的原因是①和②。
【答案】①系统资源不足、②进程推进路径非法【解析】死锁产生的根本原因是系统的资源不足而引发了并发进程之间的资源竞争。
由于资源总是有限的,我们不可能为所有要求资源的进程无限地提供资源。
而另一个原因是操作系统应用的动态分配系统各种资源的策略不当,造成并发进程联合推进的路径进入进程相互封锁的危险区。
所以,采用适当的资源分配算法,来达到消除死锁的目的是操作系统主要研究的课题之一。
3.产生死锁的四个必要条件是①、②、③、④。
【答案】①互斥条件、②非抢占条件、③占有且等待资源条件、④循环等待条件【解析】互斥条件:进程对它所需的资源进行排它性控制,即在一段时间内,某资源为一进程所独占。
非抢占条件:进程所获得的资源在未使用完毕之前,不能被其它进程强行夺走,即只能由获得资源的进程自己释放。
占有且等待资源条件:进程每次申请它所需的一部分资源,在等待新资源的同时,继续占有已分配到的资源,循环等待条件:存在一进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。
4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。
【答案】①资源,②队列,③P-V【解析】信号量的概念和P-V原语是荷兰科学家E.W.Dijkstra提出来的。
信号量是一个特殊的整型量,它与一个初始状态为空的队列相联系。
信号量代表了资源的实体,操作系统利用它的状态对并发进程共享资源进行管理。
信号量的值只能由P-V原语来改变。
5.每执行一次P原语,信号量的数值S减1。
如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。
操作系统第二版第三章课后习题答案
第三章死锁作业答案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. 死锁和“饥饿”之间的主要差别是什么?参考答案:①处于死锁状态的进程都占有一定的资源,而处于饥饿状态的进程永远都得不到所申请的资源②死锁是一种僵局,在无外力干预下,处于死锁状态的全部进程都不能前进,即它们都处于阻塞态,可能造成整个系统瘫痪;而出现饥饿时系统照常运行,只是某个或某几个进程永远也不能得到所需的全部服务③造成死锁的根本原因是资源有限且使用不当;而造成饥饿的原因是资源分配策略或调度策略不合适,如果采用先来先服务的资源分配策略就可以避免饥饿。
操作系统第四章进程调度和死锁习题及答案
第四章一、单项选择题1.为了根据进程的紧迫性做进程调度,应采用(B )。
A.先来先服务调度算法 B. 优先数调度算法 C.时间片轮转调度法 D.分级调度算法2.采用时间片轮转法调度是为了( A)。
A.多个终端都能得到系统的及时响应 B.先来先服务C. 优先数高的进程先使用处理器 D.紧急事件优先处理3.采用优先数调度算法时,对那些具有相同优先数的进程再按( A )的次序分配处理器。
A 先来先服务 B. 时间片轮转 C. 运行时间长短 D.使用外围设备多少4. 当一进程运行时,系统强行将其撤下,让另一个更高优先数的进程占用处理器,这种调度方式是( B )。
A. 非抢占方式B.抢占方式 C. 中断方式 D.查询方式5.( B)必定会引起进程切换。
A.一个进程被创建后进入就绪态B.一个进程从运行态变成阻塞态C.一个进程从阻塞态变成就绪态6.( B)只考虑用户估计的计算机时间,可能使计算时间长的作业等待太久。
A.先来先服务算法B.计算时间短的作业优先算法C.响应比最高者优先算法 D.优先数算法7.先来先服务算法以( A )去选作业,可能会使计算时间短的作业等待时间过长。
A.进入的先后次序 B.计算时间的长短 C.响应比的高低 D.优先数的大小8.可以证明,采用( C )能使平均等待时间最小。
A.优先数调度算法 B.均衡调度算法C.计算时间短的作业优先算法 D.响应比最高者优先算法9.在进行作业调度时.要想兼顾作业等待时间和计算时间,应选取(D )。
A均衡调度算法 B.优先数调度算法C.先来先服务算法D.响应比最高者优先算法10.作业调度算法提到的响应比是指( B )。
A.作业计算时间与等待时间之比B.作业等待时间与计算时间之比C.系统调度时间与作业等待时间之比 D.作业等待时间与系统调度时间之比11.作业调度选择一个作业装入主存后,该作业能否占用处理器必须由( D )来决定。
A.设备管理 B.作业控制 C.驱动调度D.进程调度12.系统出现死锁的根本原因是( D )。
第四章进程调度与死锁习题及答案
第四章一.选择题1.预防死锁不可以去掉以下__A__条件。
A.互斥 B.请求与保持 C.不可剥夺 D.环路2.资源分配图是否可以完全简化是判断死锁的_C__。
A.充分条件 B.必要条件 C.充分必要条件 D.什么也不是3.设有4个作业同时到达,每个作业的执行时间是2min,它们在一台处理机上按单道方式运行,则平均周转时间为_B__。
A.1min B.5min C.2.5min D.8min4.若系统中有8台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许_C__各进程参与竞争,而不会发生死锁。
A.5 B .6 C .7 D .85.响应比高者优先作业调度算法除了考虑进程在CPU上的运行时间,还考虑以下__D_因素。
A.输入时间B.完成时间C.周转时间D.等待时间6.产生系统死锁的原因可能是_B__。
A.一个进程进入死循环B.多个进程竞争资源出现了循环等待C.进程释放资源D.多个进程竞争共享型设备7.以下_B__方法可以解除死锁。
A.挂起进程B.剥夺资源C.提高进程优先级D.降低进程优先级8.采用有序分配资源的策略可以破坏产生死锁的__D_。
A.互斥条件B.请求与保持条件C.不可剥夺条件D.环路条件9.连个进程争夺同一个资源_B__。
A.一定死锁B.不一定死锁C.不死锁D.以上说法都不对10.以下解决死锁的方法中,属于预防策略的是_C__。
A.化简资源分配图B.银行家算法C.资源的有序分配D.死锁检测法11.下面__D_说法是对可剥夺系统的正确描述。
A.时间片轮转法是一种可剥夺式调度B.进程因等待某一事件而引起系统调度是一种可剥夺式调度C.实时系统采用可剥夺式调度D.优先级低的进程放弃CPU,让优先级高的进程运行12.以下关于调度的说法__A__正确。
A.进程通过调度得到CPUB.优先级是进程调度的主要依据,一旦确定就不能改变C.在单CPU的系统中,任何时刻都有一个进程处于运行状态D.进程申请CPU得不到时,其状态为阻塞13.既考虑进程的等待时间,又考虑进程的执行时间的调度算法是__A__。
《操作系统原理》习题及参考答案
3.2
14.4
17.6
9.2
2.9
C
9:00(9.0)
1
17.6
18.6
9.6
9.6
短作业优先算法:
作业号
进入输入 需运行时 开始运行 完成时间 周转时间 带权周转
井时间 间(小时) 时间
时间
A
8:00(8.0)
6.4
8.0
14.4
6.4
1
5
B
8:24(8.4)
3.2
15.4
18.6
10.2
3.2
15. 设一个飞机航班售票系统有 n 个售票处,每个售票处通过终端访问系统的公共数据 区。假定公共数据区中的一些单元 Aj(j=1,2,3,…)分别存放某月某日某次航班的余票数。 用 P1,P2,…,Pn 表示个售票处为旅客服务时的处理进程; R1, R2, R3…, Rn 为各进程执 行时所用的工作单元。用 PV 操作和信号量保证售票系统的正确并发执行。
解:(1)设信号量 S2:=0; S3:=0; S4:=0;
P1:
P2:
P3:
……..
P(S2)
P(S3)
……..
……..
……..
V(S2)
…….
…….
V(S3)
V(S4)
V(S4)
(2)设信号量 S3:=0; S4:=0; S5:=0; S6:=0;
P1: …….. …….. …….. V(S3)
x
y
z
S1
S2
P1 x:=0
0
0
0
P1 x:=x+2
2
0
0
0
P1 P(S1)
进程调度与死锁处理
进程调度与死锁处理基本信息:[矩阵文本题] *1. ()又称为轻量级进程,是处理机调度的基本单位。
[填空题] * _________________________________(答案:线程)2. 用户级线程到内核控制线程的映射模型包括: *多对一模型(正确答案)一对多模型多对多模型(正确答案)一对一模型(正确答案)3. 高级调度又称为()或(),它的调度对象是作业。
*作业调度(正确答案)长程调度(正确答案)进程调度短程调度4. 低级调度又称为()或(),它的调度对象是进程。
*进程调度(正确答案)作业调度短程调度(正确答案)中程调度5. 低级调度的主要功能包括: *保存处理机的现场信息(正确答案)按某种算法选取进程(正确答案)把处理机分配给进程(正确答案)从外存的后备队列中选取某些作业调入内存6. 中级调度又称为()调度,其主要功能是在内存资源紧张时,将内存中那些暂时不能运行的进程调至外存上去等待;当这些进程具备运行条件且内存资源允许时,由中级调度决定把外存上的那些具备运行条件的就绪进程重新调入内存,修改其状态为就绪状态,挂在就绪队列上等待进程调度。
[填空题] *_________________________________(答案:中程)7. 下面关于处理机调度的说法正确的是: *高级调度主要用于多道批处理系统中(正确答案)低级调度可用于多道批处理、分时和实时(正确答案)高级调度的运行频率较低,一般约几分钟(正确答案)低级调度的运行频率较高,一般约几十毫秒一次(正确答案)8. 进程调度有可能在以下情况发生: *当一个进程退出时。
(正确答案)当一个进程在I/O设备或信号量上阻塞时。
(正确答案)当一个新进程创建时。
(正确答案)当一个I/O中断或时钟中断发生时。
(正确答案)9. 进程一旦被分配处理机,可以一直运行直到执行完毕或发生某事件而被阻塞,这种调度方式称为: [单选题] *抢占式调度非抢占式调度(正确答案)优先级调度调度10. 选择调度算法的性能准则包括: *周转时间短、响应时间短、等待时间短(正确答案)系统吞吐量高、处理机利用率好、各种资源均衡利用(正确答案)低成本、易实现(正确答案)兼顾优先权准则和公平性(正确答案)11. 下列关于计算机系统中资源的描述正确的是: *需要排它使用的对象称为资源。
电大操作系统 第2章教材习题解答
第2章进程管理“练习与思考”解答1.基本概念和术语进程、进程互斥、进程同步、临界资源、临界区、死锁进程是程序在并发环境中的执行过程。
进程互斥:各个进程彼此不知道对方的存在,逻辑上没有关系,由于竞争同一资源(如打印机、文件等)而发生相互制约。
进程同步:各个进程不知对方的名字,但通过对某些对象(如I/O缓冲区)的共同存取来协同完成一项任务。
临界资源:一次仅允许一个进程使用的资源。
临界区:在每个进程中访问临界资源的那段程序。
死锁是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。
2.基本原理和技术(1)在操作系统中为什么要引入进程概念?它与程序的区别和联系是什么?在操作系统中,由于多道程序并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
这些都是在程序的动态过程中发生的。
用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。
为此,人们引入“进程”这一概念来描述程序动态执行过程的性质。
进程与程序的主要区别是:·进程是动态的;程序是静态的。
·进程有独立性,能并发执行;程序不能并发执行。
·二者无一一对应关系。
·进程异步运行,会相互制约;程序不具备此特征。
但进程与程序又有密切的联系:进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。
(2)进程的基本状态有哪几种?通常在操作系统中,进程至少要有三种基本状态。
这三种基本状态是:运行态、就绪态和阻塞态(或等待态)。
(3)用如图3-23所示的进程状态转换图能够说明有关处理机管理的大量内容。
试回答:①什么事件引起每次显著的状态变迁?②下述状态变迁因果关系能否发生?为什么?(A)2→1 (B)3→2 (C)4→1图3-23 进程状态转换图①就绪→运行:CPU空闲,就绪态进程被调度程序选中。
操作系统第4章习题带答案
操作系统第4章习题带答案第四章⼀、问答题1、同步机制应遵循的准则是什么?2、死锁产⽣的4个必要条件是什么?它们是彼此独⽴的吗?3、简述死锁的定义和死锁产⽣的原因。
4、简述死锁定理和解除死锁的⽅法。
5、什么是安全状态?怎么判断系统是否处于安全状态?6、同步机制应遵循的准则是什么?7、死锁产⽣的4个必要条件是什么?它们是彼此独⽴的吗?⼆、计算题(共20分)1、当前系统中出现下述资源分配情况:利⽤银⾏家算法,试问如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配给它?答:Request(1,2,2,2)<=(2,3,5,6)申请合法Request(1,2,2,2)<=Available,开始试探性分配,Available=(0,4,0,0) 测试系统是否安全:work= Available,finish=1没有进程的need满⾜<=work系统处于不安全状态,系统拒绝此次资源分配。
2、当前某系统有同类资源7个,进程P,Q所需资源总数分别为5,4。
它们向系统申请资源的次序和数量如表所⽰。
回答:问:采⽤死锁避免的⽅法进⾏资源分配,请你写出系统完成第3次分配后各进程占有资源量,在以后各次的申请中,哪次的申请要求可先得到满⾜?答:第1次申请,Q申请资源2,系统安全,分配第2次申请,P申请资源1,系统安全,分配第3次申请,Q申请资源1,系统安全,分配资源剩余3个,P占有1个资源,Q占有3个资源,第4次分配不安全,拒绝,第5分配系统安全,满⾜。
3、⼀个计算机系统有6个磁带驱动器和4个进程。
每个进程最多需要n个磁带驱动器。
问当n为什么值时,系统不会发⽣死锁?并说明理由答:n=2理由同第4题(进程资源最⼤需求-1)×进程数量+1≤系统资源数量4、若系统有某类资源m×n+1个,允许进程执⾏过程中动态申请该类资源,但在该系统上运⾏的每⼀个进程对该资源的占有量任何时刻都不会超过m+1个。
操作系统-徐甲同 2版 习题答案 第三章进程-死锁
计算机操作系统
第三章 进程管理
3.破坏“循环等待”条件 采用资源有序/顺序分配法: 把系统中所有资源编 号, 进程在申请资源时必须严格按资源编号的递增次 序进行,否则操作系统不予分配。打破环。 例如:1,2,3,…,10
计算机操作系统
第三章 进程管理
R1
A
B
此列子表明; 进程竞争资源有可能死锁。 但不一定就会死锁,这取决于各 进程的推进速度和对资源的请求 顺序。 死锁是一种与时间有关的错误。 进程竞争的资源应是互斥
R2
进程死锁例1的环路表示
3.4
计算机操作系统
第三章 进程管理
A r1
死锁的举例 例2:
进 程 A A r2 A r3 A r4 B r1 进 程 B B r2 B r3 B r4 请求 读卡 机请 求打 印机 释放 打卡 机 释放 读卡 机 读卡 机 请求 打印 机 请求 读卡 机 释放 打印 机 释放 读卡 机 打印 机
4、 Ar1 Br1 Ar2 Br2 Ar3 Ar4 Br3 Br4
3.6
计算机操作系统
第三章 进程管理
二、产生死锁的四个必要条件
1) 互斥条件(资源独占): 一个资源每次只能给一个进程使用 2) 不可剥夺条件(不可强占): 资源申请者不能强行的从资源占有者手中夺取资 源, 资源只能由占有者自愿释放 3) 请求和保持条件: (部分分配,占有申请) 在申请新的资源的同时保持对原有资源的占有。 4) 循环等待条件: 存在一个进程-等待资源环形链 {P1 , P2 , … , Pn}, 其中P1等待P2占有的资源, P2等待P3占有的资源, …, Pn等待P1占有的资源。
进程管理练习及参考答案
OS概述、进程管理练习答案一、单项选择题(OS概述部分)1、UNIX O.S. 属于一种( A )操作系统。
A.分时B.批处理C.实时D.分布式2、计算机软件中,最靠近硬件层次的一类软件是(C )。
A.应用软件B.支撑软件C.系统软件D.编译软件3、下列四个操作系统中,是分时系统的为(C )。
A.CP/MB.MS-DOSC.UNIXD.WINDOWS NT4、在操作系统中,设计者往往编制了许多完成不同功能的子程序供用户程序中使用,这些子程序被称为(B )。
A.作业控制语言B.系统调用C.操作控制命令D.访管命令5、个人计算机操作系统也被称为( B )。
A.多用户操作系统B.单用户操作系统C.实时操作系统D.批处理操作系统6、批处理系统的主要缺点是( B )。
A.CPU的利用率不高B.失去了交互性C.不具备并行性D.以上都不是7、DOS操作系统主要的功能是(A )。
A.文件管理功能B.中断处理功能C.作业管理功能D.打印管理功能8、第一个在计算机上实现的操作系统是(C )。
A.分时操作系统B.实时操作系统C.单道批处理系统D.单用户操作系统9、操作系统的功能是进行处理器管理、作业管理、( B )管理、设备管理和文件管理。
A.进程B.存储器C.硬件D.软件10、设计实时操作系统时,首先应该考虑系统的(B )。
A.可靠性和灵活性B.实时性和可靠性C.灵活性和可靠性D.优良性和分配性11、操作系统是计算机系统的(B )。
A.应用软件B.系统软件C.硬件D.固件12、从工作的角度看操作系统,可以分为:单用户操作系统、批处理系统、(B )和实时系统。
A.单机操作系统B.分时操作系统C.面向过程的操作系统D.网络操作系统13、下列系统中,( B )是实时系统。
A.计算机激光照排系统B.航空定票系统C.办公自动化系统D.计算机辅助设计系统14、工业过程控制系统中运行的操作系统最好是( B )。
A.分时系统B. 实时系统C.分布式操作系统D.网络操作系统15、计算机发展到第三代,操作系统已成为软件的一个重要分支,最早的操作系统是(D )。
(完整版)操作系统-进程同步习题答案(22)
A.时间片完B.其它进程执行了唤醒原语
C.执行了V操作D.执行了P操作
5.在单处理机系统中,设系统中有n个进程(n>2),且当前处理机没有执行进程调度程序,下述情况哪些可能发生( BCD)。
A.没有运行的进程,有2个进程处于就绪状态,n个进程处于等待状态。
A.临界资源是非共享资源 B.临界资源是任意共享资源
C.临界资源是互斥共享资源 D.临界资源是同时共享资源
4.对进程间互斥地使用临界资源,进程可以(D)
A.互斥地进入临界区 B.互斥地进入各自的临界区
C.互斥地进入同一临界区 D.互斥地进入各自的同类资源的临界区
5.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1时表示( B )。
〈进程P1〉〈进程P2〉
y:=1; x:=1;
y:=y+2; x:=x+1;
V(S1); P(S1);
z:=y+1; x:=x+y;
P(S2);V(S2);
y:=z+y; z:=x+z;
解:
因为P1和P2是两个并发进程,所以进程调度程序调度P1和P2的顺序是不确定的。
这里不妨假设P1先执行。进程P1执行到语句P(S2)时,S2=-1,进程P1阻塞。此时,y=3,z=4。当进程调度程序调度到进程P2时,由于进程P1已执行了V(S1),进程P2在执行P(S1)时并未阻塞而继续执行,当执行到V(S2)时,将P1唤醒,然后执行最后一个语句z:=x+z,此时x=5,z=9。当进程P1再次被调度时,继续执行P1的最后一个语句,此时y=12,最终结果是:x=5,y=12,z=9。
A.4 B.3 C.5 D.0
操作系统课后习题答案
操作系统课后习题答案问题一:简述进程和线程的区别。
进程是操作系统进行资源分配和调度的一个独立单位,它是程序在数据集上的一次动态执行过程。
线程是进程中的一个实体,是CPU调度和分派的基本单位,比进程更小的能独立运行的基本单位。
线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如执行栈),但它可以与同属一个进程的其他线程共享进程所拥有的全部资源。
问题二:什么是死锁?如何避免死锁?死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种僵局,若无外力作用,这些进程都将无法向前推进。
避免死锁的方法包括:1. 互斥条件:确保系统资源足够,以避免多个进程争夺同一资源。
2. 请求和保持条件:设计资源分配策略,确保进程不会在请求新资源的同时保持已分配的资源。
3. 不剥夺条件:一旦资源被分配给某进程,除非该进程自愿释放资源,否则系统不应强制剥夺。
4. 循环等待条件:通过资源分配图检测循环等待并进行处理。
问题三:描述操作系统中的分页和分段机制。
分页机制是操作系统用来实现虚拟内存的一种技术,它将物理内存分割成固定大小的页,并将这些页与进程的虚拟地址空间中的页表项关联起来。
当进程访问一个不在物理内存中的虚拟地址时,操作系统会触发一个缺页中断,将所需的页从辅助存储器加载到物理内存中。
分段机制则是将程序的地址空间划分为多个段,每个段可以是不同的大小,并且可以独立地被加载和链接。
段表项包含了段的基地址和段的长度信息。
当程序访问一个段内的地址时,操作系统将虚拟地址转换为物理地址。
问题四:什么是文件系统?它有什么作用?文件系统是操作系统用于有效地存储、组织、管理和访问磁盘上的数据的一种系统。
它的作用包括:1. 数据持久性:确保即使在系统崩溃或电源故障后,数据也不会丢失。
2. 数据共享:允许多个用户或进程访问和共享数据。
3. 抽象:为用户和应用程序提供统一的接口来访问存储在磁盘上的数据。
4. 安全性:通过权限控制保护数据不被未授权访问。
操作系统(进程与线程)习题与答案.docx
1、下面哪种死锁处理策略代价最小?()A.死锁忽略B.死锁检测+恢复C.死锁避免D.死锁预防正确答案:A2、下面哪种死锁处理策略引入的不合理因素最严重?()A.死锁检测+恢复B.死锁忽略C.死锁预防D.死锁避免正确答案:C3、为什么进程切换的代价要比线程切换要大?()A.因为进程切换要切换控制块数据结构B.因为进程切换要切换PC指针C.因为进程切换要切换段表D.因为进程切换要切换栈正确答案:C4、初值为N的信号量,当前值为-1表示的含义是什么?()A.有1个资源B.有N-1个进程在等待C.有1个进程在等待D.有N-1个资源5、为什么PC机通常死锁忽略策略?()A.因为死锁检测算法在PC机器上不能执行B.因为PC机上的发生死锁造成的破坏小C.因为PC机上的死锁可以用重启来解决D.因为PC机上的发生死锁的可能性小正确答案:C6、下面哪种参数可以用来表征操作系统可以对用户输入快速处理?()代响应时间B.等待时间C.吞吐量D.周转时间正确答案:A7、下面哪种调度算法可以保证用户的输入在一定的时间以后可以得到响应?()A.短作业优先B.时间片轮转调度C.剩余短作业优先D.先来先服务算法正确答案:B8、下面哪个系统调用不是用来操控进程的?()A.open()B.fork()C.wait()D.exec()正确答案:A9、下面哪种状态下的进程不存放在内存中?()正确答案:AB.阻塞态C.挂起态D.就绪态正确答案:C10、关于进程和线程的主要区别,下面哪种论述是正确的?()A.线程之所以切换快是因为TCB比PCB尺寸小B.线程切换时可能会引起进程切换C.进程不能成为调度的单位D.线程可以没有栈正确答案:B11、在实际系统中实现进程调度算法需要考虑诸多因素,相比而言下面哪个因素最不需要考虑?()A.机器物理内存的大小B.机器的使用坏境C.用户任务的特点D.算法的复杂性正确答案:A12、进程和程序的区别主要体现在哪里?()A.进程在内存中,程序在磁盘上。
处理机调度与死锁习题及答案新
处理机调度与死锁习题及答案新第三章处理机调度与死锁一.选择题1.下列算法中,操作系统用于作业调度的算法是。
A.先来先服务算法B.先进先出算法C.最先适应算法D.时间片轮转算法2.在批处理系统中,周转时间是指。
A.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间3.在作业调度中,排队等待时间最长的作业被优先调度,这是指调度算法。
A.先来先服务B.短作业优先C.响应比高优先D.优先级4.下列算法中,用于进程调度的算法是。
A.最先适应B.最高响应比优先C.均衡资源调度D.优先数调度5.两个进程争夺同一个资源。
A.一定死锁B.不一定死锁C.只要互斥就不会死锁D.以上说法都不对6.下列各项中,不是进程调度时机的是。
A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态7.进程调度算法有多种,不是进程调度算法。
A.先来先服务调度算法B.最短查找时间优先调度算法C.静态优先数调度算法D.时间片轮转调度算法8.作业调度程序从状态的队列中选取适当的作业投入运行。
A.就绪B.提交C.等待D.后备9.在实时操作系统中,经常采用调度算法来分配处理器。
A.先来先服务B.时间片轮转C.最高优先级D.可抢占的优先级10.采用时间片轮转调度算法主要是为了。
A.多个终端都能得到系统的及时响应B.先来先服务C.优先权高的进程及时得到调度D.需要CPU时间最短的进程先做11.下面关于优先权大小的论述中,不正确的论述是。
A.计算型作业的优先权,应低于I/O型作业的优先权B.系统进程的优先权应高于用户进程的优先权C.资源要求多的作业,其优先权应高于资源要求少的作业D.在动态优先权时,随着进程运行时间的增加,其优先权降低12.产生死锁的原因是有关。
A.与多个进程竞争CPUB.与多个进程释放资源C.仅由于并发进程的执行速度不当D.除资源分配策略不当外,也与并发进程执行速度不当13.有关产生死锁的叙述中,正确的是。
计算机操作系统复习题目(2)
第二章进程管理(三)进程同步5、经典同步问题1、生产者—消费者问题生产者消费者问题是一种同步问题的抽象描述。
计算机系统中的每个进程都可以消费(使用)或生产(释放)某类资源。
这些资源可以是硬件资源,也可以是软件资源。
当某一进程使用某一资源时,可以看作是消费,称该进程为消费者。
而当某一进程释放某一资源时,它就相当于生产者。
问题1:设某计算进程CP和打印进程IOP共用一个单缓冲区,CP进程负责不断地计算数据并送入缓冲区T中,IOP进程负责不断地从缓冲区T中取出数据去打印。
通过分析可知,CP、IOP必须遵守以下同步规则:(1)当CP进程把计算结果送入缓冲区时,IOP进程才能从缓冲区中取出结果去打印;(2)当IOP进程把缓冲区中的数据取出打印后,CP进程才能把下一个计算结果送入缓冲区.(3)为此设有两个信号量Sa=0,Sb=1,Sa表示缓冲区中有无数据,Sb表示缓冲区中有无空位置。
两个进程的同步可以描述如下:问题2:一组生产者通过具有N个缓冲区的共享缓冲池向一组消费者提供数据。
问题分析”:为解决生产者消费者问题,应该设两个同步信号量,一个说明空缓冲区的数目,用empty表示,初值为有界缓冲区的大小N,另一个说明已用缓冲区的数目,用full表示,初值为0。
由于在此问题中有M个生产者和N个消费者,它们在执行生产活动和消费活动中要对有界缓冲区进行操作。
由于有界缓冲区是一个临界资源,必须互斥使用,所以,另外还需要设置一个互斥信号量mutex,其初值为1。
问题的解:注意:在每个程序中用于实现互斥的P(mutex)和V(mutex)必须成对的出现对资源信号量empty和full的P和V操作,同样需要成对地出现,但它们分别处于不同的程序中。
在每个程序中的多个P操作顺序不能颠倒。
先同步后互斥。
生产者进程缓冲池消费者进程1┇┇i┇┇2、哲学家就餐问题有五个哲学家围坐在一圆桌旁,桌中央有一盘通心粉,每人面前有一只空盘子,每两人之间放一只筷子。
操作系统---死锁和进程间通信
操作系统---死锁和进程间通信您的姓名: [填空题] *_________________________________您的学号: [填空题] *_________________________________1. 若P,V操作的信号量S初值为4,当前值为-1,则表示有()进程处于等待状态。
[单选题] *1(正确答案)232. 任何两个并发进程之间()。
[单选题] *一定存在互斥关系一定存在同步关系一定彼此独立无关可能存在同步或互斥关系(正确答案)3. 银行家算法是一种()算法。
[单选题] *死锁解除死锁避免(正确答案)死锁预防死锁检测4. 在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。
但是,不适当的()也可能产生死锁。
[单选题] *进程优先权资源的线性分配进程推进顺序(正确答案)分配队列优先权5. 产生死锁的四个必要条件是:互斥、( )、循环等待和不剥夺。
[单选题] *请求与阻塞请求与保持(正确答案)请求与释放释放与阻塞6. 在下列解决死锁的方法中,属于死锁预防策略的是 ( )。
[单选题] *银行家算法(死锁避免)资源有序分配法(正确答案)死锁检测法资源分配图化简法7. 采用资源剥夺法可以解除死锁,还可以采用 ( ) 方法解除死锁。
[单选题] *执行并行操作撤销进程(正确答案)拒绝分配新资源修改信号量8. 进程从运行态进入阻塞态可能是由于()。
[单选题] *现运行进程运行结束现运行进程执行了P操作(正确答案)现运行进程执行了V操作现运行进程时间片用完9. 在 ( )情况下,系统出现死锁。
[单选题] *计算机系统发生了重大故障有多个封锁的进程同时存在若干进程因竞争而无休止地相互等待他方释放已占有的资源(正确答案)资源数远远小于进程数或进程同时申请的资源数量远远超过资源总数10. 若信号量S的初值为2,且有三个进程共享此信号量,则S的取值范围是( )。
[单选题] *[-3,2][-2,2][-1,2](正确答案)[0,2]11. 对于记录型信号量,在执行一次P操作(wait操作)时,信号量的值应当为减1;当其值为( )时,进程应阻塞。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 4 章进程同步与死锁(1) 什么是进程同步?什么是进程互斥?解:同步是进程间的直接制约关系,这种制约主要源于进程间的合作。
进程同步的主要任务就是使并发执行的各进程之间能有效地共享资源和相互合作,从而在执行时间、次序上相互制约,按照一定的协议协调执行,使程序的执行具有可再现性。
进程互斥是进程间的间接制约关系,当多个进程需要使用相同的资源,而此类资源在任一时刻却只能供一个进程使用,获得资源的进程可以继续执行,没有获得资源的进程必须等待,进程的运行具有时间次序的特征,谁先从系统获得共享资源,谁就先运行,这种对共享资源的排它性使用所造成的进程间的间接制约关系称为进程互斥。
互斥是一种特殊的同步方式。
(2) 进程执行时为什么要设置进入区和退出区?解:为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为“进入区”代码;在退出临界区后,必须执行“退出区”代码,用于恢复未被访问标志。
(3) 同步机构需要遵循的基本准则是什么?请简要说明。
解:同步机制都应遵循下面的4 条准则:1. 空闲让进。
当无进程处于临界区时,允许进程进入临界区,并且只能在临界区运行有限的时间。
2. 忙则等待。
当有一个进程在临界区时,其它欲进入临界区的进程必须等待,以保证进程互斥地访问临界资源。
3. 有限等待。
对要求访问临界资源的进程,应保证进程能在有限时间内进入临界区,以免陷入“饥饿”状态。
4. 让权等待。
当进程不能进入临界区时,应立即放弃占用CPU ,以使其它进程有机会得到CPU 的使用权,以免陷入“饥饿”状态。
(4) 整型信号量是否能完全遵循同步机构的四条基本准则?为什么?解:不能。
在整型信号量机制中,未遵循“让权等待”的准则。
(5) 在生产者-消费者问题中,若缺少了V(full) 或V(empty) ,对进程的执行有什么影响?解:如果缺少了V(full) ,那么表明从第一个生产者进程开始就没有对信号量full 值改变,即使缓冲池存放的产品已满了,但full 的值还是0,这样消费者进程在执行P(full) 时会认为缓冲池是空的而取不到产品,那么消费者进程则会一直处于等待状态。
如果缺少了V(empty) ,例如在生产者进程向n 个缓冲区放满产品后消费者进程才开始从中取产品,这时empty=0 ,full=n ,那么每当消费者进程取走一个产品时empty 并没有被改变,直到缓冲池中的产品都取走了,empty 的值也一直是0,即使目前缓冲池有n 个空缓冲区,生产者进程要想再往缓冲池中投放产品会因申请不到空缓冲区而被阻塞。
(6) 在生产者-消费者问题中,若将P(full) 和P(empty) 交换位置,或将V(full) 或V(empty) 交换位置,对进程执行有什么影响?解:对full 和empty 信号量的P、V 操作应分别出现在合作进程中,这样做的目的是能正确表征各进程对临界资源的使用情况,保证正确的进程通信联络。
(7) 利用信号量写出不会出现死锁的哲学家进餐问题的算法。
解:对哲学家按顺序从0到4编号,哲学家i左边的筷子的编号为i,哲学家右边的筷子的编号为( i+1) %5。
semaphore chopstick[5]={1};//定义信号量数组chopstick[5] ,由于侉子是临街资源(互斥) ,故设置初值均为1。
Pi(){//i 号哲学家的进程do{if(i<(i+1)%5){wait(chopstick[i]); wait(chopstick[(i+1)%5]);}else{ wait(chopstick[(i+1)%5]); wait(chopstick[i]);}eatsignal(chopstick[i]); signal(chopstick[(i+1)%5]); think}while(1);}(8) 利用AND 型信号量和管程解决生产者-消费者问题。
解:利用AND 信号量解决生产者-消费者问题的算法描述如下:var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in out: integer := 0, 0;beginparbegin producer: begin repeat produce an item in nextp; Swait(empty, mutex); buffer(in) := nextp; in := (in+1) mod n; Ssignal(mutex, full); until false;end consumer: begin repeat Swait(full, mutex); nextc := buffer(out); out := (out+1) mod n;Ssignal(mutex, empty); consume the item in nextc; until false;endparendend利用管程机制解决生产者-消费者问题,首先需要建立一个管程ProducerConsumer,其中包含两个过程insert(item)和consumer(item)。
生产者-消费者同步问题可以用伪代码描述如下:monitor ProducerConsumercondition full,empty;int count;void insert(int item){if (count==N) wait(full); insert(item);count=count+1;if (count==1) signal(empty);}int remover(){if (count==0) wait(empty); remove=remove_item; count=count-1;if (count==N-1) signal(full);}count=0;end monitorvoid producer(){while (true){item=produce_item;ProducerConsumer.insert(item);}}void consumer(){while (true){item=ProducerConsumer.remove;consume(item)}}(9) 进程的高级通信机制有哪些?请简要说明。
解:进程的高级通信机制分为三大类:共享存储系统、消息传递系统和管道通信系统。
1. 共享存储器系统:在共享存储器系统中,相互通信的进程通过共享某些数据结构或共享存储区实现进程之间的通信。
该系统又可进一步细分为两种方式:基于共享数据结构的通信方式和基于共享存储区的通信方式。
2. 消息传递系统:消息传递机制可以实现不同主机间多个CPU 上进程的通信。
这种方式需要使用两条原语send 和receive 来发送和接收格式化的消息(message)。
3. 管道通信系统:管道通信是一种以文件系统为基础实现的适用于在进程之间实现大量数据传送的通信方式。
(10) 什么是死锁?产生死锁的原因和必要条件是什么?解:所谓死锁是指在一个进程集合中的所有进程都在等待只能由该集合中的其它一个进程才能引发的事件而无限期地僵持下去的局面。
产生死锁的原因可以归结为两点:1)竞争资源,2)各进程之间的推进顺序不当。
产生死锁的必要条件有四个:1)互斥条件,2)不剥夺条件,3)请求和保持条件,4) 环路条件。
(11) 死锁的预防策略有哪些?请简要说明。
解:死锁的预防策略有三,说明如下:1. 摒弃请求和保持条件:为摒弃请求和保持条件,系统中需要使用静态资源分配法,该方法规定每一个进程在开始运行前都必须一次性地申请其在整个运行过程中所需的全部资源。
此时,若系统有足够的资源,就把进程需要的全部资源一次性地分配给它;若不能全部满足进程的资源请求,则一个资源也不分给它,即使有部分资源处于空闲状态也不分配给该进程。
这样,当一个进程申请某个资源时,它不能占有其它任何资源,在进程运行过程中也不会再提出资源请求。
这种方法破坏了请求和保持条件,从而避免死锁的发生。
2. 摒弃不剥夺条件:要摒弃“不剥夺条件” ,可以使用如下策略:进程在需要资源时才提出请求,并且进程是逐个地申请所需资源,如果一个进程已经拥有了部分资源,然后又申请另一个资源而不可得时,其现有资源必须全部释放。
在这种方法中,进程只能在获得其原有资源和所申请的新资源时才能继续执行。
3.摒弃环路等待条件:为确保环路等待条件不成立,可以在系统中实行资源有序分配策略,即系统中的所有资源按类型被赋予一个唯一的编号, 每个进程只能按编号的升序申请资源。
(12)某系统中有A 、B 、C 、D 四类资源,且其总数量都是 8个。
某时刻系统中有 5个进程, 判断下列资源状态是否安全?若进程 P 2申请资源(1,1,1,1),能否为其分配?解:现在对该时刻的状态进行安全分析:由于Available 向量为(3,4,4,1),所以 Work 向量初始化为(3,4,4,1) 此时的Work 小于任意的Need[i]向量,所以系统处于不安全状态由于 Request2(1,1,1,1)<Available ( 3,4,4,1)且 Request2( 1,1,1,1) <Need2 ( 1,1,1,2) 所以先试着把P2所申请的资源分配给它, Available 变为(2,3,3,0)得到系统状态如下表所示:然后进行安全性检测:此时Available 向量为(2,3,3,0),所以 Work 向量初始化为(2,3,3,0),此时的 Work 小 于任意的Need[i]向量,所以系统处于不安全状态,所以不可以为P2分配资源(13)三个进程P1、P2、P3都需要5个同类资源才能正常执行直到终止,且这些进程只有在 需要设备时才申请,则该系统中不会发生死锁的最小资源数量是多少?请说明理由。
解:系统中不会发生死锁的最小资源数量是13,这样可以保证当每一个进程都占有 4个资源的时候,有一个进程可以获得最后一个资源后被运行, 运行完毕后释放资源, 于是其余进程也能顺利运行完,所以不会死锁。
(14)在解决死锁问题的几个方法中,哪种方法最易于实现,哪种方法使资源的利用率最高? 解:预防死锁这个方法实现简单,效果突出;避免死锁这种方法系统吞吐量和资源利用率较m 个同类资源的系统,如果对于i=1,2,3,…,n,有Need[i]>0 m+n ,试证明系统不会产生死锁。
解: 进程还需要的资源数量, Allocation[i] 表示第 i 个进程已经分配到的资源数量, Available 为系 统剩余的资源数,其中i=1,2,3,…,n 。