操作系统 课后题挑选.docx
《操作系统 课后题挑选.docx》由会员分享,可在线阅读,更多相关《操作系统 课后题挑选.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系统课后题挑选整理GL1.4在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时Answer:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。1.10中断(interupt)的目的是什么?陷阱(trap)与中断的区别是什么?陷阱可以被用户程序(user program)有意地的产生吗?如果可以,那目的是什么?Answer: 中断是一种在系统内硬件产生的流量变化。中断操作装置是用来
2、处理中断请求;然后返回控制中断的上下文和指令。陷阱是软件产生的中断。中断可以被用来标志 I/O的完成,从而排除设备投票站(device polling)的需要。陷阱可以被用来调用操作系统的程序或者捕捉到算术错误。1.11内存存储是被用于高速的I/O设备,其目的是为了避免增加CPU的过度运行。(a)设备的CPU接口是怎样与转换器(transfer)协作的?(b)当内存操作完全时,CPU是怎么知道的?(c)当DMA控制器正在转换数据时,CPU是被允许运行其它程序的。这种进程与用户程序的运行冲突吗?如果冲突的话,试描述可能引起哪种冲突?Answer: CPU可以通过写数据到可以被设备独立存储的寄存器
3、中来启动DMA操作。当设备接收到来自CPU的命令时,启动响应的操作。当设备完成此操作时,就中断CPU来说明操作已经完成。设备和CPU都可以被内存同时访问。内存控制器对这两个实体以公平的方式给内存总线提供存取。CPU可能不能同时以很快的速度配给给内存操作,因为它必须去竞争设备而使得自己存取到内存总线中去。1.12一些计算机系统没有在硬件中提供个人模式(privileged mode)。对于这种计算机系统来说,可能构成安全的操作系统吗?对可能和不可能两种情况分别给出理由。Answer:一种类型处理器的操作系统需要在任何时候都被控制(或监测模式)。有两种方法可以完成这个操作:a.所有用户程序的软件翻
4、译(像一些BASIC,Java,LISP systems)。在软件中,软件解释程序能够提供硬件所不能提供的。b.要求所有程序都用高级语言编写,以便于所以目标代码都被编译出来。编译器将会产生硬件忽略的防护性检查(in-line或功能调用)。1.15试描述一个机器装置为了阻止一个程序避免修改与其它程序有联系的内存而执行内存保护。Answer:处理器可以追踪哪个位置是与每个进程相联系的以及限制进入一个程序的范围的外面位置。信息与一个程序的内存范围有关,它可以通过使用库,限制寄存器和对每个进入内存的信息执行检查来维持其本身。2.1操作系统提供的服务和功能可以分为两个类别。简单的描述一下这两个类别并讨论
5、他们的不同点。Answer:第一种操作系统提供的服务是用来保护在系统中同时运行的不同进程。进程只被允许获得与它们地址空间有联系的内存位置。同样,进程不允许破坏和其他用户有关的文件。一个进程同样不允许在没有操作系统的干预下直接进入设备。第二种服务由操作系统提供的服务是提供一种新的功能,而这种功能并不直接被底层的硬件支持。虚拟存储器和文件系统就是由操作系统提供的这种新服务的实例。2.2列出操作系统提供的五项服务。说明每项服务如何给用户提供便利。说明在哪些情况下用户级程序不能够提够这些服务。Answer: a.文件执行.操作系统一个文件的目录(或章节)装入到内存并运行。一个用户程序不能被信任,妥善分
6、配CPU时间。b.I/O操作. 磁盘,磁带,串行线,和其他装置必须在一个非常低的水平下进行通信。用户只需要指定装置和操作执行要求,然后该系统的要求转换成装置或控制器的具体命令.用户级程序不能被信任只在他们应该获得时获得装置和只使用那些未被使用的装置。c.文件系统操作.在文件创建、删除、分配和命名时有许多细节是用户不能执行的。磁盘空间块被文件所使用并被跟踪。删除一个文件需要清除这个文件的信息和释放被分派给这个文件的空间。用户程序不仅不能够保证保护方法的有效实施,也不能够被信任只会分配空闲的空间和在删除文件是清空空间。d.通信.信息在系统间交换要求信息转换成信息包,送到网络控制器中,通过通信媒介进
7、行传播,并由目的地系统重新组装。信息包调整和数据修改是一定会发生的。此外,用户程序也许不能够协调网络装置的取得,或者接收完全不同的其他进程的信息包。e.错误检测.错误检测在硬件和软件水平下都会发生。在硬件水平下,所有数据转移都必须仔细检查以确保数据在运送中不会被破坏。在媒介中的所有数据都必须被检查以确保他们在写入媒介时没有被改变。在软件水平下,为了数据,媒介不需不间断的被检查。例如,确保信息存储中被分配和还未被分配的空间块的数量和装置中所有块的数量的一致。进程独立经常有错误(例如,磁盘中数据的破坏),所以必须有一个统筹的程序(操作系统)来处理各种错误。同样,错误经过操作系统的处理,在一个系统中
8、程序不再需要包含匹配和改正所遇可能错误的代码。2.5操作系统关于文件管理的五个主要活动是什么?Answer:1.创建和删除文件2.创建和删除目录3.提供操作文件和目录的原语的支持4.将文件映射到二级存储器上5.在稳定(非易失的)的存储媒介上备份文件。2.8通信的两种模式是什么?这两种模式的优点和缺点是什么?Answer:通信的两种模式是1)共享内存,2)消息传递。这两种模式的最基本的不同是在它们的性能上。一个内存共享块是通过系统调用创建的。然而,一旦内存共享块在两个或更多的进程间建立,这些进程可以借助内存共享块来通信,不再需要内核的协助。另一方面,当send()和receive()操作被调用时
9、,信息传递通常包含系统调用。因此,因为内核是直接的包含在进程间通信的,一般而言,它的影响比内存共享小。然而,消息传递可以用作同步机制来处理通信进程间的行动。也就是说,send()和receive()段可以用来协调两个通信进程的动作。另一方面,内存共享没有提供这种同步机制的进程。2.12采用微内核方法来设计系统的主要优点是什么?在微内核中如何使客户程序和系统服务相互作用?微内核方法的缺点是什么?Answer:优点主要包括以下几点:a)增加一个新的服务不需要修改内核b) 在用户模式中比在内核模式中更安全、更易操作c) 一个简单的内核设计和功能一般导致一个更可靠的操作系统用户程序和系统服务通过使用进
10、程件的通信机制在微内核中相互作用,例如发送消息。这些消息由操作系统运送。微内核最主要的缺点是与进程间通信的过度联系和为了保证用户程序和系统服务相互作用而频繁使用操作系统的消息传递功能。2.13模块化内核方法的什么方式与分层方法相似?什么方式与分层方法不同?Answer:模块化内核方法要求子系统通过创建的一般而言狭隘(从功能方面来说是揭露外部模块)的接口来相互作用。分层内核方法在细节上与分层方法相似。但是,分层内核必须要是有严格排序的子系统,这样的子系统在较低层次中不允许援引业务相应的上层子系统 。在模块化内核方法中没有太多的限制,模式在哪方面是随意援引彼此的是没有任何约束的。3.1 论述短期,
11、中期和长期调度之间的区别.Answer:a.短期调度:在内存作业中选择就绪执行的作业,并为他们分配CPU。b.中期调度:作为一种中等程度的调度程序,尤其被用于分时系统,一个交换方案的实施,将部分运行程序移出内存,之后,从中断处继续执行。c.长期调度(作业调度程序):确定哪些作业调入内存以执行.它们主要的不同之处是它们的执行的频率。短期调度必须经常调用一个新进程,由于在系统中,长期调度处理移动的作业时,并不频繁被调用,可能在进程离开系统时才被唤起。3.2 描述一下内核在两个进程间进行上下文功换的动作.Answer:总的来说,操作系统必须保存正在运行的进程的状态,恢复进程的状态。保存进程的状态主要
12、包括CPU寄存器的值以及内存分配,上下文切换还必须执行一些确切体系结构的操作,包括刷新数据和指令缓存。(书中答案)进程关联是由进程的PCB来表示的,它包括CPU寄存器的值和内存管理信息等。当发生上下文切换时,内核会将旧进程的关联状态保存在其PCB中,然后装入经调度要执行的新进程的已保存的关联状态。4.1举两个多线程程序设计的例子来说明多线程不比单线程方案提高性能答:1)任何形式的顺序程序对线程来说都不是一个好的形式。例如一个计算个人报酬的程序。2)另外一个例子是一个“空壳”程序,如C-shell和korn shell。这种程序必须密切检测其本身的工作空间。如打开的文件、环境变量和当前工作目录。
13、4.2描述一下线程库采取行动进行用户级线程上下文切换的过程 答:用户线程之间的上下文切换和内核线程之间的相互转换是非常相似的。但它依赖于线程库和怎样把用户线程指给内核程序。一般来说,用户线程之间的上下文切换涉及到用一个用户程序的轻量级进程(LWP)和用另外一个线程来代替。这种行为通常涉及到寄存器的节约和释放。4.4以下程序中的哪些组成部分在多线程程序中是被线程共享的?a.寄存值b.堆内存c.全局变量d.栈内存答:一个线程程序的线程共享堆内存和全局变量,但每个线程都有属于自己的一组寄存值和栈内存。5.1为什么对调度来说,区分I/0限制的程序和CPU限制的程序是重要的?答:I/0限制的程序有在运行
14、I/O操作前只运行很少数量的计算机操作的性质。这种程序一般来说不会使用很多的CPU。另一方面,CPU限制的程序利用整个的时间片,且不做任何阻碍I/O操作的工作。因此,通过给I/O限制的程序优先权和允许在CPU限制的程序之前运行,可以很好的利用计算机资源。5.2讨论以下各对调度标准在某种背景下会有的冲突 a.CPU利用率和响应时间 b.平均周转时间和最大等待时间 c.I/O设备利用率和CPU利用率答:a.CPU利用率和响应时间:当经常性的上下文切换减少到最低时,CPU利用率增加。通过减少使用上下文切换程序来降低经常性的上下文切换。但这样可能会导致进程响应时间的增加。b.平均周转时间和最大等待时间
15、:通过最先执行最短任务可以使平均周转时间最短。然而,这种调度策略可能会使长时间运行的任务永远得不到调度且会增加他们的等待时间。c.I/O设备利用率和CPU利用率:CPU利用率的最大化可以通过长时间运行CPU限制的任务和同时不实行上下文切换。I/O设备利用率的最大化可以通过尽可能调度已经准备好的I/O限制的任务。因此,导致上下文切换 。5.4考虑下列进程集,进程占用的CPU区间长度以毫秒来计算:进程 区间时间 优先级P1 10 3P2 1 1P3 2 3P4 1 4P5 5 2假设在时刻0以进程P1,P2,P3,P4,P5的顺序到达。a.画出4个Gantt图分别演示用FCFS、SJF、非抢占优先
16、级(数字小代表优先级高)和RR(时间片1)算法调度时进程的执行过程。b.在a里每个进程在每种调度算法下的周转时间是多少?c.在a里每个进程在每种调度算法下的等待时间是多少?d.在a里哪一种调度算法的平均等待时间对所有进程而言最小?答:a.甘特图略 b.周转时间FCFSRRSJF非抢占优先级P110191916P211211P3137418P4144219P5191496c.等待时间FCFSRRSJF非抢占优先级P10996P210100P3115216P4133118P514942d.SJF5.5下面哪些算法会引起饥饿a.先来先服务b.最短工作优先调度c.轮换法调度d.优先级调度答:最短工作优
17、先调度和优先级调度算法会引起饥饿5.6考虑RR调度算法的一个变种,在这个算法里,就绪队列里的项是指向PCB的指针。a.如果把两个指针指向就绪队列中的同一个进程,会有什么效果?b.这个方案的主要优点和缺点是什么?c.如何修改基本的RR调度算法,从而不用两个指针达到同样的效果?答.a.实际上,这个过程将会增加它的优先权,因为通过经常得到时间它能够优先得以运行。b.优点是越重要的工作可以得到更多的时间。也就是说,优先级越高越先运行。然而,结果将由短任务来承担。c.分配一个更长的时间给优先级越高的程序。换句话说,可能有两个或多个时间片在RR调度中。5.7考虑一个运行十个I/O限制任务和一个CPU限制任
18、务的系统。假设,I/O限制任务一次分配给一个I/O操作1毫秒的CPU计算,但每个I/O操作的完成需要 10毫秒。同时,假设间接的上下文切换要0.1毫秒,所有的进程都是长进程。对一个RR调度来说,以下情况时CPU的利用率是多少: a.时间片是1毫秒 b.时间片是10毫秒答:a.时间片是1毫秒:不论是哪个进程被调度,这个调度都会为每一次的上下文切换花费一个0.1毫秒的上下文切换。CPU的利用率是1/1.1*100=92%。b.时间片是10毫秒:这I/O限制任务会在使用完1毫秒时间片后进行一次上下文切换。这个时间片要求在所有的进程间都走一遍,因此,10*1.1+10.1(因为每个I / O限定任务执
19、行为1毫秒,然后承担上下文切换的任务,而CPU限制任务的执行10毫秒在承担一个上下文切换之前) 。因此,CPU的利用率是20、21.1*100=94%。5.9考虑下面的基于动态改变优先级的可抢占式优先权调度算法。大的优先权数代表高优先权。当一个进程在等待CPU时(在就绪队列中,但未执行),优先权以速率改变;当它运行时,优先权以速率改变。所有的进程在进入就绪队列时被给定优先权为0。参数和可以设定给许多不同的调度算法。a.0时所得的是什么算法?b.0时所得的是什么算法?答:a.FCFS b.LIFO5.10解释下面调度算法对短进程编程度上的区别: a.FCFS b.RR c多级反馈队列答:a.FC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课后题挑选 课后 挑选
限制150内