进程同步问题习题答案
- 格式:doc
- 大小:47.50 KB
- 文档页数:3
操作系统作业【注意】对于作业中的选择题,都要求抄写题目(题中若有插图可不画),并在题目上填写答案。
作业1——进程同步(1)1.设有n个进程使用同一个共享变量,如果最多允许m(m < n)个进程同时进入相关临界区,则信号量的变化范围是。
A. n,n-1,...,n-mB. m,m-1,...1,0,-1,...m-nC. m,m-1,...1,0,-1,...m-n-1D. m,m-1,...1,0,-1,...m-n+12.对于有两个并发进程的系统,设互斥信号量为mutex,若mutex=0,则。
A. 表示没有进程进入与mutex相关的临界区B. 表示有一个进程进入与mutex相关的临界区C. 表示有一个进程进入与mutex相关的临界区,另一个进程等待进入D.表示有两个进程进入与mutex相关的临界区3.S.queue,S.value是信号灯S的两个组成部分,当S.queue为空时,S.value的值是( ) A.S.value≤0 B.S.value=0 C.S.value=1 D.Svalue≥04.如果信号量的当前值为-3,则表示系统中在该信号量上有个等待进程。
5.下列选项中,操作系统提供给应用程序的接口是。
(2010全国试题)A.系统调用B.中断C.库函数D.原语6.下列选项中,导致创建新进程的操作是。
(2010全国试题)I.用户登录成功II.设备分配III.启动程序执行A.仅I和II B.仅II和III C.仅I和III D.I、II和III7.设与某资源关联的信号量初值为3,当前值为1。
若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是。
(2010全国试题)A.0、1 B.1、0 C.1、2 D.2、0作业2——进程同步(2)1.如何利用信号量机制来实现多个进程对临界资源的互斥访问?2.四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F,但限制是进程A 和进程C不能同时读文件F,进程B和进程D也不能同时读文件F,为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:(1)应定义的信号量及初值:。
第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。
A.管道B.管程C.通道D.DMA2.以下_B__不是操作系统的进程通信手段。
A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。
A.3B.2C.1D.04.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V 操作管理时信号量S的可能取值是_C__。
A.3,2,1,0,-1B.2,1,0,-1,-2C. 1,0,-1,-2,-3D.4,3,2,1,05.下面有关进程的描述,是正确的__A__。
A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误D.P、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__。
A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B_ _。
A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__。
A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C. 信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10. 并发是指_C__。
A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11. 临界区是_C__。
A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C__。
第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。
A.管道B.管程C.通道2.以下_B__不是操作系统的进程通信手段。
A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。
4.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V 操作管理时信号量S的可能取值是_C_。
,2,1,0,-1,1,0,-1,-2C.1,0,-1,-2,-3,3,2,1,05.下面有关进程的描述,是正确的__A__oA.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误、V操作不是原语操作6.信号灯可以用来实现进程之间的_B_。
A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B__0A.没有进程进入临界区8.有1个进程进入了临界区C.有2个进程进入了临界区D.有1个进程进入了临界区并且另一个进程正等待进入8.信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_CA.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C.信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10.并发是指_C__。
A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11.临界区是_C__。
A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C_。
A.进程之间无关,系统是封闭的B.进程之间相互依赖相互制约C.进程之间可能有关,也可能无关D.以上都不对13.在消息缓冲通信中,消息队列是一种__A_资源。
一、单选题1、关于进程控制块的描述,如下存在问题的选项是()。
A.操作系统控制和管理并发执行进程的依据B.进程存在的惟一标志,离散存放于内存空间或对应程序的文件目录项中C.进程实体的一部分,是拥有描述进程情况及控制进程运行所需的全部信息的记录性数据结构D.使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程正确答案:B2、进程标识符和进程控制块的分配可能发生在进程的()阶段。
A.阻塞B.挂起C.创建D.终止正确答案:C3、当一个进程被()时,可能会发生处理器的调度。
①终止;②挂起;③唤醒;④阻塞A.①②④B.①③④C.①②③④D.①④正确答案:C4、对于系统服务进程而言,如果当前没有任务,便会引发自身的()事件。
A.进程阻塞B.进程唤醒C.进程终止D.进程挂起正确答案:A5、引起进程重新调度的原因不包括()。
A.进程放弃处理器B.进程从核心态返回用户态C.进程执行系统调用和陷入内核态D.时钟中断正确答案:C6、关于进程同步机制基本准则:当无进程处于某临界资源所对应的临界区时,可允许一个请求进入(该临界资源所对应的)临界区的进程立即进入自己的临界区,这称之为()。
A.忙则等待B.有限等待C.空闲让进D.让权等待正确答案:C7、关于进程同步机制基本准则:当已有进程进入自己的对应于某临界资源的临界区时,所有企图进入该临界资源所对应临界区的进程必须等待,这称之为()。
A.循环等待B.忙则等待C.有限等待D.让权等待正确答案:B8、关于进程同步机制基本准则:对要求访问临界资源的进程,应保证该进程能在有限时间内进入自己的临界区,这称之为()。
A.忙则等待B.循环等待C.有限等待D.让权等待正确答案:C9、进程同步机制应遵循让权等待准则,故而当一个进程不能进入自己的临界区时,其应当释放()。
A.处理器B.I/O设备C.内存空间D.外存空间正确答案:A10、利用硬件指令能有效地实现进程互斥,但它却不能满足()的准则,造成了处理器时间的浪费,而且也很难将它用于解决较复杂的进程同步问题。
第三章一.选择题(50题)1.以下_B__操作系统中的技术是用来解决进程同步的。
A.管道B.管程C.通道2.以下_B__不是操作系统的进程通信手段。
A.管道B.原语C.套接字D.文件映射3.如果有3个进程共享同一程序段,而且每次最多允许两个进程进入该程序段,则信号量的初值应设置为_B__。
4.设有4个进程共享一个资源,如果每次只允许一个进程使用该资源,则用P、V操作管理时信号量S的可能取值是_C__。
,2,1,0,-1 ,1,0,-1,-2 C. 1,0,-1,-2,-3 ,3,2,1,05.下面有关进程的描述,是正确的__A__。
A.进程执行的相对速度不能由进程自己来控制B.进程利用信号量的P、V 操作可以交换大量的信息C.并发进程在访问共享资源时,不可能出现与时间有关的错误、V操作不是原语操作6.信号灯可以用来实现进程之间的_B__。
A.调度B.同步与互斥C.同步D.互斥7.对于两个并发进程都想进入临界区,设互斥信号量为S,若某时S=0,表示_B__。
A.没有进程进入临界区B.有1个进程进入了临界区C. 有2个进程进入了临界区D. 有1个进程进入了临界区并且另一个进程正等待进入8. 信箱通信是一种_B__方式A.直接通信B.间接通信C.低级通信D.信号量9.以下关于临界区的说法,是正确的_C__。
A.对于临界区,最重要的是判断哪个进程先进入B.若进程A已进入临界区,而进程B的优先级高于进程A,则进程B可以打断进程A而自己进入临界区C. 信号量的初值非负,在其上只能做PV操作D.两个互斥进程在临界区内,对共享变量的操作是相同的10. 并发是指_C__。
A.可平行执行的进程B.可先后执行的进程C.可同时执行的进程D.不可中断的进程11. 临界区是_C__。
A.一个缓冲区B.一段数据区C.一段程序D.栈12.进程在处理机上执行,它们的关系是_C__。
A.进程之间无关,系统是封闭的B.进程之间相互依赖相互制约C.进程之间可能有关,也可能无关D.以上都不对13. 在消息缓冲通信中,消息队列是一种__A__资源。
1【单选题】用P、V操作管理临界区时,互斥信号量的初值应定义为( A)。
•A,1•B,0•C,-1•D,任意值2【单选题】在操作系统中,对信号量S的P原语操作定义中,使进程进入相应等待队列等待的条件是( )。
•A,S>0•B,S = 0•C,S<0•D,S<>0我的答案:C3【单选题】信号量S的初值为8,在S上执行了10次wait 操作,6次signal操作后,S的值为(D )。
•A,10•B,8•C,6•D,4P操作每执行一次,信号量减1;V操作每执行一次,信号量加1.所以答案为8-10+6 = 44【单选题】用V操作唤醒一个等待进程时,被唤醒进程的状态应变成( B)状态。
•A,执行•B,就绪•C,阻塞•D,挂起被唤醒的进程由等待状态变为就绪状态。
5【单选题】利用Wait和signal操作可以( )。
•A,实现进程互斥和同步•B,检测死锁•C,解除死锁•D,防止死锁我的答案:A6【单选题】两个并发进程,设互斥信号量mutex(初值为1),若信号量=0;则(B )•A,表示没有进程进入临界区•B,表示有一个进程进入临界区•C,表示有一个进程进入临界区,另一个进程等待进入•D,表示两个进程进入临界区临界区不允许两个进程同时进入,D选项明显错误。
mutex初值为1,表示允许一个进程进入临界区,当有一个进程进入临界区且没有进程等待进入时,mutex值减1,变为0。
7【单选题】V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值等于零,则从等待队列中唤醒一个进程,现进程变为等待状态,否则现进程继续进行。
•A,对•B,错我的答案:B8【单选题】有3个进程,两台打印机,用wait和sigual操作来实现互斥访问打印机,则信号量S的取值范围是( )•A,2,1,0,-1•B,3,2,1,0•C,2,1,0,-1,-2•D,1,0,-1,-2我的答案:如果n个进程共享两个打印机,信号量取值范围:-(n-2)~2;9【单选题】设与某资源相关的资源信号量K,初值为3,当前值为1,则可用资源个数为( ),等待资源的进程数为( )。
第4章进程同步与通信1)选择题(1)在操作系统中,P、V操作是一种_D__。
A. 机器指令B. 系统调用命令C. 作业控制命令D. 低级进程通信原语(2)若信号量S的初值为2,当前值为-1,则表示有_B__等待进程。
A. 0个B. l个C. 2个D. 3个(3)在直接通信方式中,系统提供两条通信原语进行发送和接收,其中Send原语中参数应是_C_。
A. sender,messageB. sender,mailboxC. receiver,messageD. receiver,mailbox(4)下述那个选项不是管程的组成部分_A__。
A. 管程外过程调用管程内数据结构的说明B. 管程内对数据结构进行操作的一组过程C. 局部于管程的共享数据说明D. 对局部于管程的数据结构设置初值的语句(5)某通信方式通过共享存储区来实现,其属于_D__。
A. 消息通信B. 低级通信C. 管道通信D. 高级通信(6)用P、V操作管理临界区时,信号量的初值应定义为__C__。
A. -1B. 0C. 1D. 任意值(7)临界区是_B__。
A. 一个缓冲区B. 一段程序C. 一段共享数据区D. 一个互斥资源(8)信箱通信是一种_D__通信方式。
A. 直接通信B. 信号量C. 低级通信D. 间接通信(9)对于两个并发进程,设互斥信号量为mutex,若mutex=0则__A_。
A. 表示有一个进程进入临界区B. 表示没有进程进入临界区C. 表示有一个进程进入临界区,另一个进程等待进入D. 表示有两个进程进入临界区(10)对信号量S执行V操作后,下述选项正确的是_C__。
A. 当S小于等于0时唤醒一个阻塞进程B. 当S小于0时唤醒一个阻塞进程C. 当S小于等于0时唤醒一个就绪进程D. 当S小于0时唤醒一个就绪进程(11)在消息缓冲通信中,消息队列属于_A__资源。
A. 临界B. 共享C. 永久D. 可剥夺(12)在消息缓冲通信机制中,使用的临界资源是_D__。
进程同步练习
1.有一阅览室,共有100个座位。
读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名。
读者离开时要消掉登记内容。
试用P、V操作描述读者进程的同步结构。
var
mutex : semaphere;信号量,用于互斥
full : semaphere; 信号量,用于同步
table : array 0..n-1 of item; 登记表
procedure reader; 读者进程
begin
P(full);
P(mutex);
Register_name(table);
V(mutex);
Reading;
P(mutex);
Delet_name(table);
V(mutex);
V(full)
end;
begin
seminitsal(mutex.v,1; full.v,100); 初始化
cobegin
reader;
reader;
...
coend
end.
2.设公共汽车上有一位司机和一位售票员,它们的活动如下:
司机:售票员:
请分析司机与售票员之间的同步关系,如何用PV操作实现。
答:为了安全起见,显然要求:关车门后才能启动车辆;到站停车后才能开车门。
所以司机和售票员在到站、开门、关门、启动车辆这几个活动之间存在着同步关系。
用两个信号量S1、S2分别表示可以开车和可以开门,S1的初值为1,S2的初值为0。
用PV操作实现司机进程和售票员进程同步的算法描述如下:司机:售票员:
)
)
到站停车关车门
V(S2)V(S1)
另外,程序中PV操作出现的顺序与信号量的初值设置有关,以本题为例,算法如下描述时,S1、S2的初值均应为0。
司机:售票员:
)
)
)
S1)
14、进程之间存在哪几种制约关系?各是什么原因引起的?下列活动分别属于哪种制约关系?
–(1)若干同学去图书馆借书。
–(2)两队举行篮球比赛。
–(3)流水线生产的各道工序。
–(4)商品生产和社会消费。
解:(1)间接制约,书是临界资源
(2)间接制约,篮球是临界资源。
(3)直接制约。
(4) 直接制约。
例题:一个理发店由一个有N张沙发的等候室和一个放有一张理发椅的理发室组成。
要求:
(1)没有顾客要理发时,理发师便去睡觉。
(2)当一个顾客走进理发店时,如果所有的沙发都已经被占用,他便离开理发店;否则如果理发师正在为其他顾客理发,则该顾客就找一张空沙发坐下等待。
(3)如果理发师因无顾客正在睡觉,则由新到的顾客唤醒理发师为其理发。
(4)理发完成后,顾客必须付费,直到理发师收费后才能离开理发店。
试用信号量解决这一同步问题。
答:设置一个整形变量count用来对理发店中的顾客进行计数,并需设置6个信号量。
其中:mutex 用来实现顾客进程对count变量的互斥访问,其初值为1;
Sofa是对应于等候室中N张沙发的资源信号量,其初值为N;
Empty表示是否有空闲的理发椅,其初值为1;
full表示理发椅上是否坐有等待的顾客,其初值为0;
payment 表示等待付费,初值为0;
receipt 用来等待收费,初值为0。
具体算法如下:
var count:=integer:=0;
mutex,sofa,empty,full:semaphore:=1,N,1,0;
cut,payment,receipt:semaphore:=0,0,0;
begin
parbegin
guest:begin
wait(mutex);
if(count>N) then
begin
signal(mutex);
离开理发店;
end
else
begin
count:=count+1;
if(count>1) then
begin
wait(sofa);
在沙发上就座;
wait(empty);
从沙发上起来;
signal(sofa);
end
else/*count=1*/
wait(empty);
在理发椅上就座;
signal(full);
理发;
付费;
signal(payment);
wait(receipt);
从理发椅上起来;
signal(empty);
wait(mutex);
count:=count-1;
signal(mutex);
离开理发店;
end
end
barber: begin
repeat
wait(full);
替顾客理发;
wait(payment);
收费;
signal(receipt);
until false
end
parend
end。