单选题
| 已知有10个进程共享一个互斥段,如果最多允许6个进程同时进入互斥段,则信号量S的初值是{{U}}
(1) {{/U}},其变化范围是{{U}} (2)
{{/U}}。 |
单选题
(1)
单选题
(2)
【正确答案】
C
【答案解析】[解析] 已知有10个进程共享一个互斥段,如果最多允许6个进程同时进入互斥段,这意味着系统有6个单位的资源,信号量S的初值应当设置为6。第1空的正确答案为选项D。
当第一个申请该资源的进程对信号量S进行P操作,信号量S减1等于5,进程可继续进行;当第2个申请该资源的进程对信号量S进行P操作,信号量S减1等于4,进程可继续进行;……当第10个申请该资源的进程对信号量S进行P操作,信号量S减1等于-4,进程可继续进行。所以,信号量S的变化范围是-4~6。第2空的正确答案为选项C。
单选题
(1)
单选题
(2)
【正确答案】
C
【答案解析】[解析] 由于系统中只有一个缓冲区,需要设置一个信号量S1,且初值为1,表示缓冲区为空,可以将产品放入缓冲区。第1空的正确答案为选项D。
为了实现P1与P2的进程同步,要设置另一个信号量S2,且初值为0,表示缓冲区中有产品。第2空的正确答案为选项C。
单选题
(1)
单选题
(2)
【正确答案】
C
【答案解析】[解析] 进程同步是进程之间的合作而引起的制约问题。要实现进程同步,可使用一个信号量与消息联系起来,信号量如果为0,表示消息未产生;信号量如果为1,表示消息已存在。本题是最简单的单缓冲区的生产者和消费者的同步问题。
P操作的定义是:S=S-1,若S>=0,则执行P操作的进程继续执行。若S<0,则进程进入阻塞状态。
V操作的定义是:S=S+1,若S>O,则执行V操作的进程继续执行。若S<=0,则进程唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。
第1空的正确答案为选项B。第2空的正确答案为选项C。