操作系统原理与实践教程习题答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章操作系统概论
(1) 试说明什么是操作系统,它具有什么特征?其最基本特征是什么?
解:
操作系统就是一组管理与控制计算机软硬件资源并对各项任务进行合理化调度,且附加了各种便于用户操作的工具的软件层次。

现代操作系统都具有并发、共享、虚拟和异步特性,其中并发性是操作系统的最基本特征,也是最重要的特征,其它三个特性均基于并发性而存在。

(2) 设计现代操作系统的主要目标是什么?
解:
现代操作系统的设计目标是有效性、方便性、开放性、可扩展性等特性。

其中有效性指的是OS应能有效地提高系统资源利用率和系统吞吐量。

方便性指的是配置了OS后的计算机应该更容易使用。

这两个性质是操作系统最重要的设计目标。

开放性指的是OS应遵循世界标准规范,如开放系统互连OSI国际标准。

可扩展性指的是OS应提供良好的系统结构,使得新设备、新功能和新模块能方便地加载到当前系统中,同时也要提供修改老模块的可能,这种对系统软硬件组成以及功能的扩充保证称为可扩展性。

(3) 操作系统的作用体现在哪些方面?
解:
现代操作系统的主要任务就是维护一个优良的运行环境,以便多道程序能够有序地、高效地获得执行,而在运行的同时,还要尽可能地提高资源利用率和系统响应速度,并保证用户操作的方便性。

因此操作系统的基本功能应包括处理器管理、存储器管理、设备管理和文件管理。

此外,为了给用户提供一个统一、方便、有效的使用系统能力的手段,现代操作系统还需要提供一个友好的人机接口。

在互联网不断发展的今天,操作系统中通常还具备基本的网络服务功能和信息安全防护等方面的支持。

(4) 试说明实时操作系统和分时操作系统在交互性、及时性和可靠性方面的异同。

解:
交互性:分时系统能够使用户和系统进行人-机对话。

实时系统也具有交互性,
但人与系统的交互仅限于访问系统中某些特定的专用服务程序。

及时性:分时系统的响应时间是以人能够接受的等待时间为标准,而实时控制系
统对响应时间要求比较严格,它是以控制过程或信息处理中所能接受的延迟为标
准。

可靠性:实时系统要求系统可靠性要比分时系统高。

在实时系统中往往采用多级
容错措施来保证系统的安全及数据的安全。

(5) 试比较分布式操作系统和网络操作系统的异同。

解:
它们的区别在于:分布式操作系统的设计思想和网络操作系统是不同的,这决定了它们在结构、工作方式和功能上也不同。

网络操作系统要求网络用户在使用网络资源时首先必须了解网络资源,网络用户必须知道网络中各个计算机的功能与配置、软件资源、网络文件结构等情况,在网络中如果用户要读一个共享文件时,用户必须知道这个文件放在哪一台计算机的哪一个目录下;分布式操作系统是以全局方式管理系统资源的,它可以为用户任意调度网络资源,并且调度过程是“透明”的。

(6) 什么是操作系统虚拟机结构?它有什么好处?
解:
虚拟机结构OS最初是为了满足用户对分时系统的需求而出现的。

VM/370的核心程序为虚拟机监控器(virtual machine monitor),它运行于裸机之上并提供多道程序功能。

该系统向上层提供多个对裸机硬件精确复制的虚拟机,这些复制品均包含核心态、用户态、I/O 处理、中断以及其它真实机器所应该具有的全部功能。

这样做的好处是凡是能在一台物理裸机上运行的操作系统均可以出现在一个特定虚拟机上,分配给各用户的不同虚拟机上可以随用户的个人爱好和操作习惯不同而采用不同的操作系统。

在用户看来就是直接在自己独享的一台裸机上工作。

(7) 试说明客户机/服务器结构的操作系统为什么获得广泛应用。

解:
客户机/服务器结构的操作系统具有不同于传统集中式OS的一系列独特优点,使得其在网络时代大为流行。

主要原因有以下几点:
1.该系统的数据可以进行分布式处理和存储。

客户机本身均具有一定的处理能力,部
分数据处理和存储工作可由本地客户机完成,减少了服务器机的任务量。

2.对于重要数据,可以将其放在受到严密保护的服务器所在的局域网内集中管理,以
便保证数据安全。

