- 2
- 0
- 约2.9千字
- 约 21页
- 2019-08-10 发布于辽宁
- 举报
第九讲 进程同步与通讯 目的与要求:掌握信号量解决进程同步互斥问题的方法;掌握进程通信的基本实现方法。 重点与难点:信号量的典型应用,通讯实现。 作业:13,14 4.2.5 进程同步与互斥举例 一、有限缓冲区问题 问题描述:设有n个缓冲区,一组生产者进程往缓冲区写数据,一组消费者进程从缓冲区取数据,写取以一个缓冲区为单位。 说明: 将缓冲池看作是共享数据,对缓冲区的 操作必须是互斥操作。 如果n个缓冲区全满,生产者进程必须 等待。 如果缓冲区全空,消费者进程必须等待。 有限缓冲区的生产者/消费者问题(生产者和消费者共享一个产品缓冲池) 共享N个缓冲区 P1 P2 … Pm C1 C2 …Cn 生产者 消费者 缓冲池 解:设置以下信号量 mutex,初值为1,控制互斥访问缓冲池。 full,初值为0,表示当前缓冲池中满缓冲区数。 empty,初值为n,表示当前缓冲池中空缓冲区数。 有限缓冲区生产者/消费者进程描述如下: item表示消息数据类型; semaphor full,empty,mutex; item nextp,nextc; 置初值 full=0; empty=n; mutex=1; P(empty); P(mutex); get a empty bufferi; bufferi =
原创力文档

文档评论(0)