收藏 分销(赏)

操作系统概论习题库带答案章节练习题复习题思考题章末测试题项目1-8章全.doc

上传人:a199****6536 文档编号:3158265 上传时间:2024-06-21 格式:DOC 页数:34 大小:200.53KB
下载 相关 举报
操作系统概论习题库带答案章节练习题复习题思考题章末测试题项目1-8章全.doc_第1页
第1页 / 共34页
操作系统概论习题库带答案章节练习题复习题思考题章末测试题项目1-8章全.doc_第2页
第2页 / 共34页
操作系统概论习题库带答案章节练习题复习题思考题章末测试题项目1-8章全.doc_第3页
第3页 / 共34页
操作系统概论习题库带答案章节练习题复习题思考题章末测试题项目1-8章全.doc_第4页
第4页 / 共34页
操作系统概论习题库带答案章节练习题复习题思考题章末测试题项目1-8章全.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、第1章 操作系统概论课后习题解答 33第1章 操作系统概论课后习题解答1什么是操作系统?它有哪些基本功能与基本特征?【解答】操作系统是一个软件系统,它控制和管理计算机系统内各种硬件和软件资源,提供用户与计算机系统之间的接口。 操作系统的功能有:(1)提供用户接口为方便用户使用计算机系统,操作系统提供了用户接口。操作系统提供两个级别的接口:作业控制级接口(通常又称为命令接口):提供一组命令供用户直接或间接控制自己的作业;程序级接口:提供一组系统调用供用户程序和其他系统程序调用。(2)管理计算机资源计算机系统中的资源包括硬件资源和软件资源。硬件资源有:处理机、存储器、外部设备;软件资源有:程序和数

2、据。现代计算机系统一般采用多任务并发执行方式,而且有的计算机系统由多个用户同时联机使用。这使得计算机的资源不是由一个程序在运行时独占使用,而是由多个并发运行的程序共享使用。如果由各并发运行的程序自己决定如何使用资源,则会各行其是,造成冲突,混乱,使系统无法顺利高效运行。因此,要有一个地位高于各应用程序之上的软件来进行自动的统一的管理,这个软件就是操作系统。操作系统的目标之一就是统一管理分配计算机系统资源,在保证各并发执行的应用程序顺利运行的前提下提高资源利用率。包括处理机管理、存储器管理、设备管理、文件管理。操作系统的特性有:(1)并发在单处理机系统中,并发性是指宏观上有多道程序在同时运行,但

3、在微观上是交替执行的。多道程序并发执行能提高资源利用率和系统吞吐量。(2)共享共享是指计算机系统中的资源被多个并发任务共同使用。(3)异步在多道程序系统中,多进程并发执行,但在微观上,进程是交替执行的,因此进程以“走走停停”的不连续方式运行。由于并发运行环境的复杂,每个进程在什么时候开始执行,何时暂停,以怎样的速度向前推进,多长时间完成,何时发生中断,都是不可预知的。我们称此种特征为异步性。(4)虚拟在操作系统中,虚拟指的是通过某种技术把一个物理实体映射为多个逻辑实体,用户程序使用逻辑实体。逻辑实体是用户感觉上的实际不存在的事物。例如在分时系统中,虽然只有一个CPU,但是在分时系统的管理下,每

4、个终端用户都认为自己独占一台主机。此时,分时操作系统利用分时轮转策略把一台物理上的CPU虚拟为多台逻辑上的CPU。2操作系统发展的动力是什么?【解答】推动操作系统发展的主要动力有:(1)不断提高计算机资源利用率的需要。(2)方便用户的需要。(3)器件不断更新换代的需要。(4)计算机体系结构不断发展的需要。3批处理系统的目标是什么?【解答】批处理系统旨在实现作业步之间以及作业之间的自动过渡,减少作业控制及作业过渡时的手工操作,从而提高计算机系统的工作效率。4为什么要引入多道程序并发执行技术?【解答】在单道批处理系统中任何时刻只有一道作业在内存中,在一道作业的运行过程中,输入输出和计算操作是串行的

5、,因此导致I/O设备和CPU串行工作,从而导致总有空闲资源,在I/O设备工作时CPU空闲,在CPU工作(指进行计算工作)时I/O设备空闲。即使是在脱机批处理系统中,内存和输入输出磁带之间的数据传输与CPU的计算工作也是串行的。为了进一步提高资源利用率,从而最终提高系统吞吐量(系统在单位时间内完成的总工作量),在60年代中期引入了多道程序并发执行技术,从而形成了多道批处理系统。多道程序并发执行的基本思想是:在内存中同时存放多道程序,在操作系统的控制下交替执行。在多道批处理系统中,用户提交的作业都先存放在外存中并排成一个队列,称为后备队列,然后由作业调度程序按一定的策略从后备队列中选择若干作业调入