3.C/S结构有较好的灵活性和可扩充性,客户机/服务器机类型可选范围很大。

4.易于修改用户程序。

对客户机的修改和增删很方便,甚至可以由用户自行进行。

(8) 处理机管理有哪些主要功能?请简要描述。

解:
处理机的管理功能主要体现在创建、撤销进程,并按照一定的算法为其分配所需资源,同时还要管理和控制各用户的多个进程协调运行,确保各个进程可以正确的通信。

在多道程序OS中,这些管理功能最终通过对进程的控制和管理来实现,而在具有线程机制的OS中,这些功能的实现还依赖于对线程的管理和控制。

(9) 存储器管理有哪些主要功能?请简要描述。

解:
操作系统所管理的存储器包括内存、外存等,因此存储器管理的主要任务就是将各种存储器件统一管理,保证多道程序的良好运行环境,同时还要兼顾内存利用率、逻辑上扩充内存的需求以及用户的感受,提供优良的控制、存取功能,为用户提供操控存储器的手段。

为实现上述要求,存储器管理应具有内存分配、内存回收、内存保护、地址映射和虚拟内存等功能。

(10) 文件管理有哪些主要功能?请简要描述。

解:
其主要功能就是管理外存上的静态文件,提供存取、共享和保护文件的手段,以方便用户使用,同时禁止无权限用户对他人资源的误访问或有权限用户对资源的误操作。

文件管理机制还要能有效管理外存空闲区域,根据文件的大小为其分配和回收空闲区。

为了满足用户对响应时间的要求,文件管理机制还应实现目录管理,以便快速地定位文件。

文件管理机制能有效保护文件安全,提高资源利用率,为用户提供快速检索和使用文件的手段,是OS不可或缺的组成部分。

(11) 设备管理有哪些主要功能?请简要描述。

解:
设备管理的主要作用是使用统一的方式控制、管理和访问种类繁多的外围设备。

设备管理功能主要体现在:接收、分析和处理用户提出的I/O请求,为用户分配所需I/O设备,同时还要做到尽量提高CPU和I/O设备利用率、I/O处理效率,为用户提供操控I/O设备的便
捷界面和手段。

根据设备管理模块的功能要求,可以将其功能分为设备分配、缓冲管理、设备处理、虚拟设备等。

第2章操作系统的界面
(1) 请说明系统生成和系统引导的过程。

解:
系统的生成过程:当裸机启动后,会运行一个特殊的程序来自动进行系统的生成(安装),生成系统之前需要先对硬件平台状况进行检查,或者从指定文件处读取硬件系统的配置信息,以便根据硬件选择合适的操作系统模块组,比较重要的信息通常有:CPU类型、内存大小、当前关联设备的类型和数量以及操作系统的重要功能选项和参数。

按照这些信息的指示,系统生成程序就可以正确地生成所需的操作系统。

系统引导的过程:系统引导指的是将操作系统内核装入内存并启动系统的过程。

主要包括初始引导、内核初始化、全系统初始化。

初始引导工作由BIOS完成,主要完成上电自检,初始化基本输入输出设备,载入操作系统内核代码等工作。

内核被载入内存后,引导程序将CPU控制权交给内核,内核将首先完成初始化功能,包括对硬件、电路逻辑等的初始化,以及对内核数据结构的初始化,如页表(段表)等。

全系统初始化阶段要做的就是启动用户接口程序,对系统进行必要的初始化,使系统处于等待命令输入状态。

(2) 操作系统具有哪些接口?这些接口的作用是什么?
解:
操作系统为用户提供的接口有图形接口、命令接口和程序接口几种形式。

操作系统包括三种类型的用户接口:命令接口(具体又可分为联机命令接口与脱机命令接口)、程序接口及图形化用户接口。

其中,命令接口和图形化用户接口支持用户直接通过终端来使用计算机系统,而程序接口则提供给用户在编制程序时使用。

(3) 请说明操作系统具有的共性服务有哪些不同类别,这些类别分别用于完成什么功能?
解:所有的操作系统都通过一些基本服务来帮助用户简单便捷地使用计算机各类资源,它们包括以下几个类别:
1.控制程序运行:系统通过服务将用户程序装入内存并运行该程序,并且要控制程序
在规定时间内结束。

