- 89
- 0
- 约6.31千字
- 约 34页
- 2017-10-18 发布于浙江
- 举报
第三章进的程管理5
复习 进程间的制约关系有哪两种? 什么是进程互斥?什么是进程同步? 什么是私用信号量?什么是公用信号量?各用于何处? 解决进程互斥和同步问题的步骤是什么? 第三章 进程管理 习题课 生产者----消费者问题 把并发进程同步和互斥问题一般化,得到一个抽象的模型,即生产者——消费者问题 生产者:释放某一类资源的进程 消费者:使用某一类资源的进程 问题描述:若干个进程通过有限的共享缓冲区交换数据,其中生产者进程不断写入,消费者进程不断读出,共享缓冲区共有n个,任一时刻只能有一个进程对整个共享缓冲区进行操作 生产者----消费者问题 分析: 1)同步问题:生产者想写入时,缓冲区中至少有一个时空的,消费者想读出时,缓冲区中至少有一个是满的 互斥问题:任一时刻只能有一个进程可以对缓冲区操作 用P、V原语实现生产者----消费者问题 解:1)设私用信号量avail表示缓冲区中的空单元数,full表示缓冲区中的满单元数;公用信号量mutex表示整个缓冲区是否在使用 2)设初始值avail=n,full=0,mutex=1 3)描述 生产者----消费者问题 注意:P操作顺序很重要:先检查是否有资源可用,再检查是否互斥;V操作顺序无所谓 用P、V原语实现哲学家问题 例1:5个哲学家在圆桌前进餐,两个人之间各放一根筷子。哲学家或者思考或者分别取左右手边的筷子进餐。请用P、
原创力文档

文档评论(0)