1.2 课后习题详解
1设计现代OS的主要目标是什么?
答:在计算机系统上配置操作系统的主要目标是方便性、有效性、可扩充性和开放性。
(1)方便性
配置操作系统后,系统可以使用编译命令将用户采用高级语言书写的程序翻译成机器代码,用户可以直接通过OS所提供的各种命令操纵计算机系统,使计算机变得易学易用。
(2)有效性
①提高系统资源利用率
能有效分配各种设备的工作状态,提高系统资源的利用率。
②提高系统的吞吐量
OS可以通过合理地组织计算机的工作流程,加速程序的运行,缩短程序的运行周期,从而提高系统的吞吐量。
(3)可扩充性
OS必须具有很好的可扩充性,才能适应计算机硬件、体系结构以及应用发展的要求。
(4)开放性
开放性是指系统能遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。开放性是衡量一个新推出系统或软件能否被广泛应用的至关重要的因素。
2OS的作用可表现在哪几个方面?
答:OS的作用可表现在以下3个方面:
(1)OS作为用户与计算机硬件系统之间的软件接口
OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。
(2)OS作为计算机系统资源的管理者
在计算机系统中,通常都包含硬件和软件资源,归纳起来可将资源分为4类:处理器、存储器、I/O设备以及信息(数据和程序)。相应地,OS的主要功能也正是针对这4类资源进行有效的管理。为了管理好这些共享资源(包括硬件和信息)的使用,操作系统必须记录下各种资源的使用情况,对使用资源的请求进行授权,协调诸用户对共享资源的使用,避免发生冲突,并计算使用资源的费用等。
(3)OS实现了对计算机资源的抽象
在裸机上覆盖上一层I/O设备管理软件得到扩充机器(虚拟机),它向用户(进程)提供了一个对硬件操作的抽象模型,用户可利用抽象模型提供的接口使用计算机,而无需了解物理接口实现的细节,从而使用户更容易地使用计算机硬件资源。
3为什么说OS实现了对计算机资源的抽象?
答:OS是铺设在计算机硬件上的多层系统软件,它不仅增强了系统的功能,而且还隐藏了对硬件操作的细节,实现了对计算机硬件操作的多个层次的抽象。
(1)在裸机上覆盖上一层I/O设备管理软件,由它来实现对I/O设备操作的细节,并向上提供一组I/O命令,用户可利用它来进行数据输入或输出,而无需关心I/O是如何实现的。该软件实现了对计算机硬件操作的第一层次的抽象。
(2)在第一层次的抽象上再覆盖上一层用于文件的管理软件,同样由它来实现文件操作的细节,并向上提供一组对文件进行存取操作的命令,用户可利用这组命令进行文件的存取。该层软件实现了对硬件资源操作的第二层次的抽象。
4试说明推动多道批处理系统形成和发展的主要动力是什么。
答:不断提高计算机资源的利用率和系统吞吐量是推动多道批处理系统形成和发展的主要动力。
5何谓脱机I/O和联机I/O?
答:(1)脱机I/O
为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,20世纪50年代末出现了脱机输入/输出(Off-Line I/O)技术。该技术是事先将装有用户程序和数据的纸带(或卡片)装入纸带输入机(或卡片机),在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从磁带上将其高速地调入内存。类似地,当CPU需要输出时,可由CPU直接高速地把数据从内存送到磁带上,然后再在另一台外围机的控制下,将磁带上的结果通过相应的输出设备输出。即脱机I/O方式指的是程序和数据的输入和输出都是在外围机的控制下完成的,或者说,它们是在脱离主机的情况下进行的。
(2)联机I/O
和脱机I/O方式相反,联机I/O方式指的是在主机的直接控制下进行输入/输出的方式。
6试说明推动分时系统形成和发展的主要动力是什么?
答:进一步提高计算机资源的利用率、更好的满足人机交互是推动分时系统形成和发展的主要动力。
7实现分时系统的关键问题是什么?应如何解决?
答:(1)实现分时系统的关键问题是如何使用户能与自己的作业进行交互,即当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,再将结果返回给用户。
(2)解决方案
①及时接收问题
针对及时接收问题,解决办法是在系统中配置一个多路卡,多路卡的作用是使主机能同时接收不同用户从终端上输入的数据。此外,还须为每个终端配置一个缓冲区,用来暂存用户键入的命令(或数据)。
②及时处理问题
针对及时处理问题,各个用户的作业应该直接进入内存,并且规定每个作业只运行一个很短的时间片,然后暂停该作业的运行,并立即调度下一个作业运行。
8为什么要引入实时OS?
答:引入实时OS是为了满足实时应用的需求,更好地满足实时控制领域和实时信息处理领域的需要。
9什么是硬实时任务和软实时任务?试举例说明。
答:在实时操作系统中,根据对截止时间的要求来分类,实时任务可分为硬实时任务和软实时任务两种。
(1)硬实时任务及其举例
硬实时任务是系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果,在一些高科技领域,如运载火箭的控制等。
(2)软实时任务及其举例
软实时任务是它也联系着一个截止时间,但并不严格,若偶尔错过了任务的截止时间,对系统产生的影响也不会太大,比如网页的更新等。
10试从交互性、及时性以及可靠性方面将分时系统与实时系统进行比较。
答:(1)交互性
实时信息处理系统虽然也具有交互性,但这里人与系统的交互仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理和资源共享等服务。
(2)及时性
实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微秒。
(3)可靠性
分时系统虽然也要求系统可靠,但相比之下,实时系统对可靠性的要求更高。因为任何差错都可能带来巨大的经济损失,甚至是无法预料的灾难性后果,所以在实时系统中,往往都采取了多级容错措施来保障系统的安全性及数据的安全性。
11OS有哪几大特征?其最基本的特征是什么?
答:(1)操作系统具备四种共同的基本特征,即并发、共享、虚拟和异步。
(2)并发和共享是OS两大最基本的特征。
12在多道程序技术的OS环境下的资源共享与一般情况下的资源共享有何不同?对独占资源应采取何种共享方式?
答:(1)OS环境下与一般情况下的资源共享间的不同点
①一般情况下的共享
一般情况下的共享只是说明某种资源能被大家使用,对于这样的资源共享方式,只要通过适当的安排,用户之间并不会产生对资源的竞争,因此资源管理是比较简单的。
②OS环境下的共享
OS环境下的资源共享或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。这里在宏观上既限定了时间(进程在内存期间),也限定了地点(内存)。对于这种资源共享方式,其管理就要复杂得多,因为系统中的资源少于多道程序需求的总和,会形成它们对共享资源的争夺。所以,系统必须对资源共享进行妥善管理。
(2)独占资源应采取的共享方式
对独占资源应采用互斥共享方式,该共享方式仅当占有该资源的进程访问并释放资源后,才允许另一进程对该资源进行访问。
13什么是时分复用技术?举例说明它能提高资源利用率的根本原因是什么。
答:(1)时分复用技术是将不同的信号相互交织在不同的时间段内,沿着同一个信道传输;在接收端再用某种方法,将各个时间段内的信号提取出来还原成原始信号的通信技术。这种技术可以在同一个信道上传输多路信号。
(2)时分复用技术能提高资源利用率的根本原因在于,它利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到最充分的利用。
14是什么原因使操作系统具有异步性特征?
答:由于各用户程序性能的不同,不同程序对内存的使用开始时间、结束时间、中断时间是不可预知的,或者说,进程是以人们不可预知的速度向前推进,导致了进程的异步性。
15处理机管理有哪些主要功能?其主要任务是什么?
答:处理机管理的主要功能是进程控制、进程同步、进程通信和调度。
(1)进程控制
为作业创建进程,并为之分配必要的资源;进程结束时撤销进程,及时回收该进程所占用的各类资源;以及控制进程在运行过程中的状态转换。
(2)进程同步
为多个进程(含线程)的运行进行协调,协调分为进程互斥方式和进程同步方式。
(3)进程通信
用来实现在相互合作的进程之间的信息交换。
(4)处理机调度
在后备队列上等待的每个作业都必须经过调度才能执行,在传统的操作系统中,包括作业调度和进程调度两步。
①作业调度
从后备队里按照一定的算法,选择出若干个作业,为它们分配运行所需的资源(首先是分配内存)。
②进程调度
从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并为它设置运行现场,使进程投入执行。
16内存管理有哪些主要功能?其主要任务是什么?
答:内存管理的主要功能有内存分配、内存保护、地址映射和内存扩充。
(1)内存分配
内存分配的主要任务是为每道程序分配内存空间,使它们“各得其所”;提高存储器的利用率,减少不可用的内存空间;允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。
(2)内存保护
内存保护的主要任务是确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰;绝不允许用户程序访问操作系统的程序和数据;也不允许用户程序转移到非共享的其他用户程序中去执行。
(3)地址映射
为使程序能正确运行,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址,该功能应在硬件的支持下完成。
(4)内存扩充
借助于虚拟存储技术,从逻辑上去扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多,以便让更多的用户程序并发运行。
17设备管理有哪些主要功能?其主要任务是什么?
答:设备管理的主要功能有缓冲管理、设备分配和设备处理。设备管理的主要任务是完成用户进程提出的I/O请求,为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O设备处理速度;方便用户使用I/O设备。
18文件管理有哪些主要功能?其主要任务是什么?
答:文件管理主要功能有文件存储空间的管理、目录管理、文件的读/写管理和保护。文件管理的主要任务是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。
19试说明推动传统OS演变为现代OS的主要因素是什么?
答:推动传统OS演变为现代OS的主要因素如下:
(1)不断提高计算机资源的利用率
在计算机发展初期,计算机系统特别昂贵,因此,必须千方百计地提高计算机各种资源的利用率,这是OS最初发展的推动力。
(2)方便用户
当资源利用率不高的问题得到基本解决后,用户在上机、调试程序时的不方便性又成为了继续推动OS发展的主要因素。
(3)器件的不断更新换代
随着微机芯片的不断更新换代,使得计算机的性能快速提高,从而推动了OS功能和性能的迅速增强和提高。
(4)计算机体系结构的不断发展
计算机体系结构的发展,不断推动着OS的发展,也促进了新的OS类型的产生。
(5)不断提出新的应用需求
不断提出的新的应用需求是推动OS迅速发展的另一个重要原因。
20什么是微内核OS?
答:微内核操作系统结构是20世纪80年代后期发展起来的。它能有效地支持多处理机运行,非常适用于分布式系统环境,微内核OS主要有以下四个方面的特征:
(1)足够小的内核
能实现现代OS最基本的核心功能的部分,微内核并非是一个完整的OS,而只是操作系统中最基本的部分。
(2)基于客户/服务器模式
将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现。
(3)应用“机制与策略分离”原理
在传统的OS中,将机制放在OS的内核的较低层,把策略放在内核的较高层次中。而在微内核操作系统中,通常将机制放在OS的微内核中。正因为如此,才有可能将内核做得很小。
(4)采用面向对象技术
确保操作系统的“正确性”“可靠性”“易修改性”“易扩展性”等,并提高操作系统的设计速度。
21微内核操作系统具有哪些优点?它为何能有这些优点?
答:(1)微内核操作系统的优点
①提高了系统的可扩展性。
②增强了系统的可靠性。
③可移植性强。
④提供了对分布式系统的支持。
⑤融入了面向对象技术。
(2)微内核操作系统具有上述优点的原因
微内核OS结构是建立在模块化、层次化结构的基础上的,并采用了客户/服务器模式和面向对象的程序设计技术。
22现代操作系统较之传统操作系统又增加了哪些功能和特征?
答:(1)现代操作系统增加的功能
传统的OS具有处理机管理、存储器管理、设备管理、文件管理和提供友好的用户接口这五大功能,现代OS中还增加了面向安全、面向网络和面向多媒体等功能。
(2)现代操作系统增加的特征
现代操作系统较传统的多道批处理系统、实时操作系统以及分时操作系统增加 并发性、资源共享性、虚拟性和异步性四大特征。
23在微内核OS中,为什么要采用客户/服务器模式?
答:由于客户/服务器模式具有数据的分布处理和存储;便于集中管理;灵活性和可扩充性;易于改编应用软件等优点。故在单机微内核操作系统中几乎无一例外地都采用客户/服务器模式,将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现。
24在基于微内核结构的OS中,应用了哪些新技术?
答:在设计微内核OS时,采用了面向对象的技术,其中的“封装”,“继承”,“对象类”和“多态性”,以及在对象之间采用消息传递机制等,都有利于提高系统的“正确性”“可靠性”“易修改性”“易扩展性”,而且还能显著地减少开发系统所付出的开销。
25何谓微内核技术?在微内核中通常提供了哪些功能?
答:(1)微内核技术的定义
把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,这种技术被称为微内核技术。
(2)微内核技术提供的功能
在微内核中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理功能。