2.进行I/O操作:用户是不能直接控制设备的,只能通过操作系统与外部设备进行交
互,由系统调用将结果显示在屏幕上或交给用户。

3.操作文件系统:为了保证实现“按名存取”,文件系统应该为用户提供根据文件名
来创建、访问、修改、删除文件的方法,以确保文件数据的安全可靠以及正确存取。

4.实现通信:操作系统需要提供多个程序之间进行通讯的机制,来控制程序的执行顺
序。

5.错误处理:操作系统通过错误处理机制,以便及时发现错误并采取正确的处理步骤,
避免损害系统的正确性和统一性。

(4) 系统调用的用途是什么?
解:
通常,在操作系统内核设置有一组用于实现各种系统功能的子程序(过程),并将它们提供给用户程序调用。

每当用户在程序中需要操作系统提供某种服务时,便可利用一条系统调用命令,去调用所需的系统过程。

这即所谓的系统调用。

系统调用的主要类型包括:
1.进程控制类,主要用于进程的创建和终止、对子进程结束的等待、进程映像的替换、
进程数据段大小的改变以及关于进程标识符或指定进程属性的获得等;
2.文件操纵类,主要用于文件的创建、打开、关闭、读/写及文件读写指针的移动和
文件属性的修改,目录的创建及关于目录、特别文件或普通文件的索引结点的建立
等;
3.进程通信类,用于实现各种类型的通信机制如消息传递、共享存储区及信息量集机
制等;
4.信息维护类,用于实现关于日期和时间及其它系统相关信息的设置和获得。

(5) 命令解释程序有什么作用?
解:
命令解释程序的主要作用是:在屏幕上产生提示符,请用户输入命令,然后读入命令、识别命令,并转至相应的命令处理程序入口地址,把控制权交给该处理程序去执行,最后将有关处理结果(包括出错信息)送屏幕显示。

第3章处理器管理
(1) 为什么程序并发执行会产生间断性特征,并失去封闭性和可再现性?
解:
之所以产生间断性特征是因为多个程序在并发执行时,需要为了完成同一项任务而相互合作,并发执行的程序间的这种相互制约导致了“暂停—执行—暂停”的间断性运行规律。

失去封闭性是因为程序在并发执行时,多个程序需要共享系统中的多种资源。

所以,这些资源的状态是由多个程序改变的,从而使程序的运行失去了封闭性。

失去可再现性是因为程序在并发执行时,由于失去了封闭性,从而导致其失去可再现性。

(2) 什么是进程?为什么要在操作系统中引入进程?
解:
进程是可并发执行且具有独立功能的程序在一个数据集合上的运行过程,它是操作系统进行资源分配和调度的基本单位。

“进程”概念是人们为了使程序能够并发执行,并且能对并发的程序加以描述和控制而引入的。

(3) 试从并发性、独立性、动态性上比较程序和进程的不同。

解:
并发性是进程的重要特征,同时也是OS 的重要特征。

引入进程的目的正是为了
使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。

独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资
源和独立调度的基本单位。

而对于未建立任何进程的程序,都不能作为一个独立
的单位参加运行。

动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到
资源而暂停执行,以及由撤销而消亡,因而进程有一定的生命期;而程序只是一
组有序指令的集合,是静态实体。

(4) 什么是PCB?它具有什么作用?为什么说PCB是进程存在的唯一标识?
解:
进程控制块(Process Control Block,PCB)是操作系统为了管理进程而设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程。

它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程.
因为系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。

进程与PCB是一一对应的。

(5) 进程有哪些基本状态?这些状态具有什么特征?
解:
进程的三种基本状态分别是:就绪状态、运行状态、阻塞状态。

就绪状态:进程已获取到除CPU之外的所有必要资源,只要再得到CPU,就可以
马上投入运行。

运行状态:处于就绪状态的进程被调度程序选中后将得到CPU控制权,此时该进
程就可以使用处理器进行数据运算和处理。

阻塞状态:当一个进程正在等待某个事件的发生(如等待I/O的完成)而暂停执
行,这时,即使分配有CPU时间,它也无法执行。

