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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

操作系统原理离线答案.docx

1、操作系统原理离线答案大学远程教育操作系统原理答案1. 进程P0和P1的共享变量定义及其初值为boolean flag2;int turn=0;flag0=FALSE;flag1=FALSE; 若进程P0和P1访问临界资源的类C代码实现如下:void P0() /P0进程 while(TURE)flag0=TRUE; turn = 1;while (flag1 & turn = 1) ; 临界区; flag0 = FALSE; void P1() /P1进程 while(TURE)flag1=TRUE; turn = 0;while (flag0 & turn = 0) ; 临界区; flag1

2、 = FALSE; 则并发执行进程P0和P1时产生的情况是:A不能保证进程互斥进入临界区、会出现“饥饿”现象B不能保证进程互斥进入临界区、不会出现“饥饿”现象C能保证进程互斥进入临界区、会出现“饥饿”现象D能保证进程互斥进入临界区、不会出现“饥饿”现象【答案】D2.有两个进程P1和P2描述如下:shared data:int counter = 6; P1 : Computing; counter=counter+1; P2 : Printing; counter=counter-2;两个进程并发执行,运行完成后,counter的值不可能为 。 A. 4 B. 5 C. 6 D. 7【答案】C

3、3.某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为210字节,页表项大小为2字节,逻辑地址结构为:页目录号 页号 页内偏移量逻辑地址空间大小为216页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是A64 B128 C256 D512【答案】B4.在动态分区系统中,有如下空闲块:空闲块 块大小(KB) 块的基址1 80 602 75 1503 55 2504 90 350此时,某进程P请求50KB内存,系统从第1个空闲块开始查找,结果把第4个空闲块分配给了P进程 ,请问是用哪一种分区分配算法实现这一方案?A. 首次适应 B. 最佳适应 C. 最差适应 D. 下次适应【答案

4、】C5.在一页式存储管理系统中,页表内容如下所示。页号 帧号0 21 12 8若页大小为1K,逻辑地址的页号为2,页内地址为451,转换成的物理地址为A. 8643 B. 8192 C. 2048 D. 2499【答案】A6.采用段式存储管理的系统中,若地址用32位表示,其中20位表示段号,则允许每段的最大长度是A 224 B. 212 C. 210 D. 232【答案】B7.在一段式存储管理系统中,某段表的内容如下: 段号 段首址 段长0 100K 35K1 560K 20K2 260K 15K3 670K 32K若逻辑地址为(2, 158),则它对应的物理地址为_。A. 100K+158

5、B. 260K+158 C. 560K+158 D. 670K+158【答案】B8.一个分段存储管理系统中,地址长度为32位,其中段长占8位,则最大段长是A. 28字节 B. 216字节 C. 224字节 D. 232字节【答案】C9.有一请求分页式存储管理系统,页面大小为每页100字节,有一个5050的整型数组按行为主序连续存放,每个整数占两个字节,将数组初始化为0的程序描述如下:int A5050;for (int i = 0; i 50; i+) for (int j = 0; j 50; j+) Ai,j = 0; 若在程执行时内存只有一个存储块用来存放数组信息,试问该程序执行时产生

6、次缺页中断。A1 B. 50 C. 100 D. 2500【答案】B 10.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示: 页 装入时间 上次引用时间 R M 0 126 279 0 0 1 230 260 1 0 2 120 272 1 1 3 160 280 1 1采用FIFO算法将淘汰 页;A. 0 B. 1 C. 2 D. 3【答案】C11.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示: 页 装入时间 上次引用时间 R M 0 126 279 0 0 1 230 260 1 0 2 120 272 1 1

7、3 160 280 1 1采用NRU算法将淘汰 页;A. 0 B. 1 C. 2 D. 3【答案】A12.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示: 页 装入时间 上次引用时间 R M 0 126 279 0 0 1 230 260 1 0 2 120 272 1 1 3 160 280 1 1采用LRU算法将淘汰 页;A. 0 B. 1 C. 2 D. 3【答案】B 13.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示: 页 装入时间 上次引用时间 R M 0 126 279 0 0 1 230 260 1 0

8、 2 120 272 1 1 3 160 280 1 1 采用第二次机会算法将淘汰_页;A. 0 B. 1 C. 2 D. 3【答案】A二、综合题1.4对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。1.17a.批处理:具有相似需求的作业被成批的集合起来,并把它们作为一个整体通过一个操作员或自动作业程序装置运行通过计算机。通过缓冲区,线下操作,后台和多道程序,运用尝试保持CPU和I/O一直繁忙,从而使得性能被提高。批处理系统对于运行那些需要较少互动的大型作业十分适用。它

