第6章_进程管理与作业管理1.pptVIP

  • 15
  • 0
  • 约9.91千字
  • 约 71页
  • 2016-10-21 发布于广东
  • 举报
* 用P、V操作实现进程间的同步 P,V操作的顺序与信号量的设置初值有关。 p150 * 生产者-消费者问题 问题描述:若干进程通过有限的共享缓冲区交换数据。其中,“生产者”进程不断写入,而“消费者”进程不断读出;共享缓冲区共有N个;任何时刻只能有一个进程可对共享缓冲区进行操作。 生产者可以按自己的步调产生项目并保存在缓冲区中。 消费者以类似的方法进行,但必须确保它不会从一个空的缓冲区中读,因此,消费者在开始进行之前应该确保生产者在它前面已经生产。 缓冲区只能以互斥方式使用。 * 生产者-消费者问题 0 1 …… k-1 箱子,容量k B:Array[0..k-1]Of item 生产者 消费者 生产物品 放入B中 B中取物品 消费 * 生产者-消费者问题 分析 生产者与生产者之间——互斥 消费者与消费者之间——互斥 生产者与消费者之间——即有同步又有互斥 设置信号量(设初始缓冲池为空,共有n个缓冲区) 用于互斥的公共信号量:s=1 生产者的私有信号量:empty=n 消费者的私有信号量:full=0 实际上,full和empty同一个含义:full + empty = N 设立IN和OUT作为指向可用缓冲区的指针 * 生产者-消费者问题 生产产品 P(empty) P(s) buffer(in)=product; in=(in

文档评论(0)

1亿VIP精品文档

相关文档