操作系统原理课程设计 有限缓冲区问题的实现,共20页,2365字,附源程序及任务书。 目录 摘要 3 正文 4 1.设计思路 4 2.各模块的伪码算法 4 3.函数调用关系图 9 4.测试 9 设计总结 10 参考文献 11 致谢 12 附录:部分源程序代码 13 摘要 关键词: 有限缓冲区问题;进程同步;生产者消费者 本程序实现有限缓冲区问题。设计了两个进程,在一个地址空间运行,一个生产者进程producer模拟生产产品,并把每个产品放到一个空缓冲中供消费者consumer消费;消费者从缓冲区中取出产品,然后释放到空的缓冲池中。如果没有满缓冲,消费者被阻塞,直到生产者生产出新的产品。如果当生产者生产了配件后,没有空缓冲可用时,生产者被阻塞,直到消费者线程释放出一个空缓冲。 程序使用共享内存的方法实现缓冲区,利用PV操作与信号量的方法实现生产者与消费者的同步。程序利用了三个信号量,mutexid用于互斥地访问缓冲区,fullid用于判断缓冲区是否满,用于指示消费者线程能否从缓冲区中取出产品,而emptyid则是用于判断缓冲区是否空,用于指示生产者线程能否进行生产。 |
查看评论
已有0位网友发表了看法