阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】 在并发系统设计中,通过

6 查阅

阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。

【说明】

在并发系统设计中,通过对信号量S的P、V操作实现进程的同步与互斥控制。

P(S):S:=S-1,若S≥0,则执行P操作的进程继续执行:若S<0,则置该进程为阻塞状态,并将其插入阻塞队列。

V(S):S:=S+1,若S>0,则执行V操作的进程继续执行;若S≤0,则从阻塞队列唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续执行。

在某并发系统中,有一个发送进程A、一个接收进程B、一个环形缓冲区BUFFER、信号量S1和S2。发送进程不断地产生消息并写入缓冲区BUFFER,接收进程不断地从缓冲区BUFFER取消息。假设发送进程和接收进程可以并发地执行,那么,当缓冲区的容量为N时,如何使用P、V操作才能保证系统的正常工作。发送进程A和接收进程B的工作流程如图4-1所示。请在图4-1中的空(1)~(4)处填入正确的内容。

参考答案:

(1)P(S1) (2)V(S2) (3)P(S2) (4)V(S1)(1)P(S1) (2)V(S2) (3)P(S2) (4)V(S1) 解析:本题考查的是并发系统的同步与互斥控制。 在并发系统中,同时存在的多个进程在执行速度上是相对独立的,它们以各自的运行速度向前推进。但是,由于多个并发进程或者共享系统资源,或者合作完成某项任务,所以它们之间常常存在着相互制约或彼此依赖的关系,进程之间的这种制约和依赖关系可以归结为两种基本形式:同步和互斥。 一般来说,一个进程相对

软考中级