简答题

试述PV操作是如何实现进程同步的?

正确答案

用PV操作实现进程同步时,只需要将一个信号量与一个消息联系起来(若有多个消息就用多个信号量一一加以联系),当信号量的值为“0”时表明等待的消息尚未产生,当信号量的值为非“0”时表明等待的消息已经产生。显而易见,任何同步进程只要执行P操作就可得知自己所等待的消息是否已经到达。若用信号量S表示一消息,S=0表示消息未产生,执行P操作的进程将被封锁,成为等待消息S的状态。当S≠0时,表明消息已到达,执行P操作的进程会因得知消息到达而可以继续执行。同理,当进程要向其他进程发送消息时可以执行V操作。在执行V操作之前若S=0,表明消息未产生且无等待该消息的进程,此时发消息的进程执行V操作后,使S≠0,表明消息已产生;在执行V操作前若S<0,表明消息未产生但有进程在等待该消息,此时,发消息的进程执行V操作后会释放一个等待消息S的进程,也就是说,执行V操作的进程将消息传送给了等待消息的进程,使等待消息进程可以等待调度进机继续执行了。

答案解析

相似试题
  • 如何利用信号量PV操作实现进程的同步?

    简答题查看答案

  • 使用PV操作实现进程同步时,应保证()

    单选题查看答案

  • 试用PV操作实现如图所示进程之间的同步,并写出程序描述。

    简答题查看答案

  • 有三个进程共享同一程序段,而每次最多允许两个进程进入该程序段,若用PV操作作为同步机制,则信号量S的取值范围是()

    单选题查看答案

  • 用PV操作实现多个并发进程的互斥执行时,信号量的初值为()

    单选题查看答案

  • 在使用PV操作实现进程互斥时,必须成对出现,在进入临界区之前要调用(),在完成临界区操作后要调用()

    填空题查看答案

  • n个并发进程共用一个公共变量Q,写出用PV操作实现这n个进程互斥时的程序描述,并说明信号量的取值范围。

    简答题查看答案

  • 假定一个生产者和一个消费者共用一个存储器。存储器每次只能存、取一个物品。请用PV操作实现生产者、消费者间的同步。

    简答题查看答案

  • 一条小河上有一座独木桥,规定每次只允许一个人过桥,现河东、河西都有人要过桥,如果把每个过桥者看做一个进程,为保证安全,请用PV操作实现正确管理。

    简答题查看答案