(6) 为什么要引入挂起状态?该状态有什么特性?
解:
引入挂起状态时为了满足四种需要:调节系统负荷的需要、用户的需要、父进程的需要、系统的需要。

挂起状态的特点:交换到磁盘上的进程,不让其参与进程调度,以达到平衡系统负荷的目的。

(7) 说明进程基本状态的转换关系及引起这些状态间转换的典型原因。

解:
处于就绪状态的进程,在调度程序为之分配了处理器之后,就可以投入运行。

同时,进程的状态也由就绪状态转变为运行状态;在采用时间片机制的操作系统中,分配给当前进程的时间片用完之后,它会暂停执行,其状态也由运行状态转换到就绪状态;如果由于某事件发生(比如进程需要访问某I/O设备,而该设备正在被别的进程访问)而使进程运行受阻,不能再继续向下执行时,它的状态会由运行状态转变为阻塞状态;当进程期望的某事件发生时(比如需要访问的I/O设备已可用),进程将从阻塞状态转变为就绪状态
(8) 说明在加入了挂起状态的操作系统中,进程状态间的转换关系及引发转换的典型原因。

解:
在引入挂起状态的操作系统中,又增加了静止就绪和静止阻塞两个新的进程状态。

调用挂起原语把处于活动就绪状态的进程挂起后,该进程就会由活动就绪状态转变为静止就绪状态。

调用挂起原语把处于活动阻塞的进程挂起后,它的状态就转换为静止阻塞。

调用激活原语激活后又可以转换到活动阻塞状态。

(9) 试说明引起进程创建的典型事件。

解:
引起进程创建的典型事件有:用户登录、作业调度、提供服务、应用请求。

(10) 试说明引起进程撤销的典型事件。

解:
引起进程撤销的典型事件有:正常结束、异常结束、外界干预。

(11) 试说明引起进程阻塞和唤醒的典型事件。

解:
引起进程阻塞和唤醒的典型事件有:请求系统服务、启动某种操作、新数据尚未到达、无新工作可做。

.
(12) 试说明进程创建的过程。

解:
创建进程的操作必须调用创建原语来实现。

创建原语首先为新进程申请获得惟一的数字标示符,并从PCB集合中获取一个空白PCB;为新进程的程序和数据以及用户栈分配必要的内存空间;然后对PCB进程初始化;最后将新进程插入就绪队列中,等待被调度执行。

(13) 试说明进程撤销的过程。

解:
系统调用进程终止原语来终止进程。

首先根据被终止进程的标示符,从PCB集合中查找到该进程的PCB,从中读出该进程的状态,终止该进程的执行,如果该进程还有子孙进程,应该将它的所有子孙进程终止,防止它们成为不可控进程;然后回收进程所拥有的资源;最后将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息。

(14) 什么是线程?请比较它与进程的异同。

解:
线程是进程中的一个实体,是被系统独立分配和调度的基本单位。

线程基本上不拥有资源,只需要一些必不可少的资源(如程序计数器、一组寄存器和栈)。

进程和线程的差异:
1.在传统的OS中,进程是拥有资源和独立调度分派的基本单位,在加入线程的OS
中,线程是代替进程成为独立调度和分派的基本单位,进程则仍是拥有资源的基本
单位。

2.并发粒度不同。

除了不同进程的线程之外,同一个进程里的不同线程之间也可以并
发执行,所以线程拥有更好的并发性。

3.拥有资源数量不同。

进程是拥有资源的基本单位,线程除了一些在运行过程中必不
可少的资源外,基本上不拥有系统资源,它可以访问自己所在的进程的资源。

4.管理开销不同。

创建、撤销进程时系统都要为之分配和回收资源,所以进程切换用
的时间开销相对要多于线程。

进程间通信很麻烦,而同一进程的线程则通过共享进
程的资源很方便地通信和同步,同步开销小得多。

进程和线程有着很多相似的地方:都可以并发执行;都有就绪、执行、阻塞这些基本状态,也都可以在这些基本状态之间转换状态;从创建到撤销都有一定的生命周期;都需要同步工具。

(15) 处理器调度的层次有哪些?各层次的主要工作是什么?
解:
处理器调度的层次分为三级调度:高级调度、中级调度和低级调度。

