ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:150.50KB ,
资源ID:14185571      下载积分:15 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14185571.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第四章作业参考答案Word下载.doc)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第四章作业参考答案Word下载.doc

1、问:(1)系统要设几个进程来完成这个任务?各自的工作是什么?(2)这些进程间有什么样的相互制约关系?(3)用PV操作写出这些进程的同步算法。(4)设系统中只有上述几个过程,用图表示出各自状态变迁情况及原因。(1)系统要设3个进程来完成这个任务; 第一个进程:从卡片机把一叠卡片逐一输入到缓冲区B1中; 第二个进程:加工处理后再搬到缓冲区B2中; 第三个进程:从缓冲区B2读出,打印机印出。(2)第一个进程从卡片机把一叠卡片逐一输入到缓冲区B1中,第二个进程加工处理B1中的数据。如果B1为空,则第二个进程无法进行;如果B1满了,第一个进程不能再进行。 第二个进程加工处理B1中的数据并搬到B2中,第三

2、个进程从B2读出。如果B2为空,则第三个进程无法进行;如果B2满了,第二个进程无法进行。(3)P:不能往满的B1送数据,设信号量S1,初值为k(k为缓冲区B1的大小)while(true)读一张卡片;P(S1);数据送到缓冲区B1;V(S2);Q:不能从空的B1读数据,设信号量S2,初值为0;不能往满的B2送数据,设信号量S3,初值为l(l为缓冲区B2的大小)P(S2);从缓冲区B1读数据;加工数据;V(S1);P(S3)加工的数据写入缓冲区B2;V(S4)R:不能从空的B2读数据,设信号量S4,初值为0;P(S4);从缓冲区B2读数据;V(S3)打印;(4)卡片打印机B1B2B1未满B2未满

3、B1非空B2非空进程一:运行就绪等待jklmjB1满kB1未满l卡片全部读完m新的一批卡片作业进程二:jB2满kB2未满lB1空mB1非空进程三:j无条件k B2空l B2非空13假定一个阅览室最多可容纳100人,读者进入和离开阅览室时都必须在阅览室门口的一个登记表上标志(进入时登记,离开时去掉登记项),而且每次只允许一人登记或去掉登记,问:(1) 应编写几个程序完成此项工作,程序的主要动作是些什么?应设置几个进程?进程与程序间的对应关系如何?(2) 用P、V操作写出这些进程的同步通信关系。(1) 应该编写四个程序完成工作,分别执行:管理等待登入队列,登入并分配资源,管理等待离开队列,登出并回

4、收资源。应设置2个进程,分别负责管理登入和负责管理登出。(2) 设置readercount=100,控制可进入的读者数设置mutex=1,控制操作登记表登入进程:P(mutex)P(readercount)分配阅览室资源V(mutex)登出进程:回收阅览室资源V(readercount)17假设一个系统的磁盘大小为2kB,一个块的平均访问时间是20毫秒,一个有40kB的进程由于资源请求此从运行状态变为阻塞态。要确保将该进程换出,它必须保持阻塞多长时间?解:阻塞时间:T = 40/2 * 20 =400 (毫秒)18.假使A、B两个火车站之间是单轨线,许多列车可以同时到达A站,然后经A站到B站,

5、又列车从A到B的行驶时间是t,列车到B站后的停留时间是t/2。试问在该问题模型中,什么是临界资源?什么是临界区?因为许多列车可以同时到达A站,所以A站不是互斥资源,而A、B之间的单轨线每次只能允许一辆列车发出以后另一辆才能发出。因为列车行驶时间为t,B的停留时间为t/2,所以只要在前一辆列车走完前1/2路程后再发车,到达B站时前一辆车也已离开B站。(1)A、B间单轨线的前半段是临界资源。 (2)临界区:列车在单轨线前半段上行驶21题 (测验的最后一题,类似,更简单)由于有m个发送者,n个接收者,k大小的缓冲区;从单个的问题出发,发送者要么等待在第x缓冲区(条件是缓冲区x未被清空,而发送者采用递

6、增环状方式使用缓冲区)要么发送到x,发送完后需要唤醒所有接收进程。接收进程不停的轮询缓冲区,也采用递增环状方式,如果缓冲区有内容,则收取,并把此缓冲区的未接收数减一,如果减至0,则置缓冲区为空。综上所述,需要对每个缓冲区单位设置空,满,互斥量,未收取数(empty,full,mutex,count)其中full是一个数组,记录每个接收者的情况,防止重复接收,mutex主要用来做count的互斥访问。此外,还要设置全局的互斥变量mutex。Type BufferType = Recordmsg:MessageType;count:integer;mutex:semaphore; 初值为1empt

