您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 操作系统课程作业答案
第一次作业复习题1.2定义处理器寄存器的两种主要类别用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。习题1.6内存层次的各个元素间的特征是什么?a)CPU定期检查FGI.如果FGI=1,CPU将把数据接收后,被储存在INPR里面,PR里面的内容传送至AC,并把FGI置为0.当CPU需要传送数据到打字机时,它会检查FGO.如果FGO=0,CPU处于等待.如果FGO=1,CPU将把AC的内容传送至OUTER并把FGO置为0.当数字符号打印后,打字机将把FGI置为1.b)在a描述的过程非常浪费.速度远高于打字机的CPU必须反复不断的检查FGI和FGO.如果中断被使用,当打字机准备接收或者发送数据时,可以向CPU发出一个中断请求.IEN计数器可以由CPU设置(在程序员的控制下).复习题2.1操作系统设计的三个目标方便Convenience:操作系统使计算机更易于使用.有效Efficiency:操作系统允许以更有效的方式使用计算机系统资源.扩展的能力Abilitytoevolve:在构造操作系统时,应该允许在不妨碍服务的前提下有效地开发、测试和引进新的系统功能.复习题2.9解释单体内核和微内核的区别单体内核(singlekernel)是一个提供操作系统应该提供的功能的大内核,包括调度、文件系统、网络、设备驱动程序、存储管理等。内核的所有功能成分都能够访问它的内部数据结构和程序。典型情况下,这个大内核是作为一个进程实现的,所有元素都共享相同的地址空间。微内核(microkernel)是一个小的有特权的操作系统内核,只提供包括进程调度、内存管理、和进程间通信等基本功能,要依靠其他进程担当起和操作系统内核联系作用。习题2.1习题2.3a)简单批处理系统发展为多道批处理系统的原因I/O设备的时间相对于处理器速度太慢,在简单批处理系统中,一次只有一个程序执行处理器大部分时间处于空闲,效率低下。多道批处理在多个程序之间切换,同时处理多个批作业,可以使批处理变得更加有效。b)多道批处理系统发展为分时系统的原因分时系统给所有进程一个较短的处理时间,避免多道批处理系统中某些作业占用处理器时间长而导致其他作业等待,有效减小响应时间。第二次作业ReviewQuestions1.FortheprocessingmodelofFigure3.6,brieflydefineeachstate.新建new:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。就绪ready:进程做好了准备,只要有机会就开始执行。运行running:该进程正在执行。阻塞blocked:进程在某些事件发生前不能执行,如I/O操作完成。退出exit:进程从可执行进程组中释放。2.Listthreegeneralcategoriesofinformationinaprocesscontrolblock.1)进程标识信息processidentification2)处理器状态信息processorstateinformation3)进程控制信息processcontrolinformation3.WhatarethestepsperformedbyanOStocreateanewprocess?1)给进程分配一个唯一的进程标识符Assignauniqueprocessidentifiertothenewprocess.2)给进程分配空间Allocatespacefortheprocess.3)初始化进程控制块Initializetheprocesscontrolblock.4)设置正确的连接Settheappropriatelinkages.5)创建或扩充其他数据结构Createorexpandotherdatastructures.4.Whatisthedifferencebetweenamodeswitchandaprocessswitch?模式切换(modeswitch)是指内核态与用户态之间的切换,发生模式切换可以不改变当前正处于运行态的进程的状态。发生进程切换(processswitch)时,一个正在执行的进程被中断,操作系统指定另一个进程为运行态。进程切换需要保存更多的状态信息。Problems1.ConsideracomputerwithNprocessorsinamultiprocessorconfiguration.•a.HowmanyprocessescanbeineachoftheReady,Running,andBlockedstatesatonetime?•b.WhatistheminimumnumberofprocessesthatcanbeineachoftheReady,Running,andBlockedstatesatonetime?•a.在就绪和阻塞状态的进程数量是没有限制的,只与内存用于存放不同状态进程的空间有关。而执行中的进程最多有N个,每个处理器最多有一个进程在执行。•b.如果所有进程都处于运行或者就绪态,没有处于阻塞状态的进程,这是可能的。反过来,也有可能所有进程都处于阻塞状态,等待某个事件的发生,没有就绪态和执行态的进程2.Figure3.9bcontainssevenstates.Inprinciple,onecoulddrawatransitionbetweenanytwostates,foratotalof42differenttransitions.•a.Listallofthepossibletransitionsandgiveanexampleofwhatcouldcauseeachtransition.•b.Listalloftheimpossibletransitionsandexplainwhy.3.In[PINK89],thefollowingstatesaredefinedforprocesses:Execute(running),Active(ready),Blocked,andSuspend.Aprocessisblockedifitiswaitingforpermissiontousearesource,anditissuspendedifitiswaitingforanoperationtobecompletedonaresourceithasalreadyacquired.Inmanyoperatingsystems,thesetwostatesarelumpedtogetherastheblockedstate,andthesuspendedstatehasthedefinitionwehaveusedinthischapter.Comparetherelativemeritsofthetwosetsofdefinitions.假设一个进程已经执行了一段时间,它需要一个额外的磁带设备来写出一个临时文件。在它开始写磁带之前,进程必须得到使用某一设备的许可。当它做出请求时,磁带设备可能并不可用,这种情况下,该进程就处于阻塞态(blocked)。假设操作系统在某一时刻将磁带设备分配给了该进程,这时进程就重新变为活跃态。当进程重新变为执行态时要对新获得的磁带设备进行写操作。这时进程变为挂起态(suspend),等待该磁带上当前所进行的写操作完成。这种对等待某一设备的两种不同原因的区别,在操作系统组织其工作时是非常有用的。然而这并不能表明哪些进程是换入的,哪些进程是换出的。后一种区别是必需的,而且应该在进程状态中以某种形式表现出来。第三次作业1.Table3.5liststypicalelementsfoundinaprocesscontrolblockforanunthreadedOS.Ofthese,whichshouldbelongtoathreadcontrolblockandwhichshouldbelongtoaprocesscontrolblockforamultithreadedsystem?•这对于不同的系统来说通常是不同的,但一般来说,进程是资源的所有者,而每个线程都有它自己的执行状态。•关于表3.5中的每一项的一些结论如下:•进程标识:进程必须被标识,而进程中的每一个线程也必须有自己的ID。•处理器状态信息:这些信息通常只与进程有关。•进程控制信息:调度和状态信息主要处于线程级;数据结构在两级都可出现;进程间通信和线程间通信都可以得到支持;特权在两级都可以存在;存储管理通常在进程级;资源信息通常也在进程级。2.Listreasonswhyamodeswitchbetweenthreadsmaybecheaperthanamodeswitchbetweenprocesses.线程转换(modeswitchbetweenthreads)包含的状态信息更少。3.Itwaspointedoutthattwoadvantagesofusingmultiplethreadswithinaprocessarethat(1)lessworkisinvolvedincreatinganewthreadwithinanexistingprocessthanincreatinganewprocess,and(2)communicationamongthreadswithinthesameprocessissimplified.Isitalsothecasethatamodeswitchbetweentwothreadswithinthesameprocessinvolveslessworkthanamodeswitchbetweentwothreadsindifferentprocesses?是的,因为线程转换包含更少的状态信息。4.InthediscussionofULTsversusKLTs,itwaspointedoutthatadisadvantageofULTsisthatwhenaULTexecutesasystemcall,notonlyisthatthreadblocked,butalsoallofthethreadswithintheprocessareblocked.Whyisthatso?因为对于用户级线程来说,一个进程的线程结构对操作系统是不可见的,而操作系统的调度是以进程为单位的。所以当一个线程被阻塞,和该线程在同一个进程的所有线程都会被阻塞。5.Canamultithreadedsolutionusingmultipleuser-levelthreadsachievebetterperformanceonamultiprocessorsystemthanonasingleprocessorsystem?Explain.在ULT策略中,多线程的应用不能利用多处理器来提高性能。由于内核每次给每个处理器分配一个进程,在处理器中只有进程的一个线程能执行。第四次作业ReviewQuestions1.Whatarethreecontextsinwhichconcurrencyarises?多个应用程序,结构化应用程序,操作系统结构Multipleapplications,structuredapplications,operating-systemstructure.2.Whatisthebasicrequirementfortheexecutionofconcurrentprocesses?加强互斥的能力Theabilitytoenforcemutualexclusion.3.Listthreedegreesofawarenessbetweenprocessesandbrieflydefineeach.进程间互
本文标题:操作系统课程作业答案
链接地址:https://www.777doc.com/doc-5872806 .html