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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

浙大远程教育操作系统原理离线作业参考答案.docx

1、浙大远程教育操作系统原理离线作业参考答案浙江大学远程教育学院操作系统原理课程作业姓名:学 号:年级:学习中心:一、单选题1.进程P0和P1的共享变量定义及其初值为boolea n flag2 ;int turn=O ;flagO=FALSE ; flag1=FALSE ;若进程P0和P1访问临界资源的类 C代码实现如下:void P0() 两个进程P1和P2描述如下:shared data :int coun ter = 6;P1 :Computi ng;coun ter=co un ter+1;P2 :Prin ti ng;coun ter=co un ter-2;两个进程并发执行,运行完成

2、后, counter的值不可能为 _C_A. 4 B. 5 C. 6 D. 73.某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为 210字节,页表项大小为2字节,逻辑地址结构为:页目录号 页号 页内偏移量逻辑地址空间大小为 216页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是BA. 64 B. 128 C. 256 D. 5124.在动态分区系统中,有如下空闲块 :空闲块块大小(KB块的基址18060275150552504 90 350此时,某进程P请求50KB内存,系统从第1个空闲块开始查找,结果把第 4个空闲块分配给了 P进程,请问是用哪一种分区分配算法实现这一

3、方案 CA.首次适应 B.最佳适应 C.最差适应 D. 下次适应5.在一页式存储管理系统中,页表内容如下所示。 页号 帧号0 228若页大小为1K,逻辑地址的页号为 2,页内地址为451,转换成的物理地址为 A6.采用段式存储管理的系统中, 若地址用32位表示,其中20位表示段号,则允许每段的最大长度是 B24 12 10 32A. 2 B. 2 C. 2 D. 27.在一段式存储管理系统中,某段表的内容如下F7L D. 段号段首址段长0100K35K1560K20K2260K15K3670K32K若逻辑地址为(2, 158),则它对应的物理地址为B 。A. 100K+158 B.260K+1

4、58C. 560K+158D. 670K+1589.有一请求分页式存储管理系统,页面大小为每页 100字节,有一个50X 50的整型数组按行为主序连续存放,每个整数占两个字节,将数组初始化为 0的程序描述如下:int A5050;for (int i = 0; i 50; i+)for (int j = 0; j 50; j+)Ai,j = 0;若在程执行时内存只有一个存储块用来存放数组信息,试问该程序执行时产生 缺页中断。A. 1 B. 50 C. 100 D. 250010. 一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M:如下所示:页装入时间上次引用时间 R

5、M0 126279001 230260102 120272113 16028011采用FIFO算法将淘汰 C页;A. 0B. 1C. 2D. 3采用第二次机会算法将淘汰 _a_页;A. 0 B. 1 C. 2 D. 3二、综合题 在所列的两种设置中,哪些功能需要操作系统提供支持 (a)手持设备(b)实时系统。a.批处理程序b.虚拟存储器c.分时答:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。 对于手持系统,操作系统需要提供虚拟存储器, 但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。列出下列操作系统的基本特点:a.批处理b.交互式c.分时d.实时e.网络

6、f.并行式g.分布式h.集群式i.手持式 答:a.批处理:具有相似需求的作业被成批的集合起来, 并把它们作为一个整体通过一个操作员或自动作业程序装置运行通过计算机。通过缓冲区,线下操作, 后台和多道程序,运用尝试保持CPI和I/O 直繁忙,从而使得性能被提高。批 处理系统对于运行那些需要较少互动的大型作业十分适用。 它们可以被更迟地提交或获得。b.交互式:这种系统由许多短期交易构成,并且下一个交易的结果是无法预知的。从用户提交到等待结果的响应时间应该是比较短的,通常为 1秒左右。c.分时:这种系统使用CPU调度和多道程序来经济的提供一个系统的人机通 信功能。CPU从一个用户快速切换到另一个用户

7、。以每个程序从终端机中读取它 的下一个控制卡,并且把输出的信息正确快速的输出到显示器上来替代用 soopled card images 定义的作业。d.实时:经常用于专门的用途。这个系统从感应器上读取数据, 而且必须在 严格的时间内做出响应以保证正确的性能。e.网络:提供给操作系统一个特征,使得其进入网络,比如 ;文件共享。f.并行式:每一个处理器都运行同一个操作系统的拷贝。 这些拷贝通过系统总线进行通信。g.分布式:这种系统在几个物理处理器中分布式计算, 处理器不共享内存或 时钟。每个处理器都有它各自的本地存储器。它们通过各种通信线路在进行通信, 比如:一条高速的总线或一个本地的网络。h.集

8、群式:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完 成计算任务。i.手持式:一种可以完成像记事本,email和网页浏览等简单任务的小型计 算机系统。手持系统与传统的台式机的区别是更小的内存和屏幕以及更慢的处理 能力。讨论向操作系统传递参数的三个主要的方法。答:1. 通过寄存器来传递参数2.寄存器传递参数块的首地址3.参数通过程序存放或压进堆栈中,并通过操作系统弹出堆栈。采用微内核方法来设计系统的主要优点是什么在微内核中如何使客户程序和系统服务相互 作用微内核方法的缺点是什么答:优点主要包括以下几点:a)增加一个新的服务不需要修改内核b)在用户模式中比在内核模式中更安全、更易操作c)