6、内存,使它们并发运行,从而共享系统中的各种资源,提高资源利用率,最终提高系统吞吐量。5试分析单道与多道批处理系统的优缺点。【解答】批处理系统实现了作业步之间以及作业之间的自动过渡,从而提高了计算机系统的工作效率。多道批处理系统使得CPU与外部设备并行工作,提高了资源利用率。但是批处理系统缺少人机交互,在作业运行过程中不能人工干预,使得用户不能灵活控制作业过程。6为什么要引入分时操作系统?【解答】多道批处理系统充分地提高了计算机资源利用率和系统吞吐量,但是它缺少人机交互能力,即用户把作业提交给计算机系统后,就完全脱离了自己的作业,不能干预作业的运行,因此不能及时修正作业运行过程中出现的错误,只有

7、当作业运行结束后才能脱机修正错误,因此用户使用不方便。对一个程序员来说,每当他编写好一个程序时,都需要上机进行调试。由于新编写的程序难免有些错误或不当之处,因此希望能够进行人机交互以便能及时地修改错误,即用户希望可以随意干预、控制自己作业的运行流程 。因此,人们开发出交互式分时操作系统。在分时系统中,一台主机可以连接若干终端,每个用户可以通过终端与主机交互。用户可以方便地编辑和调试自己的程序,向系统发出各种控制命令,系统及时地响应用户的请求,输出计算结果以及出错、告警、提示信息。7分时系统是怎样实现的? 【解答】在分时系统中,虽然若干用户通过各自的终端共享一台主机,但是在操作系统的管理下,每个

8、用户都感觉自己在独占一台主机。分时系统采用的策略是:基于主机的高速运行,分时为终端用户服务。即主机按一定次序轮流为各终端用户服务,每个用户一次仅使用主机很短的一段时间(称为时间片,毫秒级),在分得的时间片内若用户没有完成工作则暂时中断,将处理机分配给下一个用户。虽然在一个用户使用主机时其他用户处于等待状态,但是等待的时间很短,用户感觉不到,从而每个用户的各次请求都能得到快速响应,给每个用户的印象是:他独占一台计算机。8实时操作系统应用在哪些场合?【解答】实时系统应用于两个领域:(1)实时控制当把计算机用于生产过程的控制,以形成以计算机为中心的控制系统时,系统要求能实时采集现场数据,并对所采集的

9、数据进行及时处理,进而自动地控制相应的执行机构,使某些(个)参数(如温度、压力、方位等)能按预定的规律变化。类似地,也可将计算机用于武器的控制,如火炮的自动控制系统、飞机的自动驾驶系统,以及导弹的制导系统等。通常把要求进行实时控制的系统称为实时控制系统。(2)实时信息处理通常,我们把要求对信息进行实时处理的系统,称为实时信息处理系统。该系统由一台或多台主机通过通信线路连接成百上千个远程终端,计算机接收从远程终端发来的服务请求,对数据进行检索和处理,并及时将结果反馈给用户。典型的实时信息处理系统有:飞机订票系统、情报检索系统。9实时系统有哪些特点?【解答】实时系统的特征:(1)及时性系统对外部实

10、时信号必须能及时响应,响应的时间间隔要足以能够控制发出实时信号的那个环境。(2)可靠性由于实时系统的应用环境特殊,在实时系统中,任何软硬件故障都可能给系统带来严重的后果。必须采取相应的软硬件措施,以保证系统高度可靠。常用的硬件措施如采用双工机制,即准备两台功能相同的计算机,将其中一台作为主机,另一台作为后备机。后备机与主机并行工作,但不产生控制输出,若主机发生故障,后备机立即代替主机继续工作,保证系统不间断运行。10操作系统的结构有哪些类型?分别阐述。【解答】一般而言,操作系统有两种结构:层次结构、微内核结构。(1)层次结构层次结构操作系统的设计思想是:按照操作系统各模块的功能和相互依存关系,