9、们可以被更迟地提交或获得。b.交互式:这种系统由许多短期交易构成,并且下一个交易的结果是无法预知的。从用户提交到等待结果的响应时间应该是比较短的,通常为1秒左右。c.分时:这种系统使用CPU调度和多道程序来经济的提供一个系统的人机通信功能。CPU从一个用户快速切换到另一个用户。以每个程序从终端机中读取它的下一个控制卡,并且把输出的信息正确快速的输出到显示器上来替代用soopled card images定义的作业。d.实时:经常用于专门的用途。这个系统从感应器上读取数据,而且必须在严格的时间内做出响应以保证正确的性能。e.网络:提供给操作系统一个特征,使得其进入网络,比如;文件共享。f.并行式

10、:每一个处理器都运行同一个操作系统的拷贝。这些拷贝通过系统总线进行通信。g.分布式:这种系统在几个物理处理器中分布式计算,处理器不共享内存或时钟。每个处理器都有它各自的本地存储器。它们通过各种通信线路在进行通信,比如:一条高速的总线或一个本地的网络。h.集群式:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计算任务。i.手持式:一种可以完成像记事本,email和网页浏览等简单任务的小型计算机系统。手持系统与传统的台式机的区别是更小的内存和屏幕以及更慢的处理能力。2.3: 1.通过寄存器来传递参数 2.寄存器传递参数块的首地址 3.参数通过程序存放或压进堆栈中,并通过操作系统弹出堆栈

11、。 2.12 Answer:优点主要包括以下几点: a)增加一个新的服务不需要修改内核 b) 在用户模式中比在内核模式中更安全、更易操作 c) 一个简单的内核设计和功能一般导致一个更可靠的操作系统 用户程序和系统服务通过使用进程件的通信机制在微内核中相互作用,例如发送消息。这些消息由操作系统运送。微内核最主要的缺点是与进程间通信的过度联系和为了保证用户程序和系统服务相互作用而频繁使用操作系统的消息传递功能。3.2:总的来说,操作系统必须保存正在运行的进程的状态,恢复进程的状态。保存进程的状态主要包括CPU寄存器的值以及内存分配,上下文切换还必须执行一些确切体系结构的操作,包括刷新数据和指令缓存

12、。(书中答案)进程关联是由进程的PCB来表示的,它包括CPU寄存器的值和内存管理信息等。当发生上下文切换时,内核会将旧进程的关联状态保存在其PCB中,然后装入经调度要执行的新进程的已保存的关联状态。3.4: Parent :value=8。4.4答:一个线程程序的线程共享堆内存和全局变量,但每个线程都有属于自己的一组寄存值和栈内存。4.7答:c行会输出10,p行会输出0.5.4答:a.甘特图FCFSP1P2P3P4P512345678910111213141516171819SJFP2P4P3P5P112345678910111213141516171819Non-preemptive Pri

13、orityP2P5P1P3P412345678910111213141516171819RR(quantum=1)P1P2P3P4P5P1P3P5P1P5P1P5P1P5P1P1P1P1P112345678910111213141516171819b. Turnaround TimeProcessFCFSSJFNPPRR(quantum=1)P110191619P211112P3134187P4142194P5199614Average13.47.2129.2c. Waiting TimeProcessFCFSSJFNPPRR(quantum=1)P10969P210001P3112165P4

14、131183P514419Average9.63.28.25.4d.SJF5.5答:最短作业优先调度和优先级调度算法会引起饥饿5.7答:a.时间片是1毫秒:不论是哪个进程被调度,这个调度都会为每一次的上下文切换花费一个0.1毫秒的上下文切换。CPU的利用率是1/1.1*100=92%。b.时间片是10毫秒:这I/O限制任务会在使用完1毫秒时间片后进行一次上下文切换。这个时间片要求在所有的进程间都走一遍,因此,10*1.1+10.1(因为每个I / O限定任务执行为1毫秒,然后承担上下文切换的任务,而CPU限制任务的执行10毫秒在承担一个上下文切换之前) 。因此,CPU的利用率是20、21.1*