高级调度:它需要做出两个决定,一个是要从驻留在外存后备队列中调入多少个
作业,二是要调入哪几个作业;然后为被选中的作业创建进程,并分配必要的系
统资源,如内存、外设等,然后把新创建的进程放入就绪队列中,等待被调度执
行。

中级调度:中级调度主要涉及进程在内存和外存之间的交换。

当系统中的内存使
用情况紧张时,中级调度把内存中暂时不能运行的进程调到外存中等待,等内存
有足够的空闲空间时,再由中级调度决定将外存上的某些具备了运行条件的就绪
进程调入内存,把其状态修改为就绪状态并挂在就绪队列中,等待进程调度。

低级调度:按照一定的算法从就绪队列中选择一个进程,然后将处理器分配给它。

执行低级调度功能的程序称作进程调度程序,由它实现处理器在进程间的切换。

(16) 抢占式调度的原则是什么?请简要说明。

解:系统使用抢占方式进行进程调度时需要遵循一定的原则,主要有以下几个方面:
1.时间片原则。

各进程按系统分配给的一个时间片运行,当该时间片用完或由于该进
程等待某事件发生而被阻塞时,系统就停止该进程的执行而重新进行调度。

2.优先级原则。

每个进程均被赋于一个调度优先级,通常一些重要和紧急的进程被赋
于较高的优先级。

当一个新的紧迫进程到达时,或者一个优先级高的进程从阻塞状
态变成就绪状态时,如果该进程的优先级比当前进程的优先级高,OS就停止当前
进程的执行,将处理器分配给该优先级高的进程,使之执行。

3.短进程优先原则。

当新到达的作业对应的进程比正在执行的作业对应进程的运行时
间明显短时,系统剥夺当前进程的执行,而将处理器分配给新的短进程,使之优先
执行。

(17) 在批处理系统、分时系统、实时系统中,应分别采用哪种作业(进程)调度算法?
解:
批处理系统采用先来先服务调度算法;分时系统采用时间片轮转法;实时系统采用高响应比优先调度算法。

(18) 说明时间片轮转调度算法的基本思路。

解:
在采用时间片轮转调度算法的系统中,将系统中所有的就绪进程按照FCFS原则,排成一个队列。

每次调度时将CPU分派给队首进程,让其执行一个时间片。

时间片的长度从几个ms到几百ms。

在一个时间片结束时,发生时钟中断。

调度程序暂停当前进程的执行,将其送到就绪队列的末尾,并通过CPU现场切换执行当前的队首进程,当然,进程可以未使用完一个时间片,就让出CPU(如阻塞)。

这样可以保证就绪队列中的所有进程都有机会获得处理器而运行的机会,可以提高进程并发性和响应时间特性,从而提高资源利用率。

(19) 试说明多级反馈队列调度算法思想。

解:多级反馈队列调度算法则不必事先知道各进程的执行时间,又可以满足各种类型进程的调度需要,它是一种目前公认较好的进程调度算法。

它的算法思想如下(设采用抢占式调度):
1.需要设置多个就绪队列,并且为它们分别赋予不同的优先级。

每队列分配不同的时
间片,规定优先级越低则时间片越长。

2.新进程就绪后,先插入队列1的末尾,按FCFS算法调度。

若一个时间片未能执行
完,则降低插入到队列2的末尾;依此类推,降低到最后的队列,则按“时间片轮
转”算法调度直到完成。

3.进程由于等待事件而放弃CPU后, 进入等待队列, 一旦等待的事件发生, 则回到
原来的就绪队列。

4.只有当较高优先级的队列为空时,才调度较低优先级队列中的进程执行。

如果进程
执行时有新进程进入较高优先级的队列,则需要重新调度,抢先执行新进程,并把
被抢先的进程插入原队列的末尾。

(20) 什么是静态和动态优先级?如何确定静态优先级?
解:
静态优先级是在系统创建时确定的,一经确定之后在整个进程运行期间不再改变。

动态优先级是在进程运行前先确定一个优先级,进程运行过程中根据进程等待时间的长短、执行时间的多少、输入输出信息量的大小等,通过计算得到新的优先级。

(21) 在一个单道批处理系统中,一组作业的到达时间和运行时间如下表所示。

试计算使用先来先服务、短作业优先、高响应比优先算法时的平均周转时间和平均带权周转时间。

相关文档
最新文档