版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
生产者–消费者问题(即有界缓冲区问题)问题一群生产者向一个有界缓冲区存放产品,只要缓冲区未满,就可以存入;又有一群消费者从有界缓冲区取走产品,只要缓冲区未空,就可以取走。要求存与存之间、取与取之间和存与取之间不能同时进行,即一次只能有一个生产者或者一个消费者进入缓冲区,也就是所有的生产者与消费者必须互斥地访问缓冲区。当缓冲区满时,生产者停止放入产品,当缓冲区空时,消费者停止取走产品,即生产与消费同步。这里,生产的产品与消费的产品是等效的。生产者–消费者问题(即有界缓冲区问题)用P、V操作解决。设置信号量:互斥使用有界缓冲区的信号量S,初值为1;同步信号量:有界缓冲区的大小,即可以存放产品的最大数n,初值为k;有界缓冲区中已经存放的产品个数m,初值为0。生产者–消费者问题的解决如图所示。用P、V操作解决。图生产者-消费者问题生产产品→缓冲区生产者P(n)V(s)P(s)V(m)缓冲区→取走产品消费者P(m)V(s)P(s)V(n)图生产者-消费者问题生产产品→缓冲区生产者P(n)V(s问题(课本pp42的问题):(1)若消费速度较生产速度快得多,上图可以简化吗?如何简化?(2)若P(n)与P(s)颠倒,会产生什么问题?(3)若V(s)与V(m)颠倒,会如何?V(s)与V(n)呢?问题(课本pp42的问题):(1)若消费速度较生产速度快得多解答(1)若消费速度较生产速度快得多,上图可以简化吗?如何简化?答案:可以简化,简化结果如图。因为消费速度较生产速度快得多,缓冲区总是空的,相当于p(n)操作不会出现等待状态,故可以省略简化,v(n)不需要唤醒,也可以省略简化。解答(1)若消费速度较生产速度快得多,上图可以简化吗?如何简简化结果图生产者-消费者问题简化结果生产产品→缓冲区生产者V(s)P(s)V(m)缓冲区→取走产品消费者P(m)V(s)P(s)简化结果图生产者-消费者问题简化结果生产产品→缓冲区生产解答(2)若P(n)与P(s)颠倒,会产生什么问题?答案:若P(n)与P(s)颠倒,会产生死锁问题。因为有可能出现缓冲区满,n=0,s=1的情形:生产者执行P(s),则s变为s=0;生产者执行P(n),则n变为n=-1,生产者阻塞。消费者执行P(m);消费者执行P(s),则s变为s=-1,消费者阻塞;这样进入相互等待状态,如果没有外界作用,则导致死锁。解答(2)若P(n)与P(s)颠倒,会产生什么问题?解答(3)若V(s)与V(m)颠倒,会如何?V(s)与V(n)呢?答案:不会死锁。因为v操作,是释放资源,不存在死锁的条件。解答(3)若V(s)与V(m)颠倒,会如何?V(s)与V(n问题有一台计算机,具有1MB内存,操作系统占用200KB,每个用户占用200KB。如果用户进程等待I/O的时间为80%,若增加1MB内存,则CPU的利用率提高多少?问题有一台计算机,具有1MB内存,操作系统占用200KB,每解答每个进程等待的百分比率为p,则n个进程同时等待的概率为pn,当n个进程同时等待I/O期间CPU是空闲的,故CPU的利用率是1-pn除去操作系统占用的内存,剩余内存能容纳4个用户进程,由于每个用户进程等待I/O的时间为80%,故CPU的利用率为1-(80%)4=59%解答每个进程等待的百分比率为p,则n个进程同时等待的概率为p解答若再增加1M内存,内存就能容纳9个用户进程了,CPU的利用率为1-(80%)9=87%利用率提高为(87%)/(59%)=147%147%-100%=47%
增加1M内存CPU利用率47%。解答若再增加1M内存,内存就能容纳9个用户进程了,CPU的利问题若内存中存在3道程序A、B、C,它们按照A、B、C的优先次序运行。各程序的计算轨迹为:A:计算(20ms)、I/O(30ms)、计算(10ms)B:计算(40ms)、I/O(20ms)、计算(10ms)C:计算(10ms)、I/O(30ms)、计算(20ms)问:如果三道程序都使用相同的设备进行I/O(即程序用串行方式使用设备,调度开销忽略不计)。试分别画出单道和多道运行的时间关系图。两种情况下,CPU的平均利用率各为多少?问题若内存中存在3道程序A、B、C,它们按照A、B、C的优先解答单道:总运行时间是190ms,CPU的利用率是110/190=61.3%。解答单道:总运行时间是190ms,CPU的利用率是110/1解答多道的总运行时间140ms,CPU的利用率是110/140=78.6%。解答多道的总运行时间140ms,CPU的利用率是110/14问题假设有一种低级调度算法是让“最近使用处理器较少的进程”运行,试解释这种算法对“I/O繁重”型作业有利,但并不是永远不受理“处理器繁重”型作业。问题假设有一种低级调度算法是让“最近使用处理器较少的进程”运解答因为I/O繁忙作业忙于I/O,所以使用CPU较少,按照调度策略算法优先执行。一个进程等待CPU时间够长,是最近最少使用CPU进程,被优先调度。解答因为I/O繁忙作业忙于I/O,所以使用CPU较少,按照调题二:计算作业周转时间操作系统中采用多道程序设计技术以提高CPU及各种资源的利用率,试以下例比较说明.假定系统中有一个CPU,一台I/O设备,二者可同时工作,有三个作业X,Y,Z,各自的程序行为是:
I/OCPUI/OCPUI/O(单位:ms)X2020203020Y40304010Z302030①假若采用单道串行方式调度运行,总的周转时间是多少?②假若采用多道程序设计技术调度,调度优先权X最高,Y其次,Z最低,当前三个作业都已就绪.试画出调度时序图,给出各自的以及总的周转时间.题二:计算作业周转时间操作系统中采用多道程序设计技术以提高C题二续①各自的周转时间X=(20+20+20+30+20)=110(ms)Y=(20+20+20+30+20)+(40+30+40+10)=230(ms)Z=(20+20+20+30+20)+(40+30+40+10)+(30+20+30)=310(ms)总的=110+230+310=570,平均=570/3=190②各自的周转时间 X:110(ms) Y:140(ms) Z:210(ms)总的=110+140+210=460,平均=460/3153
tXYZI/OYYXXXZI/OCPUI/OCPUI/O(单位:ms)X2020203020Y40304010Z30203020202020203020304010303020题二续①各自的周转时间tXYZI/OYYXXXZ题三:银行家算法在银行家算法中,若出现下述的资源分配情况:
ProcessAllocationNeedAvailablep01,0,2,37,6,6,13,0,1,4p12,1,0,16,6,5,7p21,0,4,13,5,1,5p30,3,2,13,1,2,8p43,2,1,03,2,2,5p50,1,2,62,0,1,2试问:(1)该状态是否安全? (要写出银行家算法的过程)(2)若进程p1提出请求Request(2,0,1,1)后,系统能否将资源分配给它?为什么?Available的变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家装水电施工安全保证合同书范本版
- 星巴克专用咖啡机租赁服务合同2024年版版
- 古玩玉器寄售合作合同(2024版)
- 技术外包人员服务细则合同
- 2024年激光照排设备及系统项目申请报告模范
- 2024年第三方担保公司为客户反担保合同版
- 2024房产中介服务买卖协议范本版
- 2024年个人融资借款综合性协议范本版
- 2024年版企业技术工程师聘用协议版
- 2024年度回迁房购买协议版
- 2024年全国软件水平考试之初级网络管理员考试经典测试题(附答案)
- 《危险化学品企业安全生产标准化评审标准》
- DL-T 1160-2021 电站锅炉受热面电弧喷涂施工及验收规范
- 煤矿知识考试400题及答案
- 文学活动赞助协议
- 政府回购厂房合同范本
- 2024年中考英语题型复习:阅读理解(含练习题及答案)
- 2024年江西邮政揽投部经理岗位社会招聘高频考题难、易错点模拟试题(共500题)附带答案详解
- 2024年北京市昌平区中考英语二模试卷
- HYT 087-2005 近岸海洋生态健康评价指南
- 人教版五年级美术学科试卷(附带答案和考察要点解说)
评论
0/150
提交评论