经典进程同步问题.ppt

上传人:xt****7 文档编号:5994157 上传时间:2020-02-13 格式:PPT 页数:14 大小:416.47KB
返回 下载 相关 举报
经典进程同步问题.ppt_第1页
第1页 / 共14页
经典进程同步问题.ppt_第2页
第2页 / 共14页
经典进程同步问题.ppt_第3页
第3页 / 共14页
点击查看更多>>
资源描述
1 操作系统原理第三章进程管理之三 2 1 生产者与消费者问题2 读者与写者问题3 哲学家就餐问题 3 生产者与消费者 引言 问题描述 一组生产者进程通过一个具有n个缓冲区的缓冲池循环不断地向一组消费者提供产品 怎样才能正确描述这两个进程 4 解 1 设置信号量的情况 设同步信号量empty 初值为n 表示生产者有n个空缓冲区可用 同步信号量full 初值为0 表示生产者尚未把产品放入缓冲池 互斥信号量mutex 初值为1 以保证同时只有一个进程能够进入临界区 访问访冲池 5 2 算法描述 6 varmutex empty full semaphore 1 n 0 buffer arr 0 1 n 1 ofitem in out integer 0 0 processproceducerbeginrepeat生产出一产品 p empty p mutex buffer in nextp in in 1 modn v mutex v full untilfalse end processconsumerbeginrepeatp full p mutex nextc buffer out out out 1 modn v mutex v empty 消费该产品 untilfalse end cobegin coend 7 读者与写着 问题描述 一组读者 指对共享数据对象只要求读的进程 与一组写者 指对共享数据对象只要求写的进程 循环访问共享的同一个数据对象 规定多个读者可以同时读这个数据对象 但绝不允许多个写者对这个数据对象进行写操作 也不允许读者 写者同时访问这个数据对象 8 解 1 设置信号量的情况 设互斥信号量wmutex 初值为1 用于实现写者与其它写者或读者互斥地访问共享数据对象 互斥信号量rmutex 初值为1 用于实现读者互斥地访问读者计数器变量 设整型变量RC 初值为0 用于对读者进行计数 9 2 算法描述 10 varrmutex wmutex semaphore 1 1 RC integer 0 processreaderbeginrepeatp rmutex ifRC 0thenp wmutex RC RC 1 v rmutex 读数据对象 p rmutex RC RC 1 ifRC 0thenv wmutex v rmutex untilfalse end cobegin 11 processwriterbeginrepeatp wmutex 对数据进行写操作 v wmutex untilfalse end coend 12 哲学家问题 问题描述 在一个圆形餐桌上有5份通心粉 间隔放有5把叉子 5个哲学家各自坐在一份通心粉前 哲学家思考时 他们不做任何动作 当他们饥饿时 必须手持两把叉子才能吃通心粉 而且只能取得自己左右手边的叉子 吃完后 叉子必须放回 13 解 1 设置信号量的情况 放在桌上的叉子为临界资源 在一段时间内只允许一位哲学家试用 设五个信号量用数组来描述 varstick arr 0 4 ofsemaphore 14 2 算法描述 process哲学家beginrepeatp stick i p stick i 1 mod5 吃通心粉 p stick i p stick i 1 mod5 思考 untilfalse end
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!