操作系统课程设计--有限缓冲区问题的实现

上传者: angolbest_solo | 上传时间: 2022-07-17 09:01:00 | 文件大小: 647KB | 文件类型: DOCX
本程序实现有限缓冲区问题,设计了两个进程,一个在地址空间运行,一个生产者进程 producer模拟生产产品,并把每个产品放到一个空缓冲中供消费consumer消费。消费者从缓冲区中取出产品,然后释放到空的缓冲池中。如果没有满缓冲,消费者就会被阻塞,直到生产者生产出新的产品。如果当生产者生产了配件后,没有空缓冲可用时,生产者就被阻塞,直到消费者线程释放出一个空缓冲。 程序使用共享内存的方法实现缓冲区,利用PV操作与信号量的方法实现生产者与消费者的同步。程序利用了三个信号量:mutex用于互斥地访问缓冲区;full用于判断缓冲区是否为满,用于指示消费者线程能否从缓冲区中取出产品;empty则是用于判断缓冲区是否为空,用于指示生产者线程能否进行生产。有限缓冲区问题的实现,其目的是为了了解UNIX的命令及格式,熟悉UNIX的常用基本命令以及相关的编译器。本程序用gcc、gdb编译、调试C程序,编写程序实现有限缓冲区问题。

文件下载

资源详情

[{"title":"( 5 个子文件 647KB ) 操作系统课程设计--有限缓冲区问题的实现","children":[{"title":"操作系统","children":[{"title":"源程序.docx <span style='color:#111;'> 15.76KB </span>","children":null,"spread":false},{"title":"有限缓冲区问题的实现课程设计说明书.docx <span style='color:#111;'> 348.50KB </span>","children":null,"spread":false},{"title":"1.c <span style='color:#111;'> 2.57KB </span>","children":null,"spread":false},{"title":"说明书.docx <span style='color:#111;'> 346.01KB </span>","children":null,"spread":false},{"title":"a.out <span style='color:#111;'> 16.80KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明