11、把系统中的模块分为若干层次,其中任一层(除底层模块)都建立在它下面一层的基础上,每一层仅使用其下层所提供的服务。(2)微内核结构微内核结构是20世纪90年代发展起来的。其基本思想是:把操作系统中的基本功能模块组织为微内核,其他功能模块尽量放到核外,通过调用微内核来实现。微内核结构是对传统内核的提炼,它有如下优点:简化内核代码维护工作建构灵活安全性高方便移植11处理机管理有哪些主要功能?它们的主要任务是什么?【解答】(1)处理机调度要在单处理机系统中并发运行多道程序,必须按照一定策略对处理机进行调度,就像在一条铁路上运行多列火车一样,需要进行调度,要决定在某个时刻把处理机分配给哪个进程进行计算操

12、作。这是处理机管理的核心任务。(2)进程控制进程是程序的一次动态运行过程,在其生存期内从产生到消亡经过了一系列状态的转换。在多道程序并发运行的系统中,通常不会让一道程序独占计算机全部资源不间断地运行完毕,而是让多个进程交替运行。这样进程在其生存期内肯定有多种状态,最起码有运行和不运行两种状态。进程的状态数量是操作系统按照一定的管理策略来设置的,进程状态转换是操作系统实施进程管理的一个基本操作。操作系统提供了一些原语来对进程状态的转换进行控制。(3)进程通信在多道程序环境下,可以由系统为一个应用程序建立多个进程,这些进程相互合作去完成某一共同任务,它们之间要交换信息进程通信。为保证进程之间正确通

13、信,操作系统提供了一系列通信原语供应用进程调用。(4)进程同步在多道程序系统中,多个并发进程处在同一运行环境中,必然存在着某种联系,如进程之间的资源共享和进程之间的协作。操作系统必须采用一定策略来处理并发进程之间的制约关系,使各进程能顺利运行,即使各进程同步协调运行。操作系统中设置了同步机制来完成此功能。12内存管理有哪些主要功能?它们的主要任务是什么?【解答】操作系统提供如下存储管理功能:(1)内存分配内存分配的任务是为每道程序分配一定的存储空间。往往会出现多道程序对内存的需求总和超过实际内存空间,因此在制定分配策略时应以提高内存利用率为目标。(2)地址转换程序必须装入内存才能被CPU访问到

14、并执行,程序指令的操作对象数据也必须装入内存才能被程序访问,程序和数据装入内存后占据一定的物理内存地址空间,程序的逻辑地址空间往往和物理地址空间不重合,而程序最终是在物理地址空间中运行,即访问程序中的指令和数据时是按其所在的实际内存单元的地址来进行的,所以要正确地访问数据和指令,必须把指令中的逻辑地址转换成相应的物理地址,这一操作称为地址转换,又称为“重定位”。(3)内存保护内存保护的任务是确保每道用户程序都在自己的内存空间中运行,互不干扰。即,不允许用户程序访问操作系统的程序和数据(只可以通过系统调用访问操作系统),也不允许访问(存取)其他程序的存储空间。(4)内存扩充在多道程序环境中,内存

15、资源比较紧张,往往会出现多道程序对内存的需求总和超过实际内存容量的情况。因此在采用合适的内存分配策略以提高内存利用率的基础上,要采用内存扩充技术来为多道程序运行提供充足的内存空间。这里说的内存扩充是从逻辑角度而言的,不是指添加物理内存,扩充物理内存容量。13设备管理有哪些主要功能?它们的主要任务是什么?【解答】(1)设备分配根据用户程序的I/O请求,为之分配所需的设备。如果在I/O设备和CPU之间还存在着设备控制器和I/O通道时,还要为分配出去的设备分配相应的控制器和通道。(2)缓冲管理进程在运行过程中要和输入输出设备之间传输数据,在进程的数据存储区和I/O设备控制器之间直接传输数据效率较低或

16、者无法进行,因此操作系统提供了缓冲技术。缓冲管理的任务是解决CPU和外设速度不匹配的矛盾,使它们能充分并行工作,从而提高CPU和I/O设备的利用率,最终达到提高系统吞吐量的目的。(3)设备驱动设备驱动程序实现CPU与设备控制器之间的通信。由CPU向设备控制器发出I/O指令,由设备控制器驱动相应设备进行I/O操作;当I/O操作完成时,设备控制器向CPU发送中断信号,由相应的中断处理程序进行处理。(4)设备无关性又称设备独立性。即用户编写的应用程序与实际使用的物理设备无关。用户编写的应用程序中不直接指定使用哪台具体的物理设备,而是使用操作系统提供的逻辑设备,然后由操作系统把用户程序中使用的逻辑设备

