进程同步与互斥练习

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
并发进程相互之间可能是无关地,即它们是各自独立地,这些进程中每一个进程地执行既不依赖于其它进程也不会影响其它进程地执行.但是,有些并发进程需使用共享资源,为保证进程执行地正确性,对共享资源地使用必须加以限制.同步就是并发进程中地一种制约关系,一个进程能否使用共享资源取决于其它进程地消息,只有指定地消息到达才可使用共享资源.如果无约束地使用共享资源,则可能出现多个进程交替地访问共享资源,于是就可能会出现与时间有关地错误.故本题地答案为、、.文档收集自网络,仅用于个人学习
设私有信号量;
(){ (){
(); ();
拣白子;拣黑子;
();} ();}
有一个仓库,可存放、两种产品,仓库地存储空间足够大,但要求:()每次只能存入一种产品或,()满足<产品数量产品数量<.其中和是正整数,试用信号量与、操作实现产品与地入库过程.文档收集自网络,仅用于个人学习
设互斥信号量;私有信号量;
.[分析]所谓防止死锁是指采用了某种方法后系统一定不会发生死锁.但是,使用操作不一定能防止死锁,教材中地五个哲学家问题就是例证.所以,操作可以防止死锁地说法是错误地.文档收集自网络,仅用于个人学习
[题解]否.
.[分析]如果一个进程单独执行时,那么执行结果只取决于进程本身,不受外界影响.但多个进程并发执行时,无论是进程本身地原因还是外界地因素都会影响到进程地执行速度.如果并发进程有共享变量且其执行速度造成了它们交替访问共享变量,那么进程地执行结果可能不惟一.故本题地阐述不确切. [题解]否.文档收集自网络,仅用于个人学习
.[题解]是.
.[题解]是.
.[分析]限制共享资源互斥使用后仍可能引起系统死锁,可举例说明.例如,教材中五个哲学家问题,采用了操作来保证共享资源地互斥使用,但还是发生了循环等待,且这种等待永远不能结束,引起了死锁.所以,资源地互斥使用不能保证系统不会死锁. [题解]否.文档收集自网络,仅用于个人学习
.(或发送),(或接收).发送者地信件,信箱
.互斥使用资源,循环等待资源死锁防止,死锁避免.防止
.静态分配,按序分配,剥夺式分配.不安全.银行家
.安全
.处理器,主存储器.循环等待资源.静态
四、填空题
.封闭性,可再现性.并发进程.与时间有关地.临界区
.,
.竞争(或互斥),协作(或同步)
.,
.等待信号量,就绪
.[题解],,,,.
三、判断题.[题解]是..[分析]如果不控制并发进程执行地相对速度,则它们在共享资源时可能会出现两种情况:一种是并发进程交替使用共享资源,这样就可能会发生与时间有关地错误;另一种是并发执行地速度没有致使它们交替使用共享资源,这时就不会出现与时间有关地错误.因而,本题地结论“一定会出现与时间有关地错误”是不对地. [题解]否.文档收集自网络,仅用于个人学习
.互斥使用资源,循环等待资源死锁防止,死锁避免.防止
.静态分配,按序分配,剥夺式分配.不安全.银行家
.安全
.处理器,主存储器.循环等待资源.静态
[题解]、、.
.[分析]根据操作地定义,当调用操作时,操作把信号量减去,若结果小于则调用者将等待信号量,否则可继续运行.因而,若调用()后地值为>则进程可以继续运行,故应选择和.要注意不能选择,因<>包含了>和<,当<时进程将成为等待状态而不能运行. [题解],.文档收集自网络,仅用于个人学习
.[题解],,.
.竞争(或互斥),协作(或同步)
.,
.等待信号量,就绪
.[分析]因规定该资源只能互斥使用,因而信号量地初值应定义为.当个进程各调用一次操作时将使信号量地值为最小. [题解],()或().文档收集自网络,仅用于个人学习
.[分析]由于初值为,因而调用了次操作后地值为().再调用次操作地话则信号量地值为(-+).「题解」.文档收集自网络,仅用于个人学习
. [分析]若任何一个进程在申请新资源前总是先归还已得到地资源,则任何进程都不会发生“占有且等待资源”地情况.也就是说,这种资源分配策略能破坏形成死锁地四个必要条件中地第二个条件,故可防止死锁.[题解]是.四、填空题文档收集自网络,仅用于个人学习
.封闭性,可再现性.并发进程.与时间有关地.临界区
.,
(){ (){
(); ();
(); ();
将产品入库;将产品入库;
(); ();
();} ();}
答案
文档收集自网络,仅用于个人学习
二、多项选择题
.[分析]任何一台在每一时刻只能解释执行一条指令,因而,不可能在同一时刻为多个进程服务.进程可同时执行地含义是一个进程地工作没有全部完成之前另一进程就可开始工作.所以,实际上多个进程是轮流占用运行地.到底哪个进程能占用处理器不仅与进程自身有关,且受外界因素地影响;当多个进程竞争时,必须由进程调度来决定当前哪个进程可以占用;故每个进程都是走走停停地,进程执行地速度不能完全由进程自己来控制.文档收集自网络,仅用于个人学习
有个运行进程,有个就绪进程,个进程处于等待状态
有个运行进程,有个就绪进程,没有进程处于等待状态
设有一个作业由四个进程组成,这四个进程在运行时必须按图所示地顺序,用、原语操作表达四个进程地同步关系.文档收集自网络,仅用于个人学习
应用题
设系统中只有一台打印机,有三个用户地程序在执行过程中都要使用打印机输出计算结果.设每个用户程序对应一个进程.问:这三个进程间有什么样地制约关系?试用、操作写出这些进程使用打印机地算法.文档收集自网络,仅用于个人学习
解:
()设公用信号量和控制进程对衣架和裤架地互斥操作
设私用信号量和分别表示衣架和裤架地空位数,
表示衣架上地衣服数,表示裤架上地裤子数
()初始化,,
,,,
()描述:
甲制作室工人工作过程:乙制作室工人工作过程:
:生产一件上衣:生产一条裤子
() ()
() ()
将上衣放到衣架上将裤子放到裤架上
() ()
() ()
.进程执行地速度完全由进程自己控制
.并发进程在访问共享资源时可能出现与时间有关地错误
.同步是指并发进程中存在地一种制约关系
.各自独立地并发进程在执行时不会相互影响文档收集自网络,仅用于个人学习
.一个正在运行地进程调用()后,若地值为(),则该进程可以继续运行.
.>
.<
.≠
.≥
.≤文档收集自网络,仅用于个人学习
进程同步与互斥
练习题
选择题
.任何两个并发进程之间存在着()地关系.
.各自完全独立
.拥有共享变量
.必须互斥
.可能相互制约文档收集自网络,仅用于个人学习
.并发进程执行地相对速度是().
.由进程地程序结构决定地
.由进程自己来控制地
.在进程被创建时确定地
.与进程调度策略有关地文档收集自网络,仅用于个人学习
.并发进程执行时可能会出现“与时间有关地错误”,这种错误是由于并发进程()引起地.
.用操作唤醒一个等待进程时,被唤醒进程地状态应变成()状态.
.执行
.就绪
.运行
.收容文档收集自网络,仅用于个人学习
.进程间地同步是指进程间在逻辑上地相互( )关系.
.联接.制约文档收集自网络,仅用于个人学习
.继续.调用
多项选择题
.有关并发进程地下列叙述中,()是正确地.
.任何时刻允许多个进程在同一上运行
配套工人工作过程:
:()
()
()
()
分别取上衣和裤子进行配套
()
()
()
()
在一个盒子里,混装了数量相等地黑白围棋子.现在利用自动分拣系统把黑子、白子分开,设分拣系统有两个进程和,其中进程拣白子;进程拣黑子.规定每个进程一次拣一子,当一个进程在拣时不允许另一个进程去拣,当一个进程拣了一子时,必须让另一个进程去拣.试写出进程和能够正确并发执行地程序.文档收集自网络,仅用于个人学习
对于两个并发进程,设互斥信号量为,若,则
表示没有进程进入临界区表示有一个进程进入临界区
表示有一个进程进入临界区,另一个进程等待进入
表示有两个进程进入临界区
设系统中有(>)进程,且当前不在执行进程调度程序,试考虑下述种情况哪种不能发生:
没有运行进程,有个就绪进程,个进程处于等待状态.
有个运行进程,没有就绪进程,个进程处于等待状
.任意值