15、100=94%。6.01【参考答案】信号量mutex的作用是保证各生产者进程和消费者进程对缓冲池的互斥访问。信号量empty和full均是资源信号量,它们分别对应于缓冲池中的空闲缓冲区和缓冲池中的产品,生产者需要通过wait(empty)来申请使用空闲缓冲区,而消费者需要通过wait(full)才能取得缓冲中的产品,可见,这两个信号量起着同步生产者和消费者的作用,它们保证生产者不会将产品存放到满缓冲区中,而消费者不会从空缓冲区中取产品。在生产者消费者问题中,如果将两个wait操作,即wait(full)和wait(mutex)互换位置,或者wait(empty)和wait(mutex)互换位置

16、,都可能引起死锁。考虑系统中缓冲区全满时,若一生产者进程先执行了wait(mutex)操作并获得成功,当再执行wait(empty)操作时,它将因失败而进入阻塞状态,它期待消费者执行signal(empty)来唤醒自己,在此之前,它不可能执行signal(mutex)操作,从而使企图通过wait(mutex)进入自己的临界区的其他生产者和所有的消费者进程全部进入阻塞状态,系统进入死锁状态。类似地,消费者进程若先执行wait(mutex),后执行wait(full)同样可能造成死锁。signal(full)和signal(mutex)互换位置,或者signal(empty)和signal(mut

17、ex)互换位置,则不会引起死锁,其影响只是使某个临界资源的释放略为推迟一些。6.02【参考答案】如图示并发进程之间的前趋关系,为了使上述进程同步,可设置8个信号量a、b、c、d、e、f、g、h,它们的初值均为0,而相应的进程可描述为(其中“”表示进程原来的代码):main( )cobeginP1( ) ; signal(a); signal(b); P2( ) wait(a); ; signal(c); signal(d); P3( ) wait(b); ; signal(e); signal(f); P4( ) wait(c); wait(e); ; signal(g); P5( ) wai

18、t(d); wait(f); ; signal(h); P6( ) wait(g); wait(h); ; coend6.03【参考答案】(1)生产者进程的临界区是第4行和第5行;消费者进程的临界区是第3行和第4行。(2)信号量full、empty和mutex的初值分别是:empty = 8 , full = 0 , mutex = 1 。(3)系统可能会产生死锁。例如,生产者进程得到信号量mutex,但是没有空缓冲区即empty0时,此时生产者进程阻塞;而消费者进程又无法得到信号量mutex,此时消费者进程也阻塞,系统产生了死锁。(4)增加一个信号量mutex1,初值为1,其算法如下:Pro

19、ducer Process Consumer Processint itemp; int itemc;while(1) while(1)1 itemp = rand(); / Generate a number 1 wait(full);2 wait(empty); 2 wait(mutex);3 wait(mutex1); 3 itemc=bufnextc;4 bufnextp=itemp; 4 nextc=(nextc+1)%8;5 nextp=(nextp+1)%8; 5 signal(mutex);6 signal(mutex1); 6 signal(empty);7 signal(f

20、ull); 7 cout itemc endl; 6.04【参考答案】设置三个信号:s1表示数据a是否读入,s2表示数据b是否读入,s3表示数据y=a*b计算是否完成。P1和P2两个进程的同步算法如下:semaphore s1=0, s2=0, s3=0;main()cobeginP1: P2: input (a) ; wait(s1); signal(s1); input (b); wait(s2); signal(s2);x=a+b; y=a*b;wait(s3) ; signal(s3);Print (x,y,z); coend7.1【参考答案】(1)在此处,产生死锁的四个必要条件如下:

21、1) 互斥条件。每个车道的每段道路只能被一辆车占用。2) 请求与保持条件。每个车队占用了一个车道,并请求前方的车道,即使需等待前方车道上的车队驶离,它仍将持有已占用的车道。3) 不抢占(剥夺)条件。在前方的车道被其它车队占用时,因为是单车道,而其它车队又不会后退,所以无法从其它车队处抢占车道。4) 环路等待条件。向东行驶的车队等待向北行驶的车队让出车道,向北行驶的车队等待向西行驶的车队让出车道,向西行驶的车队等待向南行驶的车队让出车道,而向南行驶的车队则等待向东行驶的车队让出车道。故存在一循环等待链。(2)增加一个约束条件:只有前方两个路口都空闲时,才能占用第一个路口。或者,可在十字路口设置一

22、交通信号灯,并使南北方向的两个车队和东西方向的两个车队互斥地使用十字路口,便可避免交通死锁。7.11【参考答案】(1)尚需资源数矩阵如下:Need = Max AllocationNeedABCDP00000P10750P21002P30020P40642(2)系统是安全的,因为可以找到一个安全序列:(3)如P1申请(0,4,2,0),则:Request1(0,4,2,0) =need1(0,7,5,0)Request1(0,4,2,0) = available(1,5,2,0)新的状态为 Allocation Max Need Available P0 0 0 1 2 0 0 1 2 0 0