17、映射到具体的物理设备,实施具体的I/O操作。这样做的一个明显好处是用户应用进程的运行不取决于某台具体物理设备的状态,而由操作系统为其分配一台合适的设备完成I/O操作。这样会避免出现有设备可用但进程却无法运行的情况。14文件管理有哪些主要功能?它们的主要任务是什么?【解答】文件管理具体有如下功能:(1)文件存储空间的管理为新文件分配所需的外存存储空间,回收释放的文件存储空间。在进行文件存储空间的分配和回收时,要考虑到提高外存空间的利用率和提高文件的存取速度。(2)目录管理为了能方便地在外存中找到所需要的文件,要为外存中存放的文件建立目录,每个文件都对应着一个目录项。目录项包含文件名、文件属性、文

18、件在外存中的存放位置等用户和操作系统所需信息。目录管理的主要任务是建立外存中文件的目录结构,实现用户程序对文件的“按名存取”。文件目录项要按一定结构组织起来,以便于操作系统检索。在UNIX/LINUX中采用了树型目录结构。(3)文件操作包括文件的创建、删除、打开、关闭、读、写等。这其实是一组文件系统功能调用,在用户程序中当要对文件进行操作时,可以调用文件系统提供的这些文件操作功能。(4)文件的存取权限控制为了防止系统中的文件被非法窃取和破坏,操作系统提供了文件的存取权限控制功能,以防止未被授权的用户存取文件,防止用户以不正确的方式存取文件。当用户对某一文件操作时,首先检查其对该文件的操作权限,

19、如果该用户具有对该文件的此种操作权限,则允许该用户存取该文件,否则拒绝用户对该文件的此种操作。15操作系统提供了哪些人机接口?【解答】为方便用户使用计算机系统,操作系统提供了用户接口。操作系统提供两个级别的接口:(1)作业控制级接口(通常又称为命令接口):提供一组命令供用户直接或间接控制自己的作业。作业级接口由一组用户可直接使用控制作业运行的命令和命令解释器构成。如:在DOS系统中有内部命令和外部命令,有命令解释器。该接口又可进一步分为联机用户接口和脱机用户接口。联机用户接口:由一组键盘字符命令(或鼠标命令)和命令解释器组成,使用户可以联机交互方式使用计算机。脱机用户接口:操作命令的形式为作业

20、控制语言,用户以脱机批处理方式使用计算机。用户对作业流程的控制意图是利用作业控制语言书写成一份作业说明书来表达的。(2) 程序级接口:提供一组系统调用供用户程序和其他系统程序调用。程序级接口由一组系统功能调用命令以及完成这些命令的程序模块组成。为方便用户编程,提高编程效率,规范编程,操作系统提供了完成某些通用功能的程序,供用户在开发应用程序时调用。不同的操作系统提供了不同的系统功能调用以及调用方式。第2章 文件管理习题解答1什么是文件和文件系统?文件系统有哪些功能?【解答】文件是具有符号名而且在逻辑上具有完整意义的信息项的有序序列。文件系统是指操作系统系统中实现对文件的组织、管理和存取的一组系

21、统程序,它实现对文件的共享和保护,方便用户“按名存取”。文件系统的功能“(1)文件及目录的管理。如打开、关闭、读、写等。(2)提供有关文件自身的服务。如文件共享机制、文件的安全性等。(3)文件存储空间的管理。如分配和释放。主要针对可改写的外存如磁盘。(4)提供用户接口。为方便用户使用文件系统所提供的服务,称为接口。文件系统通常向用户提供两种类型的接口:命令接口和程序接口。不同的操作系统提供不同类型的接口,不同的应用程序往往使用不同的接口。2Linux文件可以根据什么分类?可以分为哪几类?各有什么特点?【解答】在Linux操作系统中,文件可以根据内部结构和处理方式进行分类。在Linux操作系统中

22、,可以将文件分为普通文件、目录文件、特别文件三类。各类文件的特点是:普通文件:由表示程序、数据或正文的字符串构成的文件,内部没有固定的结构。 这种文件既可以是系统文件,也可以是库文件或用户文件。目录文件: 由文件目录构成的一类文件。 对它的处理(读、 写、 执行)在形式上与普通文件相同。特别文件:特指各种外部设备,为了便于管理,把所有的输入/输出设备都按文件格式供用户使用。 这类文件对于查找目录、存取权限验证等的处理与普通文件相似,而其他部分的处理要针对设备特性要求做相应的特殊处理。 应该指出,按不同的分类方式就有不同的文件系统。3什么是文件的逻辑结构?什么是文件的物理结构?Linux文件系统

