第四章作业参考答案_第1页
第四章作业参考答案_第2页
第四章作业参考答案_第3页
第四章作业参考答案_第4页
第四章作业参考答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

回答2:多通道程序在单个中央处理器上同时运行和多通道程序在多个中央处理器上同时运行是有本质区别的。在单个中央处理器上,操作系统使用时间片循环算法在特定时间段内依次调度和执行多个程序。宏观上,多通道程序同时运行,而微观上,它们仍然串行执行。在多个中央处理器上,多个程序可以同时在多个中央处理器上并行执行,某个程序也可以同时在多个中央处理器上并行执行。实施前者时需要考虑的因素:(1)如何在多渠道的节目环境下为用户提供服务;(2)消息(通信)是否可以在并发程序之间正确传输;(3)如何调度中央处理器以保证每个用户公平地获得中央处理器;(中央处理器是可调度和未分配的资源)实施后者时需要考虑的因素:(1)在执行多通道程序时,如何将程序分配给中央处理器(2)多个CPU之间的通信问题(3)在多个处理器上并行执行一个程序时,如何调度和分配处理器9.描述以下哪些活动与相关?(1)一些学生去图书馆借书;这两个队打篮球。(3)装配线生产中的各工序;(4)商品生产和社会消费;回答:(1)相互排斥(2)相互排斥(3)同步关系(4)同步关系11.有一台带有两个输入/输出通道的计算机,分别与一台卡片输入机和一台打印机相连。卡片机将一叠卡片一张一张地输入缓冲器B1,然后在处理后将它们移动到缓冲器B2,并在打印机上打印它们。问题:(1)系统应该建立多少个过程来完成这个任务?他们的工作是什么?(2)这些过程之间的相互制约是什么?(3)用p v运算编写这些进程的同步算法。(4)系统中只有上述过程,它们的状态变化和原因用图表表示。回答:(1)系统应设置3个流程来完成此任务;第一步:将一叠纸牌从纸牌机一张一张地输入缓冲器B1;第二个过程是处理后移至缓冲B2。第三个过程:从缓冲区B2读取数据,然后打印机打印出来。(2)第一过程将一叠卡片从卡片机一张一张地输入缓冲器B1,第二过程处理B1中的数据。如果B1为空,则第二个过程无法继续;如果B1已满,第一个过程无法继续。第二个过程处理B1中的数据并将其移动到B2,第三个过程从B2读取数据。如果B2是空的,第三个过程就无法进行;如果B2客满,第二个过程就无法进行。(3)P:无法向全B1发送数据。用初始值k设置信号量S1(k是缓冲区B1的大小)虽然(真)读一张卡片;(S1);数据被发送到缓冲器B1;五(S2);Q:无法从空B1中读取数据,将信号量S2设置为初始值0;无法将数据发送到全B2,请用初始值l设置信号量S3(l是缓冲区B2的大小)虽然(真)(S2);从缓冲器B1读取数据;处理数据;五(S1);P(S3)将处理后的数据写入缓冲B2;五(S4);R:无法从空的B2读取数据,将信号量S4设置为初始值0;虽然(真)(S4);从缓冲区B2读取数据;五(S3)印刷;(4)卡片打印机B1B2B1未满B2没满B1不是空的B2不是空的流程1:奔跑准备好的等待jklmJB1满KB1未满阅读所有的l卡。新一批卡片操作流程2:奔跑准备好的等待jklmJB2满KB2未满LB1为空MB1不为空流程3:奔跑准备好的等待jklj无条件B2空空如也B2不是空的13假设一个阅览室最多可容纳100人,读者在进入和离开阅览室时必须在阅览室入口处签署登记表(进入时登记,离开时删除条目),一次只允许一人登记或删除登记。问:(1)应该编写几个程序来完成这项工作。这些计划的主要行动是什么?应该设置多少个过程?过程和程序之间的对应关系是什么?(2)写出这些进程与P和V操作的同步通信关系。回答:(1)应编写四个程序来完成工作。它们应该分别执行:管理等待登录的队列,登录并分配资源,管理等待离开的队列,注销并回收资源。应该设置两个过程来分别管理登录和注销。(2)将readercount设置为100,以控制可以输入的读者数量设置互斥量=1以控制操作登记表登录过程:互斥体P(readercount)分配阅览室资源v(互斥)注销过程:互斥体回收阅览室资源五(readercount)v(互斥)17.假设系统的磁盘大小为2kB,块的平均访问时间为20毫秒,一个40kB的进程由于资源请求而从运行状态变为阻塞状态。为了确保进程被换出,它必须保持阻塞多长时间?解决方案:阻塞时间:T=40/2 * 20=400(毫秒)18.如果甲站和乙站之间有单轨铁路,许多列车可以同时到达甲站,然后通过甲站到达乙站。列车从甲站到乙站的行程时间为T,列车到达乙站后的停留时间为t/2。这个问题模型中的关键资源是什么?什么是临界区?a:因为许多列车可以同时到达a站,所以a站并不是一个相互排斥的资源,a和b之间的单轨线路一次只能让一列列车离开,另一列才能离开。因为列车的行驶时间为t,B的停留时间为t/2,只要前一趟列车在第一个1/2行程后离开,前一趟列车到达B站时已经离开B站.(1)甲、乙间单轨铁路的前半段是关键资源。(2)临界区:列车运行在单轨线路的前半部分问题21(测试中的最后一个问题,类似,更简单)因为有m个发送器、n个接收器和k大小的缓冲器;从一个问题开始,发送方要么在缓冲区x中等待(前提是缓冲区x没有被清空,并且发送方在增量循环中使用缓冲区),要么将其发送到x,之后需要唤醒所有接收进程。接收过程持续轮询缓冲区,并采用增量循环方法。如果缓冲区有内容,它将收集未接收的缓冲区,并将数量减少1。如果减少到0,它会将缓冲区设置为空。总之,有必要为每个缓冲单元设置空的、满的、互斥的和未收集的数字(空的、满的、互斥的、计数),其中满是一个数组,用于记录每个接收器的情况并防止重复接收。互斥主要用于计数的独占访问。此外,设置全局互斥变量互斥。类型缓冲类型=记录msg :消息类型;count:integer整数;mutex:semaphore初始值为1empty:信号量;初始值为1full:数组1.n旗语的;所有初始值均为0目标Var mutex:信号量;初始值为1s:整数;初始值为0buff:数组0.缓冲器类型的k-1;k是缓冲区大小;n是接收进程的数量m是通过s发送进程和“写互斥体”的数量过程发送方_ I(i:整数);i是发送过程的标签Vars0,j:整数。开始重复互斥体;s0:=s。s 3360=(S1)mod k;v(互斥);p(缓冲s0。空的);将信息写入缓冲区s0。味精;p(缓冲s0。互斥体);buffs0. count :=n;v(缓冲s0。互斥体);对于(j:=1至n do)v(缓冲s0。完整j);直到错误;目标程序Recvr(I :整数);i是接收流程的标签Varj:整数。开始j:=0。重复P(buffj。完整I);从缓冲区读取信息j。味精;P(buffj。互斥体);buffj.count:=buffj。计数-1;If (buffj。计数=0)然后是伏(buffj。空的);V(buffj。互斥体);j:=(j 1) mod k直到错误;目标22.1。信号量描述:初始值为1的互斥体记录可以进入临界区的进程数;互斥算法;互斥体;进入临界区;v(互斥);结束。2.信号量描述:初始值为m的互斥体记录了可以进入临界区的进程数;互斥算法;互斥体;进入临界区;v(互斥);结束。25.一家快餐店雇用四种类型的员工:(1)发票人接受顾客的订单;(2)厨师,准备饭菜;(3)包装工,将食物粉碎成袋;(4)出纳,收钱,发货。每个员工都可以被看作是一个连续的沟通过程。他们使用哪种进程间通信?答:抽屉和厨师之间有管道沟通。发票(官方税务收据)发行人继续给厨师下订单,一次一个或多个。厨师一次可以点一份或更多。厨师和打包员之间有一个邮箱通信。他们之间有一个邮箱,可能是一个小平台。菜一做好,厨师就把它放在上面,这相当于把它放在邮箱里。包装工可以随时拿走盘子。打包员和收银员之间有消息缓冲区通信。打包员一有包裹号码就给收银员发信息。收银员拿起包装好的食物并出售。29.计算系统的中央处理器利用率。回答:1)当q等于无穷大时,算法降级为先进先出,CPU利用率为T/(ST)2)在2)QT中,进程在时间片用完之前被阻塞,所以CPU利用率仍然是T/(ST)3)S=2)类别锁定,并且只允许单向流量。锁的编号是1,2,按照这个顺序。来自大西洋的船只需要通过运河经由船闸T,T-1,1;来自太平洋的船只需要通过运河经由船闸1,2,t尝试P和V运算正确解决大西洋和太平洋的船舶航行问题答:来自不同方向的船只应该互相排斥。然而,如果同一方向的船只正在通过,就没有必要等待。为船闸设置以下变量:PtoAcount是一个整数,它记录了从太平洋航行到大西洋的船只的初始值0。一个整数,记录在此船闸从大西洋航行到太平洋的船舶的初始值0。互斥信号量,与PtoAcount初始值1互斥Mutex1信号量,AtoPcount互斥初始值1传递信号量初始值1从太平洋到大西洋的船只:互斥体;PtoAcount :=PtoAcount 1;如果PtoAcount=1然后P(通过);v(互斥);超过互斥体PtoAcount :=PtoAcount-1;如果PtoAcount=0;然后五(通过);v(互斥);从大西洋到太平洋的船只:p(mute x1);atop count :=atop count 1;如果ATopcount=1;然后P(通过);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论