欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    2为什么进程在进入临界区之前应先执行进入区代码?而在退出前又要执行退出区代码?.docx

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

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

    2为什么进程在进入临界区之前应先执行进入区代码?而在退出前又要执行退出区代码?.docx

    2为什么进程在进入临界区之前应先执行进入区代码?而在退出前又要执行退出区代码?1、进程在运行时存在哪两种形式的制约?并举例说明之。 间接相互制约关系:例:有两个进程A和B,如果在A进程提出打印请求时,系统已将唯一的一台打印机分配给了进程B,则此时进程A只能阻塞,一旦进程B将打印机释放,则A进程才能由阻塞改为就绪状态。 直接相互制约关系:例:有一输入进程A通过单缓冲向进程B提供数据。当该缓冲空时,计算进程因不能获得所需数据而阻塞,而当进程A把数据输入缓冲区后,便将进程B唤醒;反之当缓冲区已满时,进程A因不能再向缓冲区投放数据而阻塞当进程B将缓冲区数据取走后便可唤醒。 2、为什么进程在进入临界区之前应先执行“进入区”代码?而在退出前又要执行“退出区”代码? 为了实现多个进程对临界资源的互斥访问,必须在临界区之前加一段用于检查临界资源是否正在被访问的代码,如未被访问,该进程可进入临界区对此临界资源进行访问;如正被访问则该进程不能进入临界区访问临界资源。在退出临界区后,执行恢复访问标志的代码为“退出去”,而在退出前执行“退出区”代码主要是为了使其他进程能再访问此临界资源。 3、在生产者-消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果将会有何影响? 缺少signal,那么表明从第一个生产者进程开始就没有对信号量full值改变,即使缓冲池存放的产品已满了,但full的值还是0,这样消费者进程在执行wait时会认为缓冲池是空的而取不到产品,那么消费者进程则会一直处于等待状态。缺少了signal,例如在生产者进程向n个缓冲区投满产品后消费者进程才开始从中取产品,这时empyt=0,full=n ,那么每当消费者进程取走一个产品时empty并没有被改变,直到缓冲池中的产品都取走了,empty的值也一直是0即使目前缓冲池有n个投放产品空缓冲区,生产者进程要想再往缓冲池中投放产品会因会因申请不到空缓冲区而被阻塞。 4、在生产者-消费者问题中,如果将两个wait操作互换位置,或将两个signal操作互换位置,结果会如何? 将wait(full)和wait互换位置后,可能引起死锁,考虑系统中缓冲区全满时,若一生产者进程先执行了wait操作并获得成功,则再执行wait操作时,他将因失败而进入阻塞状态它期待消费者进程执行signal来唤醒自己,在此之前他不可能执行signal操作从而使试图通过执行wait操作而进入自己的临界区的其他生产者和消费者进程全部进入阻塞状态这样容易引起系统反锁。若signal和signal互换位置后只是影响进程对临界资源的释放次序,而不会引起系统死锁,因此可以互换位置。 5、课本P82 22题 Var a,b,c,d,e,f,g,h,i,j;semaphore:=0,0,0,0,0,0,0,0,0,0,: begin parbegin begin S1; signal(a):signal(b);end; begin wait(a);S2;signal(c);signal(d);end; begin wait(b);S3;signal(e);signal(f);end; begin wait(c);S4;signal(g);end; begin wait(d);S5;signal(h);end; begin wait(e);S6;signal(i);end; begin wait(f);S7;signal(j);end; begin wait(g);wait(h);wait(i);wait(j);S8;end; parend end

    注意事项

    本文(2为什么进程在进入临界区之前应先执行进入区代码?而在退出前又要执行退出区代码?.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开