23、分别采用什么样的结构?有什么优点和缺点?【解答】文件的逻辑结构:用户对文件的观察的使用是从自身处理文件中数据时采用的组织方式来看待文件组织形式。这种从用户观点出发所见到的文件组织方式称为文件的逻辑组织。文件的物理结构:从系统的角度考察文件在实际存储设备上的存放形式,又称为文件的存储结构。在Linux系统中,所有文件的逻辑结构都被看作是流式文件,系统不对文件进行格式处理。在Linux系统中,文件的物理结构采用的是混合多重索引结构,即将文件所占用盘块的盘块号,直接或间接地存放在该文件索引结点的地址项中。在Linux系统中,采用混合索引结构的优点是,对于小文件,访问速度快;对于大中型的文件,其文件系

24、统也能很好的支持;缺点是会带来因为多次访问磁盘而影响速度。4目前广泛用的目录结构形式是哪种?它有什么优点?【解答】广泛用的目录结构形式是树型目录结构。优点:(1)能有效的提高对目录的检索速度。(2)允许文件重名。允许用户在自己的分目录中,使用与其他用户相同的文件名。(3)便于实现文件共享。5常见的文件存储空间管理有哪几种?各自有什么特点?Linux系统的存储空间管理采用什么方法?【解答】常见的文件存储空间管理有:空闲空间表法、空闲块链接法、位示图法、空闲块成组链接法。空闲空间表法:所有连续的空闲盘块在表中占有一项,其中每一个空闲表项包括序号、空闲区的第一个盘块号、该区的空闲盘块数及对应的空闲物

25、理块号。利用该表进行盘块的分配和文件删除时盘块的回收。空闲块链接法:将磁盘上的所有盘块拉成一条链,用一个指针指向第一个空闲块,而各个空闲块中都含有下一个空闲区的块号,最后一块的指针项记为NULL,表示链尾。分配和释放盘块都在链头进行。位示图法:利用一串二进制位的值来反映磁盘空间的分配情况,每个盘块都对应一位。若盘块空闲,对应位为0;若盘块已分配出去,则对应位为1。空闲块成组链接法:把所有空闲盘块按固定数量分组,组与组之间形成链接关系,最后一组的块号通常放在内存的一个专用栈中。因而对盘块的分配和回收都在栈中进行。Linux系统的存储空间管理采用空闲块成组链接法。6内存管理和外存管理有何异同?【解

26、答】可以从以下几个方面进行比较:(1)主要任务:内存管理的主要任务是为多道程序的运行提供良好的环境,使每到程序都能顺利运行。外存管理的主要任务是为文件提供存储空间。(2)基本功能:内存管理的基本功能包含了内存空间的分配、回收、保护、扩充等方面。外存管理的基本功能则只是对外存空间的分配和回收。(3)分配方式:内存和外存管理都可采用连续或离散分配方式,且都以离散分配方式为主。(4)分配算法:对于连续分配方式,内存与外存管理中的分配和回收算法类似,主要有首次适应算法、循环首次适应算法等。在离散分配方式中,两者索采用的机制不同,内存管理只要利用页表或段表;在外存管理中,则主要利用文件分配表。(5)分配

27、单位:内存以字节为单位,外存则以盘块为单位分配。7为什么要打开文件?叙述在linux文件系统,打开文件/home/user01/myfile的过程?【解答】当用户要求对一个文件实施多次读/写或其他操作时,每次都要从检索目录开始。为了避免多次重复地检索目录,在大多数OS中都引入了“打开”(open)这一文件系统调用,当用户第一次请求对某文件进行操作时,先利用open系统调用将该文件打开。在UNIX文件系统,打开文件/home/user01/myfile的过程四步:(1)检索目录核心先调用检索目录过程namei从根目录或从当前目录开始,沿目录树查找指名文件的索引结点。在查找时,利用线性检索法,将文

28、件路径名中的各分量名,与相应目录文件中的文件名逐一进行比较。若未找到该文件名,或者该文件不允许存取,便做出错处理;否则,进入第二步。(2)分配内存索引结点如果该文件已被其他用户打开,此时只需对在第一步中所找到的i结点,执行其引用计数加1的操作;否则,应为被打开文件分配一个内存i结点,并调用磁盘读过程将磁盘i结点的内容拷贝到内存 i 结点中,并设置i.count为1。(3)分配文件表这是指为已打开的文件分配一个文件表项,使文件表项中的 f. node指向内存索引结点。通常还将读写指针f.offset置为 0,以表示从头开始读写此文件;置读写标志 fflag,及将文件的引用计数fcount加 1,

