操作系统复习习题.doc
《操作系统复习习题.doc》由会员分享,可在线阅读,更多相关《操作系统复习习题.doc(13页珍藏版)》请在咨信网上搜索。
1、1.若一只盘子一次只能放一个水果,A只往盘中放苹果,B只往盘中放梨子,C只从盘中取苹果,D只从盘中取梨子。试用:(1) 信号量和P、V操作;(2) 管程,写出同步算法。解:(1) 采用P、V操作的同步算法如下:semaphore SAB=1; /A、B的资源信号量,同时又是它们的互斥信号量semaphore SC=0; /C的资源信号量(用于与A同步)semaphore SD=0; /D的资源信号量(用于与B同步)beginparbeginprocess A: /进程A的算法描述while(true) 取一个苹果;wait(SAB); /测试盘子是否为空将一苹果放入盘中;signal(SC)
2、/通知C盘中已有苹果(可能唤醒C)process C:while(true) wait(SC); /测试盘子是否有苹果从盘中取出苹果;signal(SAB); /通知A(或B)盘子一空(可能唤醒A或B)消费该苹果;process B: /进程B的算法描述while(true) 取一个梨子;wait(SAB); /测试盘子是否为空将一梨子放入盘中;signal(SD) /通知D盘中已有梨子(可能唤醒D)process D:while(true) wait(SD); /测试盘子是否有梨子从盘中取出梨子;signal(SAB); /通知A(或B)盘子一空(可能唤醒A或B)消费该梨子;parenden
3、d(2) 采用管程的同步算法如下:首先定义管程MPC,该管程可描述如下:type MPC=monitor var flag: integer;/flag=0:盘中无水果;=1盘中有苹果;=2盘中有梨子 empty: condition;/用于A或B等待空盘子 W: array1.2 of condition/W1用于等待苹果,W2用于等待梨子 procedure entry put(integer k) beginif flag0 then empty.wait; /生产者A或B进程阻塞flag=k;放一k号水果入盘中;/设1号水果为苹果,2号水果为梨子if Wk.queue then ful
4、l.signal; /若有等待k号水果者,则唤醒之 end procedure entry get(integer k) begin if flagk then Wk.wait;/消费者C或D进程阻塞 从盘中取k号水果; flag := 0; if empty.queue then empty.signal; /若等待队列非空,则唤醒队首的一个生产者进程 endbegin flag :=0; /初始化内部数据endA、B、C、D四个进程的同步算法可描述如下:parbeginProcess Abegin任取一个苹果;MPC.put(1);endProcess Bbegin任取一个梨子;MPC.p
5、ut(2);endProcess CbeginMPC.get(1);吃苹果;endProcess DbeginMPC.get(2);吃梨子;endparend2.设自行车生产车间有两个货架,货架A可以存放8个车架,货架B可以存放20个车轮;又设有4个工人,他们的活动是重复劳动,分别为:工人1 加工一个车架放入货架A中;工人2、3分别加工车轮放入货架B中(每人每次放入1个车轮);工人4从货架A中取一个车架,再从货架B中取两个车轮,组装成一辆自行车。试用PV操作实现四个工人的合作。【分析】信号量Aempty表示货架A的空位数,其初值为8;信号量Afull表示货架A上存放的车架数,其初值为0;信号量
6、Bempty表示货架B的空位数,其初值为20;信号量Bfull表示货架B上存放的车轮数,其初值为0;信号量mutex用于互斥(初值为1)。解:BEGINsemaphore Aempty,Bempty,Afull,Bfull,mutex;Aempty := 8;Bempty := 20;Afull := 0;Bfull := 0;mutex :=1;PARBEGINWorker1:BEGINL1:生产1个车架;P(Aempty);/测试货架A是否有空位置P(mutex);/互斥使用货架A车架放到货架A;V(Afull);/货架A上的车架数增1,必要时唤醒等待的进程V(mutex);goto L1
7、;ENDWorker2、3:BEGINL2:生产1个车轮;P(Bempty);/测试货架B是否有空位置P(mutex);/互斥使用货架B车轮放到货架B;V(Bfull);/货架B上的车轮数增1,必要时唤醒等待的进程V(mutex);goto L2;ENDWorker4:BEGINL3:P(Afull);/测试货架A上是否有车架P(Bfull);P(Bfull);/测试货架B上是否有2个车轮P(mutex);取1个车架;取2个车轮;V(Aempty);/货架A空位置增1V(Bempty);V(Bempty);/货架B空位置增2V(mutex);组装成一辆自行车;goto L3;ENDPAREND
8、END3.有两个作业A和B,分别在7:00和8:30到达系统,它们估计的计算时间分别为0.8小时和0.1小时,系统在9:00开始以响应比高者优先算法进行调度。在单道系统中该两个作业被选中时的响应比各为多少?解:9:00时,作业A的响应比=1+2/0.8=3.5作业B的响应比=1+0.5/0.1=6所以9:00时作业调度程序选中作业B9:06作业B结束,调度作业A,此时作业A的响应比=1+2.1/0.8=3.625综上可知,在单道系统中A、B两个作业被选中时的响应比分别为3.625和64.有一个具有两道作业的批处理系统(最多可有两道作业同时装入内存执行),作业调度采用计算时间短的作业优先调度算法
9、,进程调度采用以优先数为基础的抢占式调度算法,今有如下作业序列,作业优先数即为进程优先数,优先数越小优先级越高:作业名到达时间估计运行时间优先数J110 : 1020分钟5J210 : 2030分钟3J310 : 3025分钟4J410 : 5020分钟6列出所有作业进入内存时间及结束时间。(1) 计算平均周转时间。解:先作必要的分析(可在草稿纸上完成,分析过程不计分):10:10J1被调入,开始运行10:20J2进入内存,因优先级高,开始运行J1运行了10分钟,还剩10分钟,因优先级低,运行态变就绪态10:30J1继续就绪J2运行了10分钟,还剩20分钟J3到达,但不能被调入10:50J2运
10、行结束,J4到达调入短作业J4,但因J4优先级比J1低,J1开始继续运行11:00J1运行结束J3被调入,因优先级高,开始运行J4因优先级低,仍就绪11:25J3运行结束,J4开始运行11:45J4运行结束(1)各个作业进入主存时间、结束时间和周转时间如下表所示:(6分)作业名提交时间进入时间结束时间周转时间J110:1010:1011:0050J210:2010:2010:5030J310:3011:0011:2555J410:5010:5011:4555(2) 平均周转时间:(50+30+55+55)/4=47.5(min)5.有一个多道程序设计系统,采用不可移动的可变分区方式管理主存空间
11、,设主存空间为100K,采用最先适应分配算法分配主存,作业调度采用响应比高者优先算法,进程调度采用时间片轮转算法(即内存中的作业均分CPU时间),今有如下作业序列:作业名提交时间需要执行时间要求主存量J110 : 0040分钟25KJ210 : 1530分钟60KJ310 : 3020分钟50KJ410 : 3525分钟18KJ510 : 4015分钟20K假定所有作业都是计算型作业且忽略系统调度时间。回答下列问题:(1)列表说明各个作业被装入主存的时间、完成时间和周转时间;(2)写出各作业被调入主存的顺序;(3)计算5个作业的平均周转时间。解:先作必要的分析(可在草稿纸上完成,分析过程不计分
12、):10:00J1到达,被调入内存并开始运行,内存剩75KB10:15J2到达,被调入内存并开始与J1一起运行。J1运行了15分钟,还需执行25分钟。内存剩15KB10:30J3到达,因内存不能满足,不被调入。J1、J2继续运行。10:35J4到达,因内存不能满足,不被调入。此时J1相当于已运行了15+10=25分钟,还需执行15分钟;J2相当于已运行了10分钟,还需执行20分钟。10:40J5到达,因内存不能满足,不被调入。J1、J2继续运行。11:05J1运行结束,J2还需执行5分钟。内存中的2个空闲分区分别是25K和15K,能满足J4或J5需求,但不能满足J3的需要。J4的响应比=1+3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 复习 习题
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【1587****927】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【1587****927】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。