9、一个简单的内核设计和功能一般导致一个更可靠的操作系统 用户程序和系统服务通过使用进程件的通信机制在微内核中相互作用,例如发送消息。这些消息由操作系统运送。微内核最主要的缺点是与进程间通信的过度联系和为了保证用户程序和系统服务相互 作用而频繁使用操作系统的消息传递功能。问: 描述一下内核在两个进程间进行上下文功换的动作 .答:进程关联是由进程的 PCB来表示的,它包括CPU寄存器的值和内存管理信息等。 当发生上下文切换时,内核会将旧进程的关联状态保存在其 PCB中,然后装入经调度要执行的新进程的已保存的关联状态。总的来说, 操作系统必须保存正在运行的进程的状态, 恢复进程的状态。 保存进程的状

10、态主要包括 CPU寄存器的值以及内存分配,上下文切换还必须执行一些确切体系结构的操 作,包括刷新数据和指令缓存。如下所示的程序,说明 LINE A 可能会输出什么#include #include #include int value=8;int main()pid_t pid;/* fork a child process */pid = fork();if (pid = 0) /* child process */value +=15;else /* parent process */* parent will wait for the child to complete */ wait(

11、NULL);printf( Parent :value= %dn,value);/*LINE A*/ exit(0); 答:LINE A 可能会输出: Parent :value= 8在多线程程序中,以下哪些程序状态组成是被线程共享的a.寄存值b.堆内存c.全局变量d.栈内存答:多线程程序的各线程共享堆内存和全局变量, 但每个线程都有属于自己的一组寄存值和 栈内存。由图给出的程序使用了 Pthread的应用程序编程接口 (API),在程序的第c行和第p行分别会输出什么#include #include int value=0;void *runner(void *param); /* the

12、thread */int main(int argc, char *argv)int pid;pthread_t tid;pthread_attr_t attr;pid = fork();if (pid = 0) /* child process */pthread_attr_init(&attr);pthread_create(&tid, &attr, runner, NULL);pthread_join(tid, NULL);printf( “CHILD: value = %d ”, value); /* LINE C*/else if (pid 0) /* parent process

13、*/wait(NULL);printf( “ PARENT: value = %d”, value); /* LINE P */void *runner(void *param) value=10; pthread_exit(O);答:第c行会输出10,第p行会输出0考虑下列进程集,进程占用的 CPU区间长度以毫秒来计算:假设在时刻0以进程Pl,P2, P3,P4, P5的顺序到达。a.画出4个Gantt图分别演示用FCFS SJF、非抢占优先级(数字小代表优先级高)和 RR(时间片=1)算法调度时进程的执行过程。b.每个进程在每种调度算法下的周转时间是多少c.每个进程在每种调度算法下的等待时

14、间是多少d.哪一种调度算法的平均等待时间对所有进程而言最小答:a.甘特图FCFSP1P2P3P4P512345678910111213141516171819SJFP2P4P3P5P112345678910111213141516171819Non-preemptive PriorityP2P5P1P3P41 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19RR(qua ntum=1)P1P2P3P4P5P1P3P5P1P5P1P5P1P5P1P1P1P1P11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

15、b. Turnaround TimeProcessFCFSSJFNPPRR(qua ntum=1)P110191619P211112P3134187P4142194P5199614Average12c. Waiti ng TimeProcessFCFSSJFNPPRR(qua ntum=1)P10969P210001P3112165P4131183P514419Average下面哪些算法会引起饥饿a.先来先服务b.最短作业优先调度c.轮转法调度d.优先级调度答:b.最短作业优先调度和 d.优先级调度算法会引起饥饿考虑一个运行10个I/O约束(型)任务和一个 CPU勺束(型)任务的系统。假设,

