《操作系统》习题解答.doc
《《操作系统》习题解答.doc》由会员分享,可在线阅读,更多相关《《操作系统》习题解答.doc(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系统习题解答操作系统习题解答习题11.术语解释裸机虚拟机操作系统程序接口命令接口非特权指令特权指令核心态用户态系统调用微内核批处理系统分时实时指令的执行周期中断中断源中断请求中断屏蔽中断禁止GPLPOSIX时间片答案:未配置任何软件的计算机称为“裸机”。在裸机上安装一层软件,使机器的功能得以扩展,这时展现在用户面前的“机器”,就是所谓的虚拟机。操作系统是控制和管理计算机硬件和软件资源、合理地组织计算机工作流程以及方便用户使用计算机的一个大型系统软件。在用户编写的程序中,可使用系统调用命令获得操作系统提供的各种功能服务,这是操作系统在程序一级给予用户的支持,称其为程序接口。用户可使用操作系统
2、提供的各种操作命令,通过键盘(或鼠标)控制和完成程序的运行,这是操作系统在作业控制一级给予用户的支持,称为命令接口。操作系统和用户程序都能使用的硬指令,称为非特权指令。只能由操作系统使用的硬指令,称为特权指令。所谓核心态,是指CPU处于可执行包括特权指令在内的一切机器指令的状态。所谓用户态,是指CPU处于只能执行非特权指令的状态。操作系统里预先编制了很多不同功能的子程序。用户在自己的程序里调用这些子程序,以求得操作系统提供的功能服务。就把这些功能服务子程序称为“系统功能调用”程序,简称“系统调用”。微内核即是把操作系统的内核分为基本功能和非基本功能两部分,在内核里只保留基本功能部分,在核心态下
3、运行;非基本功能部分则从内核剥离下来,让它们以各种服务的形式,在用户态下运行。这一的操作系统内核,称为微内核。若在某系统中,用户作业被分批处理,在处理一批的过程中不允许用户与计算机发生交互作用,即使作业在运行中出现错误,也只能等到整批作业处理完毕后在机下修改。这样的系统,就是所谓的“批处理系统”。所谓分时,即指多个用户通过各自的终端同时访问系统,由操作系统控制每个用户程序以很短的时间为单位交替执行。所谓实时,是指能够及时响应随机发生的外部事件并对事件做出快速处理的一种能力。一个单一的指令需要的处理过程,称为指令的一个“执行周期”。所谓“中断”,是指在CPU执行程序过程中,由于内部或某个外部事件
4、的发生,让CPU暂时中止正在执行的程序而转向该突发事件的处理,处理完毕后返回被中止的程序继续执行的这样一个处理过程。凡能引起中断的设备或事件均称为“中断源”。中断源向CPU发出中断信号,称为中断请求。中断屏蔽是指在提出中断请求后,CPU不予响应的情况。中断禁止是指在可能引起中断的事件发生时,系统不接收该中断信号,使之不可能提出中断请求或导致中断。GPL是“通用公共许可协议(General Public License,的缩写)”,其意是要求整个系统的源代码可以自由获取,并且在GPL许可的范围内自由修改、传播。POSIX(Portable Operating System Interface f
5、or Computing Systems,的缩写),是由IEEE和ISO/IEC开发的一系列标准。该标准基于已有Unix的实践和经验,描述系统调用的服务接口,并保证编制的应用程序可在多种操作系统上以源代码一级的形式进行移植和运行。指程序在被中断前可以执行的最大时间段。2为了管理系统中的各种资源,需要共同解决的问题是哪些?答:计算机系统拥有四类资源:处理机(即CPU),存储器,外部设备,程序和数据。前三种属于硬资源,后一种属于软资源。在计算机的运行过程中,对每种资的管理,需要共同解决的问题是:(1)记住资源当前状态:是否被使用,谁在使用。(2)制定资源分配策略:如何分配,何时分配,分配多少,应该
6、分配给谁。(3)实施资源分配:根据分配策略完成分配。(4)完成资源回收:使用结束收回资源,以便进行下次分配。3应用程序与系统程序有什么区别?答:可把软件大致划分为应用软件和系统软件两类。应用软件是为解决某类需要或某个特定问题而编制的程序,它涉及计算机应用的各个领域。系统软件不是针对特定需要或特殊问题编制的程序,而是对计算机系统的资源实施管理、控制,为其他程序的运行提供支持和服务的通用软件,系统软件都是由计算机生产厂家提供的。4CPU的核心态与用户态有何区别?答:当CPU处于核心态时,可以执行包括特权指令在内的一切机器指令;当CPU处于用户态时,禁止使用特权指令,只能执行非特权指令。如果在用户态
7、下发现取到了一条特权指令,中央处理机就会拒绝执行,产生“非法操作”中断。5操作系统的单内核模式和微内核模式有什么区别?答:单内核模式也称集中模式或整体模式,整个系统是一个大的模块。这时,操作系统提供的工作流程是应用主程序用给出的参数值去执行操作系统中的各种系统调用命令。由于完全实行内部调用,因此运行效率极高。但因其源代码是一个整体,因此各模块间的界限不很清晰,调用极为随意。这样,在为内核程序的修改和升级带来极大麻烦。微内核模式则是把操作系统的内核分为基本功能和非基本功能两部分,内核里只保留基本功能部分,在核心态下运行;非基本功能部分则从内核剥离下来,让它们以各种服务的形式,在用户态下运行。这时
8、内核的主要功能是在客户程序和运行在用户空间的各种服务(属系统程序)之间进行通信,客户程序和各种服务之间不会直接交互,而是必须通过内核的消息交换才能完成相互通信。这种模式的优点是内核小,便于系统的扩充和修改。6根据例1-3的数据,分别对单道程序设计和多道程序设计最终完成对表1-2的填写。表1-2 例1-3中不同情况下的资源利用统计单道程序设计多道程序设计处理器使用20%40%存储器使用33%67%磁盘使用33%67%打印机使用33%67%总共运行时间30分钟15分钟吞吐量6个作业/小时12个作业/小时注:所谓一个系统的吞吐量,是指系统在单位时间(通常为小时)内处理的作业数。7在分时系统和实时系统
9、中,其响应时间分别是由(E)和(F)来确定的。A时间片大小B用户数目C计算机运行速度D实时调度E用户所能忍受的等待时间F控制对象所能接受的延时8试问,在分时系统中用户数是100个,为保证响应时间不超过2秒,所设定的时间片的最大值应为多少?答:应为20ms。9在一个分时操作系统中,用户提交了一个作业,其执行流程是:申请存储区计算,并将结果暂存于主存请求打印机将主存中内容在打印机上输出释放打印机归还占用的存储区结束。试从资源管理的观点分析该作业从提交到结束,操作系统为其提供服务涉及到的各个功能模块。答:第1,通过存储管理,为其分配所需存储区;第2,通过处理机管理将CPU分配给它,完成作业计算,并将
10、计算结果存入主存;第3,通过设备管理,把打印机分配给该作业;第4,执行打印机驱动程序,驱动打印机进行打印;第5,打印机完成打印,发出中断信号,请求CPU处理;第6,CPU响应中断,执行打印机中断处理程序,并释放打印机;第7,通过存储管理,回收存储区;第8,撤销该作业。10为进行单道批处理系统和多道批处理系统的特点,请完成表1-3的填写。表1-3 单道批处理和多道批处理的特性比较单道批处理系统多道批处理系统主存中驻留程序的个数一道多道占用CPU的情况独占交替占用是否需要对用户作业进行调度不需要需要程序完成次序与其进入主存次序间的关系严格对应不严格对应11在批处理和分时系统相结合的操作系统中,为什
11、么要引入“前台”和“后台”作业的概念?答:通常,将终端用户作业作为前台作业,将批处理作业作为后台作业。这样的搭配,一方面可以保证系统及时响应前台用户作业的操作请求,并使其得到及时的处理。而作为批处理的后台作业,则只是利用系统不处理前台作业的空闲时间,在CPU上运行,从而达到提高CPU利用率的目的。12就CPU的利用率的高低,对手工操作、单道批处理、多道批处理和多用户分时系统进行排序。答:手工操作阶段,没有操作系统进行管理,大量时间是机器等人,因此CPU的利用率最低。单道批处理系统与手工操作相比,提高了系统自动化处理的程度。但由于主存内只有一道作业程序,CPU与I/O只能串行工作,所以CPU的利
12、用率仍然很低。多用户分时系统属于多道程序系统,比起手工操作和单道批处理来,它的CPU利用率较高。但由于系统的交互性和及时性要求,CPU必须在多个用户程序之间进行切换,从而增加了系统的额外开销。多道批处理系统完全自动处理各个用户的程序,只有在程序等待某事件发生时,才会产生程序间的切换,因此系统花费在程序间切换上的开销,要远小于多用户分时系统。因此,它是这四种系统中CPU利用率最高的系统。习题21.术语解释并发并行进程用户进程系统进程创建状态就绪状态运行状态阻塞状态终止状态就绪/挂起状态阻塞/挂起状态进程控制块PCB进程映像原语线程用户级线程线程库内核级线程位图答案:所谓“并发”,是指从宏观上看在
13、一段时间内有多个程序在同时运行,而从微观上看这些程序是在交替运行。或所谓“并发”,是指逻辑上相互独立的几个应用程序,同时处于活动状态,并竞争使用系统中的各种资源(如CPU、内存、硬设备等)。所谓“并行”,是指多个程序在同一时刻运行。所谓“进程”是指一个程序在给定数据集合上的一次执行过程,是系统进行资源分配和运行调度的独立单位。操作系统中用于管理系统资源的那些可以并发执行的程序,构成了一个个系统进程,它们提供系统的服务,分配系统的资源可以并发执行的用户程序段,形成了一个个用户进程,它们是操作系统的服务对象,是系统资源的实际的享用者。创建状态:一个进程正在初创时期,操作系统还没有把它列入到可执行的
14、进程行列中。就绪状态:一个进程已经具备运行的条件,只要有机会获得CPU就可以投入运行。运行状态:一个进程获得了CPU正在被执行中。假定系统中只有一个CPU,因此任何时候最多只有一个进程处于运行状态。阻塞状态:进程正在等待某个事件(比如I/O的完成)的发生,在事件到来之前,即使把CPU分配给这个进程,它也无法运行。终止状态:一个进程或正常结束,或因某种原因被强制结束。这时,系统正在为其进行善后处理。就绪/挂起状态:进程在辅存,只要被激活,进程就可以调入内存,如果获得CPU就可以投入运行。阻塞/挂起状态:进程在辅存等待事件的发生。只要被激活,进程就可以调入到内存里去等待事件的发生。为了便于管理和控
15、制进程的执行,为了随时刻画进程的动态特性,为了反映进程间的相互关系,操作系统就用一个与进程有关的数据结构来完成这样的任务。这个数据结构就称为“进程控制块(PCB)”。进程将要执行的程序、数据以及进程控制块PCB,这三个部分组成的集合,称为“进程映像”。在操作系统里,那种“在执行期间不能被打断、不能被分割”的程序段,称作“原语”。所谓“线程”,是指进程中实施处理器调度和分配的基本单位。如果有关线程的管理工作(比如线程的创建、撤销,线程间的消息和数据传递,线程的调度和现场保护及恢复等),都是由运行在用户空间的应用程序完成,那么这样的线程称为“用户级线程”。完成用户级线程管理工作的应用程序,称为“线
16、程库”。如果有关线程管理的所有工作都是由内核完成的,用户空间里没有任何进行线程管理的程序,系统给应用程序提供相应的系统调用和应用程序编程接口(API),以使用户程序可以创建、执行、撤销线程。那么这样的线程称为“内核级线程”。在内存开辟一个由若干个字组成的区域,用其中的每一个二进制位表示一种含义。这个区域就称为是一个“位图”。2. 在多道程序设计下,进程具有什么样的特征?答:在多道程序设计下,进程有如下几个方面的特征。(1)进程是一个动态的概念,强调的是程序的一次“执行”过程。(2)不同进程可以执行同一个程序。(3)每一个进程都有自己的生命期。(4)进程之间具有并发性。(5)进程间会相互制约。3
17、. 什么是一个进程的生命期?答:进程的本质是程序的一次执行过程,当系统要完成某一项工作时,就“创建”一个进程,以便执行事先编写好的、完成该工作的那段程序;程序执行完毕,完成预定的任务后,系统就“撤销”这个进程,收回它所占用的资源。一个进程创建后,系统就感知到它的存在;一个进程撤销后,系统就无法再感知到它。于是,从创建到撤销,这个时间段就是一个进程的“生命期”。4. 系统进程与用户进程有什么区别?答:系统进程与用户进程是两类不同性质的进程,主要区别如下。(1)系统进程之间的相互关系由操作系统负责协调,以便有利于增加系统的并行性,提高资源的整体利用率;用户进程之间的相互关系要由用户自己(在程序中)
18、安排。不过,操作系统会向用户提供一定的协调手段(以系统调用命令的形式)。(2)系统进程直接管理有关的软、硬件资源的活动;用户进程不得插手资源管理,在需要使用某种资源时,必须向系统提出申请,由系统统一调度与分配。(3)系统进程与用户进程都需要使用系统中的各种资源,它们都是资源分配与运行调度的独立单位,但系统进程的使用级别,应该高于用户进程。也就是说,在双方出现对资源的竞争时,系统进程有优先获得资源、优先得以运行的权利。只有这样,才能保证计算机系统高效、有序的工作。(4)通常,系统进程运行在核心态,用户进程运行在用户态。不过,在微内核模式下,只有那些执行基本功能程序的进程,运行在核心态,而那些执行
19、非基本功能程序的进程,则是以各种服务的形式运行在用户态。5. 在多道程序设计环境的进程中引入“挂起”状态,对整个系统有什么好处?答:挂起一个进程就是把这个进程调出内存,放到辅存的交换区去。这样做的好处是通过把在内存中等待的进程交换到辅存,就可以腾出宝贵的内存空间,就可以从辅存调入可运行进程,或可以接纳新进程,或可以为当前执行进程提供必要的存储空间,从而提高CPU的利用率。6. 根据图2-4,请回答对如下问题:(1)在哪几种状态变迁下,一个进程会从内存交换到辅存?(2)在哪几种状态变迁下,一个进程会从辅存交换到内存?答:(1)在下面的三种状态变迁下,一个进程会从内存交换到辅存:从阻塞状态变迁到阻
20、塞/挂起状态;从就绪状态变迁到就绪/变迁状态;从运行状态变迁到就绪/挂起状态。(2)在下面两种状态变迁下,一个进程会从辅存交换到内存:从就绪/挂起状态变迁到就绪状态;从阻塞/挂起状态变迁到阻塞状态。7. 一个进程在阻塞状态时等待事件的发生,该进程这时是位于内存还是辅存?一个进程在阻塞/挂起状态时等待事件的发生,该进程这时是位于内存还是辅存?答:在前一种情形时,进程位于内存;在后一种情形时,进程位于辅存。8. 为什么说进程控制块是操作系统中最重要的一种数据结构?答:由于进程控制块PCB里包含了有关一个进程所需要的所有信息,它是操作系统感知到一个进程实际存在的唯一实体。所以说进程控制块是操作系统中
21、最重要的一种数据结构。9. 操作系统中引入线程的优点是什么?答:线程具有如下优点:由于在进程内的线程共享程序和资源,因此创建线程无需进行资源分配,比创建一个进程要快得多;这也使撤消线程比撤消一个进程所花费的时间短;同一进程里线程间的切换是在进程的地址空间里进行,因此比进程间不同地址空间中的切换开销要少得多;进程里的线程可以随时访问该进程拥有的所有资源,无需做任何切换工作;同一进程中的线程共享内存区域和文件,因此它们之间可以直接进行通信,不必通过系统内核。10. 进程与线程有什么区别?答:进程和线程间有如下的几点不同。(1)地址空间:不同进程的地址空间是相互独立的,而同一个进程中的各个线程共享着
22、同一个用户地址空间。因此,进程中的线程,不会被另一个进程所看见。(2)通信关系:不同进程间的通信,必须使用操作系统提供的进程通信机制;同一进程的各个线程间的通信,可以直接通过访问共享的进程地址空间来实现。(3)调度切换:不同进程间的调度切换,系统要花费很大的开销(比如,要从这个地址空间转到那个地址空间,要保护现场等);同一进程的线程间的切换,无须转换地址空间,从而减少了很多的系统开销。11. 什么是Linux的进程链表?如何找到这个链表的头?答:Linux进程的PCB里有名为prev_task和next_task的两个task_struct型指针字段。这样,从init进程PCB里的这两个字段开
23、始,把系统中所有的进程的PCB链接在一起,形成一个双向链表,就成为是Linux的进程链表。由于init进程PCB的位置在系统里是固定不变的,所以找到init进程PCB里的next_task,就可以找到Linux进程链表的表头。12. 什么是Linux的可运行状态队列?如何找到这个队列的头?答:Linux进程的PCB里有名为prev_run和next_run的两个task_struct型指针字段。从init进程PCB里的这两个字段开始,把系统中所有“可运行状态”进程的PCB链接在一起形成一个双向链表,就成为是Linux的“可运行状态”队列。由于init进程PCB的位置在系统里是固定不变的,所以只
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 习题 解答
限制150内