Advertisement

操作系统中的进程同步实验

阅读量:

一、实验目的
通过运用实验四中所提供的技术手段与实例,针对进程同步方面的典型问题进行求解,如生产者消费者问题、哲学家进餐问题等。
二、实验环境
硬件配置:具备一台计算机设备,并连接至局域网;
软件配置:采用Linux Ubuntu操作系统,以及gcc编译工具。
三、实验内容
依据实验四中所介绍的进程同步机制,完成以下问题的实现:
1、生产者消费者问题
问题说明:若干个生产者进程向多个消费者进程提供商品,这两类进程共同使用一个由n个缓冲区构成的有限容量缓冲池。生产者进程将产品放入尚未填满的缓冲池中,而消费者进程则从已存有数据的缓冲池中取出产品并加以消费。
只要缓冲池尚未达到最大容量,生产者便可继续将产品送入其中;当缓冲池未被完全清空时,消费者即可从中取出产品。
然而,不允许生产者在缓冲池已满的情况下继续添加产品,也不允许消费者在缓冲池为空时尝试获取数据。
为避免对缓冲池产生并发操作冲突,因此规定在任何时刻仅允许一个操作主体对缓冲池进行访问。

复制代码
    #include<stdio.h> 
    #include<stdlib.h> 
    #include<unistd.h> 
    #include<pthread.h> 
    #include<semaphore.h> 
    
    #define PRODUCE

全部评论 (0)

还没有任何评论哟~