29、并记入该表项的首址fp。(4)分配用户文件描述表项在用户文件描述表中取得一空表项。若成功,便将fp填入该表项中,并把该表项的序号fd作为文件描述符,写入调用进程的U区中。8.在Linux系统中,一个盘块大小为1KB,每个盘块号占4B,则一个进程要访问一个相对于文件开始的偏移量为263168B处的数据时,计算是直接还是索引访问,几级索引?【解答】一次间接。263168B/1024B=257即该地址在第257块。块内偏移量为:263168-1024*257=0因 10257266故为一次间接。9有一个UNIX文件的权限为:rwxr_x_ _ _,该文件的文件主为uid=12,gid=1,有一用户B

30、的uid=6,gid=1,问:系统是否允许用户B执行该文件?为什么?【解答】允许。因为UID为用户标识符。说明用户B与该文件主为同组用户。10说明Linux系统磁盘的结构及各部分的功能。【解答】(1)0号块1号块2号块K号块(索引结点区)文件区(2)0号块存放引导程序,是引导区,1号块是超级块,也叫超级块,存放文件卷的管理信息,索引节点区存放各文件的索引结点;文件区存放文件的内容。11磁盘容量为1.2GB的硬盘,假设盘块大小为1KB,每个盘块号在FAT表区占4B,你作为磁盘的设计人员,应设FAT区为多长?【解答】1.2GB=1.2M*1KB即 1.2GB/1KB=1.2M磁盘由1.2个磁盘块组

31、成。1.2*4B=4.8MB所以磁盘的FAT表区长度应为4.8MB12设在linux中有一进程P,P中有一操作需要访问一文件中偏移量为14000处的数据;试问linux如何实现地址变换?【解答】(1)核心将14000换为逻辑块号13及块内偏移量688;(2)判断,因1013266,故为一次间址;(3)从i.add(10)中取得盘块号,设为x;(4)调用bread过程读x盘块;(5)在一次间址中的文件逻辑块号为3(从0编);(6)从中得实际块号,设为y;(7)则该块中的688即为所求。13多操作系统中提供了文件重命名功能,它能赋予文件一个新名字。若进行文件复制,并给复制文件起一个名字,然后删除旧

32、文件,也能达到给文件重命名的目的。试问这两种方法在实现上有何不同?【解答】使用文件重命名功能时,用户必须提供两个参数:旧文件名,新文件名。实现该功能时,系统使用旧文件名查找文件目录,若找到旧文件名所对应的目录表目,则 将目录表中文件名字段对应的值改为新文件名值。从实现过程看,文件重命名功能完成的工作是修改目录表中的文件名字段,除文件名外,文件的其它特性都未改变。在后一种实现方法中,先进行文件复制并给复制文件起一个新名,此时系统完成了一次物理文件的复制操作,然后删除旧文件。虽然这样也能实现给文件重命名的目的,但其实现过程比前一种方式复杂,并且新文件与旧文件的物理存放地址肯定不同。14在利用lin

33、k系统调用进行连接时,如果path1=/usr/zhang/ff.c,path2=/usr/li/message/ff.c,试画出此时的树型目录图。【解答】在树型文件系统中,每一个文件都有一路径名。例如,用户zhang的文件ff.c的路径名为/usr/zhang/ff.c。如果用户li要共享此文件,可利用系统调用link(path1,path2)与文件ff.c建立连接。其中参数path1=/usr/zhang/ff.cpath2=/usr/li/message/ff.c,即在li的message目录文件中创建一个新目录项。建立连接后的树型目录结构图如下:rootusrZhanglimessag

34、eff.c15在实现文件共享时,如果不先进行连接,会产生什么后果?【解答】建立连接的目的,一方面是为共享该文件的用户增加一新的文件路径名,另一方面是让系统知道有多少个用户需要使用该文件。在每次连接时,该文件的索引结点访问计数会增加1。共享该文件时,若无建立连接的操作,系统就无法知道是否还有用户需要该文件,其后果可能是:当用户要使用该文件时,发现该文件已被删除;或者在用户使用该文件期间,文件突然比删除。第3章 进程管理课后习题解答1操作系统为什么要引入进程的概念?【解答】程序在并发执行方式下,运行时具有异步性的特征。这样,就需要一个数据结构PCB来记录程序的状态,以及控制其状态转换所需的一些信息