16、I/O约 束任务每进行1毫秒的CPU计算发射一次I/O操作,但每个I/O操作的完成需要10毫秒。 同时,假设上下文切换要毫秒,所有的进程都是长进程。对一个 RR调度来说,以下情况时CPU的利用率是多少:a.时间片是1毫秒b.时间片是10毫秒答:a.时间片是1毫秒:不论是哪个进程被调度, 这个调度都会为每一次的上下文切换花费一个毫秒的上下文切换。 CPU的利用率是1/*100=92%。b.时间片是10毫秒:这I/O限制任务会在使用完 1毫秒时间片后进行一次上下文切换。这个时间片要求在所有的进程间都走一遍,因此, 10*+(因为每个I / O 限定任务执行为1毫秒,然后承担上下文切换的任务,而 C

17、PU限制任务的执行10毫秒在承担一个上下文切换之前)。因此,CPU的利用率是 20/*100=94%。在生产者和消费者问题中,信号量 mutex, empty , full的作用是什么如果对调生产者进程中的两个wait操作和两个signal操作,则可能发生什么情况答:信号量mutex的作用是保证各生产者进程和消费者进程对缓冲池的互斥访问。信号量 empty和full均是资源信号量,它们分别对应于缓冲池中的空闲缓冲区和缓冲池中的产品, 生产者需要通过wait(empty)来申请使用空闲缓冲区,而消费者需要通过 wait(full) 才能取 得缓冲中的产品,可见,这两个信号量起着同步生产者和消费者

18、的作用, 它们保证生产者不会将产品存放到满缓冲区中,而消费者不会从空缓冲区中取产品。在生产者一消费者问题中,如果将两个 wait操作,即wait(full) 和wait(mutex)互换位置,或者 wait(empty)和wait(mutex)互换位置,都可能引起死锁。考虑系统中缓冲区全 满时,若一生产者进程先执行了 wait(mutex)操作并获得成功,当再执行 wait(empty)操作时,它将因失败而进入阻塞状态, 它期待消费者执行 signal(empty)来唤醒自己,在此之前,它不可能执行signal(mutex)操作,从而使企图通过 wait(mutex)进入自己的临界区的其他生产

19、者和所有的消费者进程全部进入阻塞状态, 系统进入死锁状态。类似地,消费者进程若先执行wait(mutex),后执行 wait(full) 同样可能造成死锁。signal(full) 禾口 signal(mutex)互换位置,或者 signal(empty)禾口 signal(mutex)互换位置,则不会引起死锁,其影响只是使某个临界资源的释放略为推迟一些。请用wait、signal操作实现进程间的同步操作。P4P6coend在生产者和消费者问题中,多个生产者进程( Producer Process )和多个消费者进程(Consumer Process )共享一个大小为 8的缓冲区,他们的信号量

20、和共享变量设置如 下:int n extc=0, n extp=0, buf8; semaphore full; empty; mutex;生产者进程和消费者进程问题的算法描述如下:Producer Process: Con sumer Process:P2外部碎片b.内部碎片c.共享跨进程代码的能力答:连续内存分配会产生外部碎片, 因为地址空间是被连续分配的, 当旧进程结束,新进程初始化的时候,洞会扩大。连续内存分配也不允许进程共享代码, 因为一个进程的虚拟内存段是不被允许闯入不连续的段的。纯段式分配也会产生外部碎片, 因为在物理内存中, 一个进程的段是被连续放置的, 以及当死进程的段被新进

21、程的段所替代时, 碎片也将会产生。然而,段式分配可以使进程共享代码;比如,两个不同的进程可以共享一个代码段,但是有不同的数据段。纯页式分配不会产生外部碎片,但会产生内部碎片。进程可以在页 granu larity 中被分配,以及如果一页没有被完全利用,它就会产生内部碎片并且会产生一个相当的空间浪费。 在页granularity ,页式分配也允许进程共享代码。考虑一个分页式存储管理系统,其页表常驻内存。(1)如果内存访问耗时200 ns,那么,访问内存中的数据需要多长时间(2) 如果引入联想寄存器,而且 75%勺页面可以从关联寄存器中找到,那么, 此时的有效访问时间为多少(假设访问关联寄存器的时

22、间可以忽略 )答:(1)400纳秒,其中,200纳秒访问页表,200纳秒访问内存中的数据。(2)有效访问时间=* (200纳秒访问内存数据+0纳秒访问关联寄存器)+ * (200纳秒访问内存数据+200纳秒访问页表)=250纳秒假设有下列段表:段基地址段长度0 219 60012300 14290 10031327 58041952 96下列逻辑地址对应的物理地址是什么(1)0,430(2)1,10(3)2,500(4)3,400(5)4,112 答:(1)219+430=649(2)2300+10=2310(3)第2段的有效长度是100,段内偏移量500超过了这个上限,所以这是个非法地址(4

23、)1327+400=1727(5)第4段的有效长度是96,段内偏移量112超过了这个上限,所以这是个非法地址假设一个“按需调页”虚拟存储空间, 页表由寄存器保存。 在存在空闲页帧的条件下, 处理一次缺页的时间是 8毫秒。如果没有空闲页面,但待换出页面并未更改,处理一次缺 页的时间也是8毫秒。如果待换出页面已被更改,贝U需要20毫秒。访问一次内存的时 间是100纳秒。假设70%的待换出页面已被更改,请问缺页率不超过多少,才能保证 有效访问时间小于或等于 200纳秒答:设缺页率为P。题目并没有明确,当缺页中断时,内存中是否有空闲页帧,所以假设内 存总是忙的。访问内存中页面:(1 - P) * 10

24、0 ns页面不在内存,但不需要保存待换出页面: P * (1 - 70%) * (8ms+100ns)页面不在内存,但需要保存待换出页面: P * 70% * (20ms+100 ns)所以,有效访问时间 =(1 - P) * 100ns + P * (1 - 70%) * (8ms+100 ns) + P * 70%* (20ms+100 ns) = 200nsP =对一个请求调页系统测得如下数据:CPI利用率20%用作页面交换的磁盘的利用率 %其它I/O设备利用率5%下列措施中,哪些会改善 CPI利用率(如果有的话),请说明理由:(1)安装一个更快的CPU(2)安装一个更大容量的磁盘用作页

25、面交换(3)增加并发进程数(4)减少并发进程数(5)安装更多内存(6)安装更快的硬盘,或安装更多的硬盘和控制器(7)增加一个预取页面算法(8)增加页面长度答:首先判断系统正在频繁地进行换页操作。 所以,减少并发进程数会显著地减少换页操作,提高CPU勺利用率。其它措施也有些效果,例如,安装更多内存。(1)安装一个更快的CPU没用。(2)安装一个更大容量的磁盘用作页面交换。没用,交换空间本来就足够了。(3)增加并发进程数。没用,情况将会更糟。(4)减少并发进程数。效果明显。(5)安装更多内存。可能会有效果,因为空闲页帧增加了,换页的几率将相对减少。(6)安装更快的硬盘,或安装更多的硬盘和控制器。效

26、果不明显。(7)增加一个预取页面算法。效果不确定。(8)增加页面长度。如果顺序访问居多,则会减少缺页次数。如果随机访问居多,因为 单个页面占用更大的物理空间,页帧总数减少,所以缺页次数会增加;因为页面长 度增加,页面的传输时间会增加。综上,此方案的效果不确定。一页式虚拟存储系统,用于页面交换的磁盘的平均访问、传输时间是 20毫秒。页表保存在主存,访问时间1微秒。也就是说,每引用一次指令或数据,需要访问两次内存。为 改善性能,我们可以增设一个关联寄存器。如果页表项在关联寄存器里,则只要访问 一次内存就够了。 假设80%的访问,其页表项在关联寄存器中; 剩下的20%里,10%的访问(即总数的 2%

27、)会产生缺页。请计算有效访问时间。答:有效访问时间=80% * 1微秒+ (1-80%)(1-10%) * 1 微秒* 2 + 10% * (1 微秒* 2 + 20毫秒)=+ * *2+*20002)=+ * 2002=微秒在某请求分页管理系统中,一个作业共 5页,作业执行时依次访问如下页面: 1, 4, 3, 1 ,2, 5, 1, 4, 2, 1, 4, 5,若分配给该作业的主存块数为 3,分别采用FIFO、LRU试求出缺页中断的次数及缺页率。 (要求画出页面置换情况表)答:(1)采用FIFO页面置换算法,其缺页情况如表所示:FIFO 页面置换算法的缺页情况贝面走向143125142145块1111222444块244455522块33331115缺页VVVVVVVVV缺页中断次数为9,缺页率为9/12=75%。(2)采用LRU页面置换算法,其缺页情况如表所示。LRU页面置换算法的缺页情况贝面走向143125142145块111111111块24422444块3335525缺页VVVVVVVV

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

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