2024年3月14日发(作者:)

多进程同步方法解决生产者-消费者问题

课程设计报告

课程名称:操作系统

实验题目:用多进程同步方法解决生产者—消费者问

院 系:计算机科学与工程学院

班 级:

姓 名:

学 号:

指导老师:

多进程同步方法解决生产者-消费者问题

一、概述:

1、问题描述:

用多进程同步方法解决生产者—消费者问题

设计目的:通过研究Linux 的进程机制和信号量实现生产者消费者问题的并发控制.

说明:有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1-20这20个整型数。

设计要求:

1) 每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容,当前指

针位置和生产者/消费者线程的标识符.

2) 生产者和消费者各有两个以上.

3) 多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码。

2、程序设计基本思想:

生产者—消费者问题是一种同步问题的抽象描述.

计算机系统中的每个进程都可以消费或生产某类资源.当系统中某一进程使用某一资源时,可以看

作是消耗,且该进程称为消费者。

而当某个进程释放资源时,则它就相当一个生产者.

一个有限空间的共享缓冲区,负责存放货物.

生产者向缓冲区中放物品,缓冲区满则不能放.

消费者从缓冲区中拿物品,缓冲区空则不能拿。