习题课(一)+PV操作应用.pptVIP

  • 19
  • 0
  • 约7.81千字
  • 约 30页
  • 2017-06-25 发布于河南
  • 举报
习题课(一)PV操作应用

习题课(一) PV操作的应用 PV原语的含义 P:passeren pass V:verhoog increment P操作和V操作是不可中断的程序段,称为原语。 PV操作对于每一个进程来说,都只能进行一次,而且必须成对使用。在PV原语执行期间不允许有中断的发生。 PV原语的含义 信号量S是一整数 P(S)原语操作的动作是: (1)S减1; (2)若S减1后仍大于或等于零,则进程继续执行; (3)若S减1后小于零,则该进程被阻塞后进入与该 信号相对应的队列中,然后转进程调度。 V(S)原语操作的动作是: (1)S加1; (2)若相加结果大于零,则进程继续执行; (3)若相加结果小于或等于零,则从该信号的等待 队列中唤醒一等待进程,然后再返回原进程继续执 行或转进程调度。 用PV操作实现进程的互斥与同步 解决此类问题的一般方式: 根据问题给出的条件,确定进程有几个或几类; 确定进程间的制约关系——是互斥,还是同步; 各相关进程间通过什么信号量实现彼此的制约,标明信号量的含义和初值; 用PV操作写出相应的代码段 验证代码的正确性:设以不同的次序运行各进程,是否能保证问题的圆满解决,切忌按固定顺序执行各进程。 苹果桔子问题 桌上有一只盘子,每次只能放入一只水果;爸爸专 向盘子中放苹果(apple),妈妈专向盘子中放桔子 (orange),一个儿子专等

文档评论(0)

1亿VIP精品文档

相关文档