7、y: semaphore;full: array 1.n of semaphore; 初值全为0EndVar mutex:s: integer; 初值为0buff: array 0.k-1 of BufferType; k是缓冲区大小; n是接收进程个数 m是发送进程个数,通过 s 进行“写互斥” Procedure Sender_i(i:integer); i 为发送进程的标号Vars0, j:Begin Repeat P(mutex); s0:=s; s:=(s+1) mod k; V(mutex); P(buffs0.empty); 在buffs0.msg中写信息; P(buffs0.m

8、utex); buffs0.count:=n; V(buffs0.mutex); For (j:=1 to n do) V(buffs0.fullj); Until false;EndProcedure Recvr(i: i 为接收进程的标号Varj: j:=0; P(buffj.fulli); 从buffj.msg中读信息; P(buffj.mutex); buffj.count:= buffj.count-1; If (buffj.count=0) Then V(buffj.empty); V(buffj.mutex); j:=(j+1) mod kUntil false;22.信号量说明

9、:mutex,初值为,记录可进入临界区的进程数;互斥算法;P(mutex); 进入临界区;V(mutex); 结束; mutex,初值为m,记录可进入临界区的进程数; 互斥算法;结束;25.一家快餐店招有4种雇员:(1)开票者,取顾客的订单;(2)厨师,准备饭菜;(3)包装员,把食物撞进袋中;(4)出纳,一手收钱一手交货。每位雇员可以看作一个在通信的顺序进程。他们采用的是什么方式的进程间通信? 开票者和厨师之间是管道通信。开票者源源不断的把订单给厨师,一次可能给一张也可能给多张,厨师一次可能拿走一张订单去做也可能拿走多张去做。厨师和包装员之间是信箱通信,他们之间有个信箱,可能就是一个小平台,厨

10、师做好就把菜放上去,相当于放进信箱 ,而包装员可以在任何时候取走那个菜。包装员和出纳之间是消息缓冲通信,包装员包号了就给出纳发消息,出纳得到消息就取走包好的饭菜然后出售。29计算系统CPU利用率。1)Q等于无穷时,算法退化为FIFO,这时CPU利用率为T/(S+T)2)QT时,进程在用完时间片之前已被堵塞,因此CPU利用率仍为T/(S+T)3)SQ=2)级船闸,并且只能允许单向通行。船闸依次编号为1、2、T。由大西洋来的船需经由船闸T、T-1、1通过运河到太平洋;由太平洋来的船需经由船闸1、2、T通过运河到大西洋。试用P、V操作正确解决大西洋和太平洋的船只通航问题来自不同方向的船只对船闸要互斥

11、使用。但如过有同方向的船只正在通行,则不用等待。对一个船闸设以下变量:PtoAcount 整型,记录此船闸正由太平洋往大西洋航行的船只 初值0。AtoPcount 整型,记录此船闸正由大西洋往太平洋航行的船只 初值0。Mutex 信号量,对PtoAcount互斥 初值1Mutex1 信号量,对AtoPcount互斥 初值1Pass 信号量 初值1太平洋到大西洋的船:P(mutex);PtoAcount:=PtoAcount+1;if PtoAcount = 1then P(pass);V(mutex);过P(mutex)=PtoAcount-1;if PtoAcount = 0;then V(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1