.现有个具有相关临界区地并发进程,如果某进程调用操作后变为等待状态,则调用操作时信号量地值必定为().
.≤


.文档收集自网络,仅用于个人学习
.用操作管理临界区时把信号量地初值定义为,现已有一个进程在临界区,但有个进程在等待进人临界区,这时信号量地值为().



.文档收集自网络,仅用于个人学习
.两个不可被中断地文档收集自网络,仅用于个人学习
.进程从运行态变为等待态可能由于().
.执行了操作
.执行了操作
.时间片用完
.有高优先级进程就绪文档收集自网络,仅用于个人学习
.用操作管理互斥使用地资源时,信号量地初值应定义为().
.任意正整数


.文档收集自网络百度文库仅用于个人学习
.用、操作管理临界区时,互斥信号量地初值应定义为( ).
.[分析]因规定该资源只能互斥使用,因而信号量地初值应定义为.当个进程各调用一次操作时将使信号量地值为最小. [题解],()或().文档收集自网络,仅用于个人学习
.[分析]由于初值为,因而调用了次操作后地值为().再调用次操作地话则信号量地值为(-+).「题解」.文档收集自网络,仅用于个人学习
.(或发送),(或接收).发送者地信件,信箱
.使用共享资源
.执行地顺序性
.要求计算时间地长短
.程序地长度文档收集自网络,仅用于个人学习
.并发进程中与共享变量有关地程序段称为().
.共享子程序
.临界区
.管理区
.公共数据区文档收集自网络,仅用于个人学习
.用来实现进程同步与互斥地操作实际上是由()过程组成地.
.一个可被中断地
.一个不可被中断地
.两个可被中断地
判断下面地同步问题地算法是否正确?若有错,请指出错误原因并予以改正
()设、两进程共用一个缓冲区,向写入信息,则从读出信息,算法框图如图所示.
设、为两个并发进程,它们共享一临界资源.其运行临界区地算法框图如图所示.
某套装服装厂有甲乙两个制作室和一个配套室.两个制作室分别生产上衣和裤子,每制作一件上衣或裤子后制作室工人都要分别把它们送到配套室地衣架和裤架上,衣架上存放上衣,裤架上存放裤子,衣架最多能放件上衣,裤架最多能放条裤子.配套室工人每次从架上取一件上衣和一条裤子,然后将它们配成套装,并进行包装.为防止操作出错,甲制作室工人及配套室工人对衣架地存取动作应互斥进行,乙制作室工人及配套室工人对裤架地存取动作应互斥进行.用、原语进行正确管理,分别描述甲制作室工人、乙制作室工人以及配套室工人地工作过程.文档收集自网络,仅用于个人学习
判断题
.有交往地并发进程一定共享某些资源.()
.如果不能控制并发进程执行地相对速度,则它们在共享资源时一定会出现与时间有关地错误.()
.并发进程地执行结果只取决于进程本身,不受外界影响.()
.多道程序设计必然导致进程地并发执行.()
有个进程共享同一临界资源,若使用信号量机制实现对资源地互斥访问,则信号量值地变化范围是.文档收集自网络,仅用于个人学习
相关文档
最新文档