35、。因此,将PCB、程序、数据三者组成一个完整的实体,就是进程实体。进程是程序的一次执行,引入进程的概念,便于操作系统对于程序的运行进行控制。2试比较进程和程序的区别。【解答】进程和程序之间存在着密切的联系,但它们是两个完全不同的概念。它们之间的主要区别是:(1)程序是静态的概念,本身可以作为一种软件资源长期保存着;而进程则是程序的一次执行过程。它是动态的概念。(2)进程是一个能独立运行的单位,能与其它进程并发执行。进程是作为资源申请和调度单位存在的;而通常的程序是不能作为一个独立运行的单位而并发执行的。(3)程序和进程无一一对应的关系。一个程序可由多个进程共用;另一方面,一个进程在其活动中又可

36、顺序地执行若干个程序。一个程序,运行一次,便创建了一个进程;同一个程序,若运行十次,就产生了十个进程。(4)各个进程在并发执行过程中会产生相互制约关系,造成各自前进速度的不可预测性。而程序本身是静态的,不存在这种异步特征。3程序并发执行,为什么会失去封闭性和可再现性?【解答】在程序并发执行的环境下,多个进程共享系统中的资源,这些资源是否被使用,及每一时刻由哪个进程使用,将由多个进程的相互作用而决定。这样,程序的执行就失去了封闭性。某个进程的执行必然受到其它进程的影响。由于进程在并发执行的过程中失去了封闭性,当下一次再运行该程序时,系统中存在的进程及各进程的状态都可能发生变化,导致进程的执行失去

37、可再现性。4什么叫进程的并发性?试举一个进程并发执行的例子。【解答】多个进程在同一时间间隔内同时发生,叫做进程的并发性。例如:我们在Linux系统下使用编辑器vi进行编辑,而此时系统正在后台运行一个编译程序,此时,两个进程并发执行。5举一个例子,说明一个程序可能同时属于多个进程。【解答】例如:超市的收银系统。在每个终端上,收银员在运行收款程序,因此每个收银员都在执行一个进程。超市里同时有很多收款终端,同一个程序被并发执行多次,造成了多个进程并发执行。6试说明PCB的作用,为什么说PCB是进程存在的惟一标志?【解答】PCB的作用是:在一个在多道程序环境下,集中反映了一个进程的动态特征。在进程并发

38、执行时,由于资源共享,带来各进程之间的相互制约。显然,为了反映这些制约关系和资源共享关系,必须使用PCB中的信息,才能对进程实施有效的管理和控制。PCB是进程实体的一部分,是操作系统中非常重要的数据结构,存放着进程所需的运行信息和控制信息,系统在创建进程时,首先创建PCB,然后通过PCB感知进程的存在,进程在被撤消时,PCB也随之被撤消。因此,PCB是进程存在的惟一标志。7说明进程由哪几部分构成?【解答】进程实体通常就是由程序、数据集合和PCB这三部分构成,也称为“进程映像”。8什么叫临界区?为什么进程在进入临界区之前,要先执行申请操作,离开临界区,要做释放操作?【解答】将每个进程中访问临界资

39、源的那段代码称为临界区,因此也可以说:不能被多个进程同时进入的程序或数据区域叫做临界区。因为临界区不能由多个进程同时进入,因此,在进入临界区之前,要先执行申请操作,确保在没有其它进程进入的情况下,该进程才能进入该临界区;在离开临界区之前,要做释放操作,以便其它进程可以进入该临界区。9试说明进程的基本状态及转换的原因。【解答】在操作系统中,进程通常至少有三种基本状态:就绪状态、执行状态、阻塞状态。进程状态转换的原因是:系统中的进程是并发执行的。在系统中,CPU在不同的时间,按一定的算法为不同的进程服务;系统中的资源是有限的;各进程之间存在相互作用。因此,进程并非固定处于某个状态,它将随着自身的推

40、进和外界条件的变化而发生变化。对于一个系统,处于就绪状态的进程,在调度程序为之分配了处理机之后,该进程便由就绪态转变为执行状态。当前进程,如果因分配给它的时间片已用完而被暂停执行时,该进程便由执行状态又回到就绪状态;一个处在执行状态的进程,因为等待某外部事件发生,而使该进程状态转变为阻塞状态。一个处于阻塞状态的进程,当它所需的外部事件满足,它应由阻塞状态变为就绪状态。10在创建一个进程时,所要做的工作有哪些?【解答】操作系统通过进程创建原语来创建一个进程。创建原语通过下述步骤创建一个进程:(1)申请空白PCB。(2)为新进程分配资源。(3)初始化进程控制块。(4)将新建进程插入就绪态队列。11

