欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

经典PV操作问题详解

  • 资源ID:170113886       资源大小:14.50KB        全文页数:4页
  • 资源格式: DOC        下载积分:9积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要9积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

经典PV操作问题详解

经典PV操作问题详解 - 经典P、V操作问题详解 lionxcatgmail 一、根本概念 1. 信号量 struct semaphore int value; / 仅且必须附初值一次,初值非负 PCBtype* wait_queue; / 在此信号量上阻塞的进程队列 S; / 信号量实例为S 2. P、V操作 P(S) V(S) S := S+1; if (S0) 从S等待队列头释放一进程就绪在就绪队列尾; S := S-1; if (S=0; j-) P(Sj); DO_JOB_IN_CRITICAL_SECTION; for(j=0;j<=n-2;j+) V(Sj); 二、经典进程同步问题 总述:进程同步问题主要分为以下几类:一消费者消费者问题;二读者写者问题;三哲学家就餐问题;四爱睡觉的理发师问题;五音乐爱好者问题;六船闸问题;七红黑客问题等。其中前两类都是用于处理进程之间通信的问题:消费者消费者问题主要实现进程的消息机制,而读者写者问题用于实现管道通信。哲学家就餐问题是经典的互斥转同步防止死锁的多资争夺。理发师问题合适I/O或外部设备的管理,如打印调度。红黑客问题是解决不同条件触发事件的思想方法。 I. 消费者消费者问题(初始缓冲区为空) 问题:消费者消费产品放到缓冲区,消费者从缓冲区取产品消费。 单缓冲区书P119(合适单或多消费消费者): 同步:消费者不能往满缓冲区放产品(S1(1);消费者不能从空缓冲区取产品(S2(0)。 void Producer while (true) 消费一个产品; P(S1); 放到缓冲区; V(S2); void Consumer while (true) P(S2); 从缓冲区取一个产品; V(S1); 消费产品; 环行多缓冲区或无穷缓冲区单消费消费者习题P173-13: 同步:消费者不能往满缓冲区放产品(S1(n);消费者不能从空缓冲区取产品(S2(0)。n为缓冲区大小。 互斥:设置指示下一个空缓冲区的位置变量(i(0)和指示下一个产品在缓冲区的位置变量(j(0),由于只有一个消费者和消费者,i和j无须互斥访问。此问题无互斥关系。 void Producer while (true) 消费了一个产品; P(S1); 把产品放入缓冲区; i = (i+1)%n; / 无穷缓冲区无须%n V(S2); void Consumer while (true) P(S2); 取一个产品; j = (j+1)%n; / 无穷缓冲区无须%n V(S1); 消费产品; 环行多缓冲区多消费消费者书P120: 同步:消费者不能往满缓冲区放产品(S1(n);消费者不能从空缓冲区取产品(S2(0)。n为缓冲区大小。 互斥:设置指示下一个空缓冲区的位置变量(i(0),消费者之间互斥(mutex1(1);设置指示下一个产品在缓冲区的位置变量(j(0),消费者之间互斥(mutex2(1)。也可以消费者和消费者之间都互斥(把mutex1和mutex2都换成一个mutex(1)。 void Producer while(true) 消费一个产品; P(S1); P(mutex1); 放到缓冲区; i = (i+1)%n; V(mutex1); V(S2); void Consumer while(true) P(S2); P(mutex2); 从第j个缓冲区取一个产品; j = (j+1)%n; V(mutex2); V(S1); 消费产品; 用进程通信(信箱通信)的方法解决上述问题习题P175-27: 问题:发送进程把缓冲区中的消息挂到接收进程的消息链上。 同步:发送进程发送消息数量不限,无消息时接收进程不能取信息,故设置当前消息数量(m-syn(0)。 问题:发送进程把信息发到信箱中,接收进程随时取信。 第 4 页 共 4 页

注意事项

本文(经典PV操作问题详解)为本站会员(Wo****B)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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