23、 0 0 1 1 0 0 P1 1 4 2 0 1 7 5 0 0 3 3 0 P2 1 3 5 4 2 3 5 6 1 0 0 2 P3 0 6 3 2 0 6 5 2 0 0 2 0 P4 0 0 1 4 0 6 5 6 0 6 4 2该状态是安全的,存在安全序列如,所以可以分配资源给P1。8.3【参考答案】根据First-fit、Best-fit、Worst-fit算法,计算结果如下:First-fit:212K进程装到500K分区417K进程装到600K分区112K进程装到200K分区426K进程暂时等待Best-fit:212K进程装到300K分区417K进程装到500K分区112K

24、进程装到200K分区426K进程装到600K分区Worst-fit:212K进程装到600K分区417K进程装到500K分区112K进程装到300K分区426K进程暂时等待仅就本题为例,Best-fit算法是最好的。8.5 Answer:连续内存分配会产生外部碎片,因为地址空间是被连续分配的,当旧进程结束,新进程初始化的时候,洞会扩大。连续内存分配也不允许进程共享代码,因为一个进程的虚拟内存段是不被允许闯入不连续的段的。纯段式分配也会产生外部碎片,因为在物理内存中,一个进程的段是被连续放置的,以及当死进程的段被新进程的段所替代时,碎片也将会产生。然而,段式分配可以使进程共享代码;比如,两个不同

25、的进程可以共享一个代码段,但是有不同的数据段。纯页式分配不会产生外部碎片,但会产生内部碎片。进程可以在页granularity中被分配,以及如果一页没有被完全利用,它就会产生内部碎片并且会产生一个相当的空间浪费。在页granularity,页式分配也允许进程共享代码。8.9【参考答案】(1)400纳秒,其中,200纳秒访问页表,200纳秒访问内存中的数据。(2)有效访问时间 = 0.75 * (200纳秒访问内存数据+0纳秒访问关联寄存器) + 0.25 * (200纳秒访问内存数据+200纳秒访问页表) = 250纳秒8.12【参考答案】(1)219 + 430 = 649(2)2300 +

26、 10 = 2310(3)第2段的有效长度是100。段内偏移量500超过了这个上限,所以这是个非法地址(4)1327 + 400 = 1727(3) 第4段的有效长度是96。段内偏移量112超过了这个上限,所以这是个非法地址9.5【参考答案】设缺页率为P。题目并没有明确,当缺页中断时,内存中是否有空闲页帧,所以假设内存总是忙的。访问内存中页面:(1 - P) * 100ns页面不在内存,但不需要保存待换出页面:P * (1 70%) * (8ms+100ns)页面不在内存,但需要保存待换出页面:P * 70% * (20ms+100ns)所以,有效访问时间=(1 - P) * 100ns +

27、P * (1 70%) * (8ms+100ns) + P * 70% * (20ms+100ns) = 200nsP = 0.0000069.10【参考答案】首先判断系统正在频繁地进行换页操作。所以,减少并发进程数会显著地减少换页操作,提高CPU的利用率。其它措施也有些效果,例如,安装更多内存。(1) 安装一个更快的CPU。没用。(2) 安装一个更大容量的磁盘用作页面交换。没用,交换空间本来就足够了。(3) 增加并发进程数。没用,情况将会更糟。(4) 减少并发进程数。效果明显。(5) 安装更多内存。可能会有效果,因为空闲页帧增加了,换页的几率将相对减少。(6) 安装更快的硬盘,或安装更多的硬

28、盘和控制器。效果不明显。(7) 增加一个预取页面算法。效果不确定。(8) 增加页面长度。如果顺序访问居多,则会减少缺页次数。如果随机访问居多,因为单个页面占用更大的物理空间,页帧总数减少,所以缺页次数会增加;因为页面长度增加,页面的传输时间会增加。综上,此方案的效果不确定。9.14【参考答案】有效访问时间 = 80% * 1微秒 + (1-80%)(1-10%) * 1微秒 * 2 + 10% * (1微秒 * 2 + 20毫秒)= 0.8+0.2 * (0.9 * 2+0.1*20002)= 0.8+0.2 * 2002= 401.2微秒9.01【参考答案】(1)采用FIFO页面置换算法,其缺页情况如表所示: FIFO页面置换算法的缺页情况页面走向1

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

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