41、从概念上说明记录型信号量的构成,描述wait原语和 signal 原语所进行的操作。【解答】记录型信号量的数据结构由两部分构成,即:数值分量和指针分量。数值表示系统中可用的该类临界资源的数量,而指针分量为进程链表指针,指向等待该类资源的PCB队列。申请临界资源的原语wait操作可描述为:procedure wait(S) var S: semaphore; begin s: =s-1;if s0 then 本进程继续;else 将本进程放入阻塞态队列;转进程调度 end释放临界资源的原语signal操作可描述为: procedure signal(S) var S: semaphore; be

42、gin s: =s+1; if s0 then 唤醒指针L所指的阻塞态进程;; end12在生产者消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果将会有何影响?【解答】若缺少释放资源的原语操作,则会导致生产者或消费者进程不能再继续工作。如缺少了signal(full),则消费者进程可能得不到所需的临界资源如缓冲区,不能取一件产品;同样地,如果缺少signal(empty),则生产者进程又可能得不到所需的资源,不能存放一件产品。13在生产者消费者问题中,如果两个wait操作即wait(mutex)和wait(empty)位置互换,会产生什么后果?【解答】如

43、果两个wait操作即wait(mutex)和wait(empty)位置互换,则有可能产生死锁。14进程的高级通信方式有哪几种?【解答】高级通信方式可分为三大类:共享存储器系统、消息传递系统和管道通信系统。 在共享存储器系统中,相互通信的进程共享某些数据结构或共享存储区;消息传递系统中,进程间的数据交换以消息为单位,用户直接利用系统提供的一组通信原语来实现通信,消息传递系统可分为消息缓冲通信和信箱通信;管道通信通信的方法是,向管道提供输入的发送进程以字符流形式将大量的数据送入管道,而接受管道输出的接收进程可从管道中接收数据。15什么是线程?说明它与进程的主要区别。【解答】线程是进程中执行运算的最

44、小单位,亦即执行处理机调度的基本单位。线程与进程的的主要区别:(1)调度性方面:进程是资源分配的基本单位。而线程是分配处理机的基本单位,它与资源分配无关。即真正在处理机上运行的是线程。(2)拥有资源方面:进程是拥有资源的独立单位,而线程基本是不拥有资源的。同一进程的线程共用该进程的资源。(3)并发性方面:进程和线程都可以并发执行。但同一个进程的线程在并发执行时,状态转换速度较快。(4)系统开销方面:进程在创建、状态转换、撤消时开销较大,而对于同样的工作,线程的开销较小。16什么是多线程机制?引入它有什么好处?【解答】多线程机制是指操作系统支持在一个进程内执行多个线程的能力。引入线程的好处有以下

45、几点:(1)易于调度。由于线程只作为独立调度的基本单位,同一进程的多个线程共享进程的资源,所以线程易于切换。(2)提高了系统的效率。通过线程可方便有效地实现并发性。进程可创建多个线程来执行同一程序的不同部分。(3)创建一个线程比创建一个进程花费的开销少,创建速度快。(4)在多处理器的系统中,有利于发挥多处理器的功能,提高进程的并行性。17在读者写者问题中,如果修改问题中的同步算法,要求对写进程优先,即一旦写进程到达,后续的读者进程必须等待,而无论是否有读者进程在读文件。写出相应进程的程序段。【解答】增加一个信号量S,用于在写进程到达后封锁后续的读进程。 semaphore S=1;在读进程开头

46、,增加两句:P(S);V(S);即所有访问该文件的进程,在申请读以前,先申请信号量S。如果没有写进程,则可以直接通过;如果存在写进程,则该信号量S申请不到,该读者进程等待。对于写进程,首先该申请信号量S ,由于读者进程申请到以后接着释放该信号量,所以写者进程更容易申请到S。写者进程申请到S以后,直到写操作完成以后才释放该信号量。因此,读者进程和写进程改为:Var:rmutex, wmutex:semaphore:=1,1; Readcount:integer:=0; begin parbegin读者进程:Reader:begin repeatwait(s);signal (s);wait(rmutex); if readcount=0 then wait(wmutex); readcount:=Readcount+1; signal(rmutex); 进行读操作; wait(rmutex); readcount: =readcount-1; if readcount=0 then signal(wmutex); signal(rmutex); until false;end写者进程:writer:begin repeat wait(s);wait(wmutex);

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服