第1章 操作系统概述计算机系统由硬件和软件两部分组成。没有配置软件的计算机称为裸机。直接使用裸机不仅不方便而且工作效率和机器利用率低下。操作系统就是为了建立用户与计算机之间的接口而为裸机配置的一种系统软件。
1.1 内容辅导
1.1.1什么是操作系统
1.操作系统的定义关于操作系统,至今尚无严格统一的定义。对操作系统的定义有各种说法,不同说法反映了人们以不同角度所揭示的操作系统的本质特征。综合操作系统的功能及特点,给操作系统下一个较为全面的定义:操作系统是计算机系统中的最重要、最基本的系统软件。从资源管理的观点来看,它是计算机系统中的资源管理器(程序);它负责对系统的硬、软件资源实施有效的控制和管理,提高系统资源的利用率。从方便用户使用的观点看,操作系统是一台虚拟机;它是计算机硬件的首次扩充,掩盖了硬件操作的细节,使用户或程序员与硬件细节隔离,从而方便了用户的使用。
2.操作系统在计算机系统中的地位一个计算机系统可以看成是由硬件和软件按层次结构组成的系统,自底向上各层是:
硬件层、操作系统层、语言处理程序层、应用程序层。
3.操作系统的目标
(1)方便性:操作系统使计算机系统更易于使用。
(2)有效性:操作系统使计算机资源的使用更有效,即使资源的利用率更高。
(3)可扩充性:操作系统必须能方便地开发、测试和引进新的系统功能,以适应计算机硬件和体系结构的迅速发展以及应用不断扩大的要求。
(4)开放性:操作系统必须能提供统一开放的环境,以使其应用在不同的系统中具有可移植性,并使不同的系统能够通过网络进行集成,从而能正确、有效地协同工作。
4.操作系统的作用
(1)从一般用户的观点来看,操作系统是用户与计算机硬件系统之间的接口。用户并不直接与计算机硬件打交道,而是通过操作系统提供的命令、系统功能调用以及图形化接口来使用计算机。
(2)从资源管理的观点来看,操作系统是计算机资源的管理者。处理机的分配和控制,内存的分配和回收,I/0设备的分配和处理,文件的存取、共享和保护工作都是由操作系统完成的。
(3)从虚拟机的观点来看,操作系统是扩充裸机功能的软件。在裸机(即没配置任何软件的计算机系统)上覆盖了操作系统后,裸机将变成一台功能更强大、使用更方便的虚拟机。
(4)从任务组织的观点来看,操作系统是计算机工作流程的组织者。它负责在众多作业间切换处理机,并协调它们的推进速度,从而进一步提高系统的性能。
1.1.2 多道程序设计技术的概念
1.多道程序设计在单道程序处理系统时,内存中仅存放了一道程序,每当程序发出I/O请求时,CPU便处于等待I/O完成状态,致使CPU空闲。为了进一步改善CPU的利用率,引入了多道程序设计技术。
多道程序设计技术是指同时把多个作业放入内存并允许它们交替执行,共享系统中的各类资源,当一道程序因某种原因(如I/O请求)而暂停执行时,CPU立即转去执行另一道程序。
2.多道程序设计的特点
(1)多道:是指主存中有两道或两道以上的作业,这些作业都处于它们的开始点和结束点之间。
(2)宏观上并行:从宏观上看,进入系统的多道程序都处于执行过程中,即它们先后开始了各自的运行,但都未运行结束。
(3)微观上串行:从微观上看,多道程序在轮流使用CPU交替执行;在单处理机系统中任一时刻只能执行一道程序的一条指令。
3.采用多道程序设计优点在操作系统中引入多道程序设计技术后减少了CPU时间的浪费,增加了系统的吞吐量,提高了系统效率。
4.多道程序设计的硬件支持多道程序设计的硬件支持是,中断系统和通道技术。
(1)中断:中断指的是指对异步或例外事件的响应;这一响应自动地保存CPU状态以便将来重新启动;自动转入规定的中断处理程序。
(2)通道:通道又称I/O处理机,它能完成主存和外设之间的信息传输,并与中央处理机并行操作。在具有通道结构的计算机系统中,主存、通道、控制器和设备之间采用四级连接,实施三级控制。
5.实现多道程序系统需要解决的问题虽然多道程序设计技术能提高系统的吞吐量和有效地改善资源利用率,但实现多道程序系统还需要妥善解决下述一系列问题:
(1)在多道程序之间应如何分配被它们共享的处理机,使CPU既能满足各程序运行的需要,又能提高处理机的利用率,一旦将处理机分配给某程序后,应何时收回等问题。
(2)如何为每道程序分配必要的内存空间,使它们各得其所又不会因相互重叠而丢失信息,应如何防止因某道程序出现异常情况而破坏其他程序等问题。
(3)系统中可能有多种类型的I/O设备供多道程序共享,应如何分配这些I/O设备,如何做到既方便用户对设备的使用,又能提高设备的利用率。
(4)在现代计算机系统中,通常都存放着大量的程序和数据。应如何组织它们才能便于用户使用并能保证数据的安全性和一致性。
(5)对于系统中的各种应用程序,它们有的属于计算型,有的属于I/0型,有些作业既重要又紧迫,有的作业又要求系统能及时响应,这时应如何组织。
为妥善解决上述问题,在多道程序系统中必须设置一组软件,此外,还应提供方便用户使用计算机的软件,这样便形成了操作系统。
1.1.3操作系统的特征和功能
1.操作系统的特征虽然不同操作系统具有各自的特点,但它们都具有以下4个基本特征:
(1)并发:并发性和并行性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生:而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指宏观上在一段时间内有多道程序在同时运行。但在单处理机系统中,每一时刻仅能执行一道程序,故微观上这些程序是在交替执行。程序的并发执行能有效改善系统资源的利用率,但会使系统复杂化,因此,操作系统必须具有控制和管理各种并发事件的能力。
(2)共享:资源共享是指系统中的硬件和软件资源不再为某个程序所独占,而是供多个用户共同使用。
并发和共享是操作系统的两个最基本的特征,二者之间互为存在条件。一方面,资源的共享是以程序的并发执行为条件的,若系统不允许程序的并发执行,自然不存在资源共享问题:另一方面,若系统不能对资源共事实施有效的管理,也必将影响到程序的并发执行,甚至根本无法并发执行。
(3)虚拟:在操作系统中,虚拟是指把一个物理上的实体变为若干个逻辑上的对应物,前者是实际存在的,后者是虚的,只是用户的一种感觉。例如,在操作系统中引入多道程序设计技术后,虽然只有一个CPU,每次只能执行一道程序,但通过分时使用,在一段时间间隔内,宏观上这台处理机能同时运行多道程序。它给用户的感觉是每道程序都有一个CPU在为它服务。亦即,多道程序设计技术可以把一个物理上的CPU虚拟为多个逻辑上的CPU。
(4)不确定性:在操作系统中,不确定性有两种含义。
① 程序执行结果是不确定的,即对同一程序,使用相同的输入、在相同的环境下运行却可能获得完全不同的结果。亦即程序是不可再现的;
② 多道程序环境下程序的执行是以异步方式进行的,换言之,每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,因而也是不可预知的。
2.操作系统的功能操作系统的功能概括地讲,主要是负责系统中软硬件资源的管理,调度对系统中各种资源的使用。具体地讲,其主要功能包括:
(10)处理机管理处理机管理的主要任务是对处理机的分配和运行实施有效的管理。在多道程序环境下,处理机的分配和运行又都是以进程为基本单位的,因此,对处理机的管理可归结为对进程的管理。进程管理应实现下述主要功能:
① 进程控制:负责进程的创建、撤消及状态转换。
② 进程同步:对并发执行的进程进行协调。
③ 进程通信:负责完成进程间的信息交换。
④ 进程调度:按一定算法进行处理机分配。
(2)存储器管理存储器管理的主要任务是对内存进行分配、保护和扩充。
① 内存分配:按一定的策略为每道程序分配内存。
② 内存保护:保证各程序在自己的内存区域内运行而不相互干扰。
③ 内存扩充:为允许大型作业或多作业的运行,必须借助虚拟存储技术来获得增加内存的效果。
(3)设备管理计算机外设的管理是操作系统中最庞杂、琐碎的部分。设备管理应具有下述功能:
① 设备分配:根据一定的设备分配原则对设备进行分配。为了使设备与主机并行工作,常需采用缓冲技术和虚拟技术。
② 设备传输控制:实现物理的输入/输出操作,即启动设备、中断处理、结束处理等。
③ 设备独立性:即用户向系统申请的设备与实际操作的设备无关。
(4)信息管理操作系统中负责信息管理的部分称为文件系统,其主要功能如下:
① 文件存储空间的管理:负责对文件存储空间进行管理,包括存储空间的分配与回收等功能。
② 目录管理:目录是为方便文件管理而设置的数据结构,它能提供按文件名存取的功能。
③ 文件操作管理:实现文件的操作,负责完成数据的读写。
④文件保护:提供文件保护功能,防止文件遭到破坏。
(5)用户接口为方便用户使用操作系统,操作系统还提供了用户接口。通常,操作系统以两种方式提供给用户使用。
① 命令接口:提供一组命令供用户直接或间接控制自己的作业,近年来出现的图形接口是命令接口的图形化。
② 程序接口:提供一组系统调用供用户程序和其他系统程序调用。
1.1.4操作系统的基本类型
1.操作系统有多种不同的分类方法通常可按计算机的体系结构、运行环境、功能以及服务对象等对操作系统来分类。尽管分类方法多样,但操作系统均属于下列操作系统之一或它们的组合。
(1)单用户操作系统。
(2)批处理系统。
(3)分时系统。
(4)实时系统。
(5)网络操作系统。
(6)分布式操作系统。
(7)并行操作系统。
2.各类操作系统的主要特征
(1)单用户操作系统其基本特征是在一台处理机上只能支持一个用户程序的运行,系统的全部资源都提供给该用户使用。目前多数微机上运行的操作系统都属于单用户操作系统。例如MS –DOS就是一个典型的单用户微机操作系统,它由三个模块和一个引导程序组成。
(2)批处理系统批处理技术是指在系统中配置一个监督程序,并在该监督程序的控制下,能够对一批作业自动进行处理的一种技术。其基本特征是"批量",它把系统的处理能力,即作业的吞吐量作为主要目标,同时也兼顾作业的周转时间。在批处理系统中,从作业的提交到作业完成大体上分为提交、后备、执行和完成四个阶段。
①单道批处理系统:早期采用批处理技术的系统,由于在内存中只能存放一道作业,因而称为单道批处理系统。而其中的监督程序就是操作系统的雏形。
单道批处理系统的处理过程如下,首先,操作员将若干个待处理的作业合成一批输入并传送到外存,然后将它们逐个送入内存并投入运行。具体处理是由批处理系统将其中的一个作业调入内存并使之运行,只有一道作业处于运行状态。运行完成或出现错误而无法再进行下去时,输出有关信息并调入下一个作业运行。如此反复处理,直至这一批作业全部处理完毕为止。通过脱机输入和作业的自动过渡,单道批处理系统提高了机器资源的利用率。
单道批处理系统具有以下的特征:
自动性:磁带上的一批作业能自动地、逐个地依次运行,无须人工干预。
顺序性:作业完成的顺序与它们进入内存的顺序以及作业在磁带上的顺序一致。
单道性:内存中仅能存放→道作业。
②多道批处理系统单道批处理操作系统大大减少了人工操作的时间,提高了机器的利用率。但是对于某些作业来说,当它发出输入/输出请求后,CPU必须等待I/O的完成。这就意味着机器空闲,特别是因为I/0设备的低速性,从而使机器的利用率很低。为了改善CPU的利用率,引入了多道程序设计技术。
在单道批处理操作系统中引入多道程序设计技术就形成了多道批处理操作系统。在多道批处理操作系统中,不仅仅在主存中可同时有多道作业在运行,而且作业可随时(不一定集中成批〉被调入系统,并存放在外存中形成作业队列。然后由操作系统按一定的原则从作业队列中调入一个或多个作业进入主存运行。多道批处理操作系统一般用于计算中心的较大计算机系统中。
多道批处理系统具有以下特征:
多道性:内存中可同时存放多个作业。
调度性:需通过作业调度从外存中选取若干个作业装入内存,还需通过进程调度在内存的多个作业中分配CPU。
无序性。通常,作业调度的次序与作业在外存中的次序无关,作业完成的次序与作业进入内存的次序也无关。
多道程序设计技术和批处理技术的采用,使多道批处理系统具有资源利用率高和系统吞吐量大的优点。但是,多道批处理系统将用户和计算机操作员分开,而且用户作业要排队,依次进行处理,故又具有用户无法直接与自己的作业进行交互和作业的平均周转时间(指作业从进入系统开始,直至作业完成并退出系统为止所经历的平均时间)较长的缺点。
(3)分时系统为了解决批处理系统无法进行人机交互的问题,并使多个用户(包括远程用户)能同时使用昂贵的主机资源,又引入了分时系统。
分时系统是指在一台主机上连接有多个带显示器和键盘的终端,同时允许多个用户通过自己的终端以交互方式使用计算机,共享主机中的资源。
分时系统的关键问题是使用户能与自己的作业进行交互,或者说,它追求的主要目标是系统能及时响应用户的终端命令。为此,系统中采用了分时技术,即把处理机的时间划分成很短的时间片(如几百毫秒),轮流地分配给各个终端作业使用。若在分配给它的时间片内,作业仍没执行完,它也必须将CPU交给下一个作业使用,并等下一轮得到CPU时再继续执行。这样,系统便能及时地响应每个用户的请求,从而使每个用户都能及时地与自己的作业交互。
实现分时操作系统有下述几种方法:
①简单分时操作系统在简单分时操作系统中,内存中只有一道程序作为现行作业,其他作业仍在外存上。为使系统能及时响应用户请求,规定每个作业在运行一个时间片的时间后便暂停运行,由系统将它调至外存(调出),再从外存上选一个作业装入内存(调进〉,作为下一个时间片的现行作业投入运行。若在不太长的时间内能使所有的作业都运行一个时间片,即在指定时间内每个用户作业都一定能运行,这就能使终端用户与自己的作业交互作用,从而保证每个用户请求都能获得及时响应。
②具有"前台"和"后台"的分时操作系统为了改善系统性能,引入了所谓"前台"和"后台"的概念。这里,把内存划分为"前台"和"后台"两部分。"前台"存放按时间片调出/调进的作业流,其工作方式同前:"后台"部分存放批处理作业。仅当"前台"正在调进/调出或无调进/调出作业流时,才运行"后台"的批处理作业,并给它分配更长的时间片。
③基于多道程序设计的分时操作系统为进一步改善系统性能,在分时操作系统中引入多道程序设计技术。在内存中可同时装入多道程序,每道程序无固定位置,对小作业可多装入几道程序,对一些较大作业则少装入几道程序。系统把所有具备运行条件的作业排成一个队列,使它们依次地获得一个时间片来运行。当系统中除了有终端型用户作业外,还有批处理作业时,应赋予终端型作业较高的优先权,并将它们排成一个高优先权队列:而将批处理作业另外排成一个队列。平时轮转运行高优先权队列的作业,以保证终端用户的请求能获得及时响应,仅当该队列为空时,才运行批处理队列中的作业。
分时系统具有以下特征:
多路性:一台主机上连有多个终端,能同时为多个用户服务。
独立性:各个用户像独占主机一般,独立工作,互不干扰。
及时性:系统按人们所能接受的等待时间及时响应用户的请求。
交互性:能进行广泛的人机交互。
(4)实时系统实时系统是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行,实时的含义是指计算机对于外来信息能够以足够快的速度进行处理,并在被控制对象允许的时间范围内作出快速响应。。实时操作系统可以分成如下两类:
①实时控制系统通常是指以计算机为中心的生产过程控制系统,又称为计算机控制系统。在这类系统中,要求实时采集现场数据,并对它们进行及时处理,进而自动地控制相应的执行机构,使某参数(如温度、压力、流量等)能按预定规律变化或保持不变,以达到保证产品质量、提高产量的目的。
②实时信息处理系统通常是指对信息进行实时处理的系统。这类系统要求及时接收从终端(包括远程终端)发来的服务请求,按请求的内容对信息进行检索和处理,并在很短的时间内为用户做出正确的回答。典型的实时信息处理系统有证券交易系统、飞机订票系统国情报检索系统等。
实时系统与分时系统特征的比较:
多路性:实时信息处理系统与分时系统一样具有多路性,即系统能同时为多个终端用户服务:而实时控制系统也具有多路性,它主要表现在:系统经常对多路的现场信息进行采集,以及对多个对象或多个执行机构进行控制。
独立性:实时信息处理系统与分时系统一样具有独立性,每个终端用户可独立地向实时系统提出服务请求,彼此互不干扰;而实时控制系统对信息的采集和对象的控制也能独立进行、彼此互不干扰,因此也具有独立性。
及时性:实时信息系统对及时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的;而实时控制系统的及时性通常高于分时系统,它是以控制对象所能接受的等待时间来确定的,一般要求秒级、毫秒级甚至微秒级的响应时间。
交互性:实时信息处理系统虽然也具有交互性,但其交互性通常不及分时系统,这里人与系统的交互,仅限于访问系统中某些特定的专用服务程序。它不像分时系统那样能向终端用户提供数据处理、资源共享等多方面的服务。
可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失,甚至无法预料的灾难性后果。因此,在实时系统中,常采用多级容错措施来保障系统和数据的安全性。
实时系统的主要特点是专用性强、种类多,而且用途各异。应用实时系统通常应考虑实时时钟管理、连续人机对话、过载防护、高可靠性四个方面的问题。
批处理操作系统、分时操作系统和实时操作系统是三种基本的操作系统类型。如果一个操作系统兼有批处理、分时处理和实时处理系统三者或其中两者的功能,那就形成了通用操作系统。
(5)网络操作系统网络操作系统就是计算机网络环境下具有网络功能的操作系统。
①计算机网络就是一个数据通信系统,它把地理上分散的计算机和终端设备连接起来,达到数据通信和资源共享的目的。
②网络操作系统应具有通常操作系统具有的处理机管理、存储管理、设备管理和文件管理的功能,还应具有实现网络中各节点机之间的通信,实现网络中硬、软件资源共享,提供多种网络服务软件,提供网络用户的应用程序接口等功能。
(6)分布式操作系统
①分布式计算机系统是由多台计算机组成的系统。在系统中,任意两台计算机之间可以利用通信来交换信息,各台计算机之间无主次之分;系统中的资源为系统中的所有用户共享干台计算机可以相互合作共同完成同一个任务。
②分布式系统的主要特点是各节点的自治性、资源共享的透明性、各节点的协同性、系统的坚定性。
③分布式操作系统的主要缺点是系统状态的不精确性、控制机构的复杂性以及通信开销会引起性能的下降。
(7)并行操作系统多处理机系统是由多台处理器组成的计算机系统。多处理机系统可分成两大类:基于共享存储的多处理机系统(也称为紧祸合多处理机系统)和基于分布存储的多处理机系统(也称为松藕合多处理机系统〉。多处理机系统也称为并行计算机系统,所使用的操作系统称为并行操作系统。
1.1.5操作系统的结构设计
1.操作系统的内部结构现代操作系统从内部结构来分析,通常包括内核和核外两部分。
(1)操作系统的内核操作系统在整体上处于硬件与应用程序之间,其顶层是应用程序。操作系统的内核是对硬件的首次扩充,是实现操作系统各项功能的基础。操作系统内核部分是指在系统保护好的运行环境,所以它将一些与硬件密切相关的模块、运行频率较高的模块、关键性的数据结构以及公共的基本操作模块等纳入内核,并使之常驻内存,以提高操作系统的效率。传统操作系统的内核通常的功能模块有:进程、线程及其管理,存储管理,设备管理和文件系统。
操作系统的内核有两种组织形式:
①强内核:是基于传统的集中式操作系统的内核结构。其系统调用是通过陷入内核实现的,在内核完成所需要的服务,最后返回结果给用户程序。
②微内核:是一种新的结构组织形式。它体现了操作系统结构设计的新思想。微内核的设计目标是使操作系统的内核尽可能小,使其它所有操作系统服务都放在核外用户级完成。微内核几乎不做工作,仅仅提供四种服务:进程间通信机制、某些存储管理、有限的低级进程管理和调度、低级I/0。微内核的优点是z灵活性好、开放性好和扩充性好。未来的发展趋势很可能是微内核逐步占据统治地位,而强内核最终会消失或者演变成微内核系统。微内核技术与客户服务器模式的结合是网络操作系统、分布式操作系统的新形式,Windows NT就是这种结合的一个良好范例。
(2)操作系统的核外操作系统的核外(或外壳)为用户提供各种操作命令(UNIX把它们称为Shell命令)和程序设计环境。核外由Shell解释程序、支持程序设计的各种语言(如C、PAseAL和BASIC等)、编译程序和解释程序、实用程序和系统库等组成。
2.操作系统结构的设计模式操作系统是一个大型的系统软件,其内部的组织结构已经历了四代的变革。
(1)整体式系统该设计模式是把操作系统组织成一个过程(模块〉集合,任一个过程可以调用其它过程。其优点是不强调信息的隐蔽,而且过程之间的调用不受任何约束。操作系统内部不存在任何结构,因此也叫无结构操作系统。采用这种结构的操作系统不仅调试和维护不方便,而且其可读性和可扩充性都较差。
(2)模块化结构模块化结构中采用了模块化程序设计技术,将操作系统按其功能划分成若干个具有一定独立性和大小的模块,并规定好各模块间的接口,使得它们之间能够交互。对较大的模块还可进一步细化为若干个子模块;采用这种结构可加速操作系统的研制过程。操作系统设计的正确性高、可适应性好,但模块的划分和接口的规定较困难,而且模块间还存在着复杂的依赖关系,使操作系统结构变得不够清晰。
(3)分层式结构分层式结构是对模块化结构的一种改进,它将操作系统按其功能流图的调用次序以及其他一些原则划分为若干个层次,每一层代码只能使用较低层代码提供的功能和服务,并采用自底向上或自顶向下增添软件的方法来研制操作系统。由王它将模块之间的复杂依赖关系改为单向依赖关系,并消除了某些循环依赖关系,因此能使操作系统结构变得非常清晰,从而使系统的调试和验证更方便,正确性更高。
(4)微内核结构微内核的主要思想是,在操作系统内核中只留下一些最基本的功能,而将其他服务尽可能地从内核中分离出去,用若干个运行在用户态下的进程(即服务器进程)来实现,形成所谓的"客户/服务器"模式。普通用户进程(即客户进程)可通过内核向服务器进程发送请求,以取得操作系统的服务。采用微内核结构,不仅提高了系统的灵活性和可扩充性,还增加了系统的可靠性。微内核结构的另一个优点是它比较适用于分布式系统。
在现代OS的设计中,常常还融入面向对象的程序设计技术。它利用被封装的数据结构和一组对数据结构进行操作的过程来表示系统中的某个资源,这样,可使资源的管理因一致而简化。当前广泛使用的Windows 2000操作系统,就采用了微内核的结构,同时融入了面向对象的程序设计技术。
1.2重点与难点学习提示本章的目的是建立起操作系统的基本概念。为此应对以下儿个重点、难点问题切实掌握。
1.2.1操作系统的引入和发展由于操作系统随着计算机技术和应用需求的不断发展,由简单变为复杂,由低级变为高级,故在"OS的引入和发展"部分,应对下述几个问题有较清晰的认识:
(1)早期无操作系统的计算机系统中,存在着所谓的人机矛盾"和"CPU—I/O设备速度不匹配的矛盾"。它们对计算机资源的利用率有何严重的影响?
(2)单道批处理系统中引入了哪些技术,它们是如何解决上述两对矛盾的?
(3)单道批处理系统还存在哪些不足之处,而多道批处理系统又是通过哪些技术措施来解决这些不足的?
(4)多道批处理系统还有哪些地方不能满足用户的需求,或者说,是在什么样的需求推动力的作用下,由批处理系统发展为分时系统的?实现分时系统的关键技术是什么?
(5)上述几种系统还有哪些地方不能满足用户的需求,或者说,是在什么样的需求推动力的作用下由分时系统发展为实时系统的?在学习时还应注意分析和比较分时系统与实时系统的特征。
1.2.2操作系统的基本特征和功能在多道程序的环境下,操作系统具有四大特征和五太功能。应对下述四个方面的内容有较深入的理解:
(1)操作系统的特征:并发、共享、虚拟和不确定性四大特征,在学习时应对每种特征的具体含义和形成原因有较清晰的认识。
(2)操作系统四大特征之间的关系:这四大特征之中,最重要的是并发特征,其他三个特征都是以并发为前提的。在学习时必须弄清楚并发和资源共享之间的关系,并理解它们是如何导致虚拟和异步性特征的产生的。
(3)操作系统的功能:处理机管理、存储器管理、设备管理、文件管理和提供友好的用户接口等五大功能。在学习时应了解各个功能的主要任务,并必须深入了解处理机管理功能与操作系统的并发和共享特征之间的关系。
(4)操作系统五大功能的必要性:为了保证多道程序能有条不紊地、高效地运行,并能方便用户对计算机系统的使用,操作系统必须具备上述五大功能。在学习时请思考:如果缺少了其中的某个(些)功能(如处理机管理或内存管理功能),将会对系统的运行产生什么样的影响。
1.2.3分层式结构和微肉核结构在操作系统结构中,应对下述内容有较深刻的了解:
(1)分层式结构:该结构是指将OS按某些原则分为若干个层次,并规定了层次间的单向调用关系。在学习时应对分层结构是为了解决什么样的问题,它又是如何解决该问题的等内容有较深入的了解。
(2)分层的原则:在学习时应知道一个操作系统应设置哪些层次的主要依据,并清楚通常应把哪些功能放在最低各层,哪些功能放在最高层。
(3)客户/服务器技术:该技术是把操作系统分为两个部分:一部分是用于提供各种服务的服务器,另一部分是用于实现操作系统最基本功能(含通信功能)的内核。在学习时必须清楚,为什么要将操作系统一分为二,由此会带来什么好处。
(4)面向对象技术:该技术是基于"抽象"和"隐蔽"原则来控制操作系统的复杂度的。它利用封装的数据结构和一组对它进行操作的过程,来表示系统中的某个对象,以达到隐蔽系统内部数据结构和操作的实现细节的目的。在学习时应了解什么是对象、面向对象技术会给操作系统带来什么好处。
(5)微内核结构:它是指将客户/服务器技术、面向对象技术用于基于微内核技术的操作系统中所形成的操作系统结构。在学习时应对该结构用于解决什么样的问题、又是如何解决该问题的,以及该结构有何优点有较深刻的了解。
1.3典型例题分析
1.叙述操作系统在计算机系统中的位置。
答:操作系统是运行在计算机硬件系统上的最基本的系统软件。它控制和管理着所有的系统硬件〈CPU、主存、各种硬件部件和外部设备等〉,也控制和管理着所有的系统软件(系统程序和用户进程等〉,操作系统对计算机使用者提供了一种良好的操作环境,也为其他各种应用系统提供了最基本的支撑环境。
现代操作系统是一个复杂的软件系统,它与计算机硬件系统有千丝万缕的联系,也与用户有着密不可分的关系,它在计算机系统中位于计算机裸机和计算机用户之间。如图1.1所示,紧挨着硬件的就是操作系统,它通过系统核心程序对计算机系统中的几类资源进行管理,如处理机、存储器、输入/输出设备、数据与文档资源、用户作业等,并向用户提供若干服务,通过这些服务将所有对硬件的复杂操作隐藏起来,为用户提供一个透明的操作环境。
在操作系统的外层是其他系统软件。操作系统是最基本的系统软件。用户可以直接通过系统软件层与计算机打交道,也可以建立各类应用软件和应用系统,通过它们来解决用户的问题。
由此可见,操作系统是介于计算机硬件和用户之间的一个接口。
2.推动批处理系统和分时系统形成和发展的主要动力是什么?
答:(1)推动批处理系统形成和发展的主要动力是"不断提高系统资源利用率"和"提高系统吞吐量"。主要表现在:脱机输入/输出技术的应用和作业的自动过渡大大地提高了I/0的速度及I/O设备与CPU并行工作的程度,减少了CPU的空闲时间;多道程序设计技术的应用更进一步提高了CPU、内存和I/O设备的利用率和系统的吞吐量。
(2)推动分时系统形成和发展的主要动力是"为了更好地满足用户的需要"。主要表现在:CPU的分时使用缩短了作业的平均周转时间;人机交互能力的提供使用户能方便地直接控制自己的作业;主机的共享使多个用户(包括远程用户)能同时使用同一台计算机独立地、互不干扰地处理自己的作业。
3.怎样理解"由于计算机上装有操作系统,从而扩展了原计算机的功能"。
答:计算机系统的硬件结构和机器一级的操作包含了诸如指令集、存储器组织、总线结构和输入/输出部件等的操作与控制,这些最基本的操作恰恰又是最复杂和最难以由用户直接进行的操作。例如z用户要进行文件读写,而文件是以二进制代码的方式存放在磁盘、磁带等存储装置中,需要有一种途径把用户的要求转换成对具体的硬件部件、电路信号、选择开关等的细微操作,用户自己不可能完成这些操作,但操作系统把用户的高级操作转换成一系列的低级操作,最终完成文件的读写。所有的低级操作对用户来讲都是透明的,即无需用户关心的、看不见的,操作系统把硬件全部隐藏起来,给用户提供了一个友好的、易于操作的界面。此外,操作系统还要进行大量的系统事务处理。如响应中断的发生、处理定时操作、管理存储器及其他低级操作。所以,可以说操作系统是硬件系统的扩展,从而扩展了原计算机的功能,它比直接对计算机硬件系统进行操作要容易得多。
4.试从交互性、及时性以及可靠性三个方面:比较分时系统与实时系统。
答:(1)从交互性方面来考虑:交互性问题是分时系统的一个关键问题,在分时系统中,用户可以通过终端与系统进行广泛的人机交互,如文件编辑、数据处理和资源共享。实时系统也具有交互性,但在实时系统中仅限于访问系统中某些特定的专用服务程序,也就是说它的交互性具有很大的局限性。
(2)从及时性方面来考虑:分时系统的及时性是指用户能在很短的时间内获得系统的响应,此时间间隔是由人们能接受的等待时间决定的,一般为2—3s。对实时系统来说,及时性是它的关键问题之一,实时信息系统的及时性要求与分时系统相似,而实时控制系统的及时性要求则是由被控制对象所要求的开始截止时间和完成截止时间决定的,一般要求秒级、毫秒级甚至微秒级的响应时间。
(3)从可靠性方面来看:可靠性是实时系统的另一个关键问题,实时系统中的任何差错都可能带来巨大的经济损失,甚至无法预料的灾难性后果,所以实时系统往往采取多级容错措施来保证系统的高度可靠。分时系统虽然也要求可靠,但比实时系统的要求要低。
其他进程的制约,不再"一气呵成",这必然导致不确定性特征的产生。
5.试比较分层式结构与模块式结构的异同。
答:分层式结构与模块式结构一样具有模块化的特征。分层式结构也要将复杂的操作系统按其功能分成若干个比较简单、相对独立的模块。为了使模块之间能够交互,它也必须规定模块之间的接口。因此,分层式结构具有模块式结构的优点。
分层式结构与模块式结构的主要区别在于,分层式结构中各模块之间是有序的。分层式结构将各个功能模块按它们的功能流图的调用次序安排成若干层,各层之间的模块不能像模块式结构那样通过接口毫无规则地相互依赖、互相调用,而只能是单向依赖或单向调用,即每层中的模块只能使用较低层模块提供的功能和服务。因此,分层式结构中,模块之间的组(织结构和依赖关系更加清晰,这不仅增加了系统的可读性和可适应性,同时还可使每一层建i立在可靠的基础上,从而提高系统的可靠性。
6.微内核结构具有哪些优点?
答:微内核结构的优点如下:
(1)提高了系统的灵活性和可扩充性。在微内核结构中,操作系统的大部分功能都是由相对独立的服务器来实现的,用户可以根据需要选配其中的部分或全部服务器:还可以随着计算机硬件和操作系统技术的发展,相应地更新若干服务器或增加一些新的服务器。
(2)提高了操作系统的可靠性。由于所有的服务器都是运行在用户态,它们不能直接访问硬件,因此,当某个服务器出现错误时,通常只会影响到它自己,但不会引起内核和其他服务器的损坏和崩溃。
(3)适用于分布式系统。对用户进程(即客户)而言,如果他通过消息传递与服务器通信,那么他只需发送一个请求,然后等待服务器发来的响应,而根本无需知道这条消息是在本地机就地处理还是通过网络送给远地机上的服务器。
1.4自测题
1.4.1 基本题一.判断题(你认为正确的在题后括号内划“√”,反之划“×” )
1.可以将操作系统看作是一个资源分配器,用来控制I/O设备和用户的程序。 ( )
2.操作系统是一种时间驱动程序。 ( )
3.设备独立性就是指系统具有使用不同设备的能力。 ( )
4.多机系统就是由两个或多个计算机相连而成的系统。 ( )
5.主/辅计算机系统是指主机控制辅机的各种动作的系统。 ( )
6.多道程序的引入主要是为了提高CPU的利用率。 ( )
8.Windows NT是一个多用户、多任务操作系统。 ( )
二.单项选择题,在每小题的四个备选答案中选出一个正确答案,并将其代码写在题干后面的括号内。不选、错选或多选者该题无分。
1.操作系统是一种_______。
A.通用软件 B.系统软件 c.应用软件 D.软件包
2.实时操作系统必须在________内处理完来自外部的事件。
A.响应时间 B.周转时间
C.被控对象规定时间 D.调度时间
3.操作系统的_______管理部分负责对进程进行调度。
A.主存储器 B.控制器 c.运算器 D.处理机
4.一个计算机系统,采用多道程序设计技术后,使多道程序实现了______。
A.微观上并行 B.宏观上并行
C.微观上和宏观上并行 D.微观上和宏观上串行
5.一个计算机系统可以认为由以下四个层次构成,而我们所说的裸机是指_____。
A.硬件层 B.操作系统层
C.语言处理程序层 D.应用程序层
6.操作系统是对____________进行管理的软件。
A.软件 B.硬件 c.计算机资源 D.应用程序
7.若把操作系统看作计算机系统资源的管理者,下列的_____不属于操作系统所管理的资源。
A.程序 B.内存 C.CPU D.中断
8.从用户的观点看,操作系统是____________。
A.用户与计算机之间的接口 B.控制和管理计算机资源的软件
C.合理地组织计算机工作流程的软件 D.由若干层次的程序按一定的结构组成的有机体
9.设计实时操作系统时,首先应考虑系统的____________.
A.可靠性和灵活性 B.实时性和可靠性
C.灵活性和可靠性 D.优良性和分配性
10.操作系统中采用多道程序设计技术提高CPU和外部设备的__________。
A.利用率 B.可靠性 C.稳定性 D.兼容性
11.操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的________和方便用户使用计算机而配备的一种系统软件。
A.速度 B.利用率 C.灵活性 D.兼容性
12.所谓_______是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。
A.多重处理 B.多道程序设计 C.实时处理 D.共行执行
13._________操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。
A.网络 B.分布式 C.分时 D.实时
14.如果分时操作系统的时间片一定,那么_____________,则响应时间越长。
A.用户数越少 B.用户数越多 C.内存越少 D.内存越多
15.在________操作系统控制下,计算机系统能及时处理由过程控制反馈的数据并作出响应。
A.实时 B.分时 C.分布式 D.单用户
16.在下列操作系统的各个功能组成部分中,_______不需要硬件的支持。
A.进程调度 B.时钟管理 C.地址映射 D.中断系统
17.分布式计算机系统与通常的网络系统的主要区别在于它的______。
A.并行性 B.资源共享性
C.透明性 D.复杂性
18.在设计分时操作系统时,首先要考虑的是__________。
A.灵活性和可适应性 B.交互性和响应时间
C.周转时间和系统吞吐 D.实时性和可靠性。
19.在分时系统中,当用户数目为100时,为保证响应时间不超过2秒,此时的时间片最大应为_____________。
A.10ms B.2Oms C.50ms D.100ms
20.分时系统和实时系统都具有交互性,实时系统的交互性允许用户访问___________。
A.文字编精程序 B.专用服务程序
C.专用硬件 D.数据处理程序三.填空题
1.人们早期在计算机上运行一个程序,必须经过_____、______、______和_______四个步骤.
2.操作系统的基本功能包括_______、_______、_______、_____。除此之外还为用户使用操作系统提供了用户接口。
3.批处理系统的主要优点是_______和_________;其主要缺点是_____和______。
4.在操作系统中采用多道程序设计技术,能有效地提高CPU、内存和I /0设备的_______。为实现多道程序设计需要有___________。
5.多道程序环境下的各道程序,宏观上,它们是在________运行,微观上则是在______执行。
6.单道批处理系统是在解决_____________和________的矛盾中发展起来的。
7.在分时和批处理系统结合的操作系统中引入了"前台"和"后台"作业的概念,其目的是____________。
8.推动批处理系统形成和发展的主要动力是________,推动分时系统形成和发展的动力是_____,推动微机操作系统发展的主要动力是___________。
9.实时操作系统与分时操作系统的主要区别是_______。
10.分时系统的响应时间(及时性)主要是根据_______确定的,而实时系统的响应时间则是由____________确定的。
11.采用多道程序设计技术能充分发挥_________与_________并行工作的能力。
12.并发和____________是操作系统的两个最基本的特征,两者之间互为存在条件。
13.为实现多道程序设计,计算机系统在硬件方面必须提供两种支持,它们是_______和______。
14.分时系统中的______是衡量一个分时系统性能的一项重要指标。
15.现代操作系统从内部结构来分析通常包括_____和_______两部分。
四.简答题
1.操作系统的主要目标是什么?
2.操作系统有哪些基本功能?
3.试说明现代操作系统的基本特征是什么?
4.多道程序设计实现的硬件基础是什么?
5.实现多道程序设计要解决哪些问题?
6.在操作系统中引入多道程序设计技术,带来了哪些好处?
7.分时操作系统形成和发展的主要动力是什么?
8.在设计实时系统时要考虑哪些问题?
9.分布式计算机系统的主要特点是什么?
10.网络操作系统的主要功能有哪些?网络操作系统的主要特点是什么?
11.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?
12.在操作系统中实现虚拟所采用的关键技术是什么?并加以说明。
1.4.2 解析题一.论述题
1,实现分时系统的关键问题是什么?应如何解决?
2.讨论操作系统可以从哪些角度出发,如何把它们统一起来?
3.设计计算机操作系统与哪些硬件器件有关?
4.试对分时操作系统和实时操作系统进行比较。
5.操作系统具有哪些特征?它们之间有何关系?
1.4.3 自测题答案一.基本题
(一)判断题:
1.√ 2,√ 3.× 4,√ 5,√ 6.× 7,√ 8.×
(二)选择题
1.B 2.C 3.D 4.B 5.A 6.C 7.D 8.A 9.B 10.A
11.B 12.B 13.C 14.B 15.A 16.A 17,18,19,20,
(三)填空
1.预约机器时间、将程序手工装入内存、指定开始地址启动程序运行和从控制台上监控程序的执行
2,处理机管理、存储器管理、设备管理、信息(或文件)管理
3.资源利用率高、系统吞吐量大 周转时间长、无交互作用
4,利用率 更大的内存
5.并行 串行
6.人机矛盾; CPU与I/O设备速度不匹配的矛盾
7,为了提高CPU的利用率
8,提高系统资源利用率 方便用户 计算机硬件的不断更新换代
9,及时性和高可靠性
10,用户所能接受的等待 控制对象所能接受的时延
11,CPU 外设
12,共享
13.中断 通道
14.相应时间
15.内核 核外
(四)简答题
1.答:解:操作系统的主要目标是:
(1)为计算机用户提供一个良好的环境,使其能以方便、有效的方式在计算机硬件上执行程序。
(2)根据解决某给定问题的需要来分配计算机的各种资源.而且,这种分配应尽可能公平、有效。
(3)作为控制程序,它有如下两种主要功能:监控用户程序的执行以避免各种错误和对计算机系统的不合理使用;对I/O设备的操作和控制的管理。
(4)合理地组织计算机系统的工作流程,以改善系统的性能。
2.答:操作系统的职能是管理和控制计算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。
3.答:现代操作系统具有以下基本特征:
(1)并发性并发指的是在操作系统中存在着许多同时的或并行的活动。
(2)共事性系统中存在的各种并发活动要求共享系统中的硬件、软件资源。
(3)虚拟性虚拟是指将一个物理实体映射为若干逻辑实体,例如虚拟处理机,虚拟存储器等。
(4)不确定性在多道程序设计环境下,各程序按异步方式运行,每道程序在何时执行、各自执行的顺序以及每道程序所需的时间、电程序执行的结果都是不确定的。
4.答:多道程序设计的硬件基础是中断系统和通道技术,它们为多道程序设计的实现提供了有力的支持。
在多道程序设计的环境下,当CPU要求在主存和外设间传输数据时,通过发I/O指令命令通道工作,完成相应的数据传输,这样使得CPU从繁琐的I/O操作中解放出来,当I/O操作完成后,通道以中断方式请求CPU的处理,从而实现了CPU的计算与I/O操作的并行。
5.答:为了实现多道程序设计,必须解决以下三个问题:
(1)存储保护和地址重定位。
(2)处理机的管理和调度。
(3)资源的管理和调度。
6,答:在OS中引入多道程序设计技术,可带来如下好处:
(1)提高CPU的利用率当内存中仅存放一道程序时,每逢该程序运行中发出I/0请求后,CPU空闲,必须在其I/0完成后才继续运行;尤其是I/0设备的低速性,更使CPU的利用率显著降低。在引入多道程序设计技术后,由于可同时把若干道程序装入内存,并可使它们交替地执行,这样,当正在运行的程序因I/0而暂停执行时,系统可调度另一道程序运行,从而可保持CPU处于忙碌状态
(3)可提高内存和I/0设备利用手为了能运行较大作业,通常内存都具有较大容量,但由于80%以上的作业都属于中小型,因此在单道程序环境下也必定造成内存的浪费。类似地,系统中所配置的多种类型的I/0设备,在单道程序环境下,也不能充分利用。如果允许在内存中装入多道程序,并允许它们并发执行,则无疑会大大提高内存利用率和I/0设备的利用率。
(3)增加系统吞吐量在保持CPU、I/0设备不断忙碌的同时,也必然会大幅度地提高系统的吞吐量,从而降低作业加工所需费用。
7,答:如果说批处理系统形成和发展的主要推动力是"不断提高系统资源利用率"和"提高系统吞吐量",那么,分时系纺形成和发展的主要动力则是"为了更好地满足用户需要",主要表现在:
(1)缩短了作业的周转时间z在批处理系统中,用户把作业提交给系统后,往往要经过几个小时甚至几天的延迟,才能得到所需的结果,这样长的周转时间,对那些只需运行几分钟的小型作业的用户来说,显然是不愿接受的。用户总是希望作业周转时间尽可能地短。
(2)提供人机交互能力z在批处理系统中,用户一旦把作业提交给系统,自己便失去了对作业控制的能力,必须先写好作业说明书,然后连同作业一起交给系统,由系统根据说明书中的控制信息说明,对作业进行控制。为此,系统要求用户能事先充分估计到其作业在运行过程中可能出现的各种情况。实际上,这是难以做到的,因此,用户强烈地需要系统能够做到2边运行作业,边告知运行中出现的问题,用户便可随时针对所出现的问题,采取适当的解决办法,亦即,用户希望系统提供人机交互能力,这一点,对用户调试一个新程序,或修改老程序来说,尤为重要。
(3)多个用户共享一台计算机:在60年代,计算机的价格还十分昂贵,不可能为每一个上机用户配置一台计算机,只能使多个用户通过各自的终端,同时使用一台计算机来处理各自的作业,而不相互干扰。
8.答:设计实时系统时要考虑以下问题:
(1)实时时钟管理。
(2)连续人—机对话。
(3)过载的保护。
(4)高可靠性的保证。
9.答:分布式计算机系统具有以下主要特点:
(1)分布式系统中任意两台计算机之间可以利用通信交换信息。
(2)分布式系统各计算机具有相对的自主性或自治性。
(3)分布式系统具有透明性。各计算机上的资源可以共享,而且用户不必考虑资源所在的位置。
(4)分布式系统具有整体性或协同性。各计算机可以共同完成一个任务,每台计算机只完成整个任务的一部分。
(5)分布式系统具有坚定性。任何一台计算机出现故障不会使系统瘫痪,可以"降级"使用。
10.答:网络操作系统作为一个操作系统应具有传统(单机)操作系统的功能:处理机管理、存储管理、文件管理和设备管理等。除此之外,网络操作系统还应提供以下功能:
(1)实现网络中各节点机之间的通信。
(2)实现网络中的资源共享。
(3)提供多种网络服务。
(4)提供网络用户的应用程序接口。
网络操作系统具有以下特点:
(1)复杂性。
(2)并行性。
(3)节点之间的通信与同步。
(4)安全性。
11.答:多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时执行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。
12,答:在操作系统中实现虚拟功能所采用的关键技术,是"分时技术"。例如,将一台物理处理机虚拟为多台逻辑上的处理机,是靠多道程序分时地使用同一台物理处理机来实现的;微观上,该处理机在每一时刻只运行一道程序,它们分时地运行;然而宏观上,系统中确有几道程序在同时运行,从而给用户形成的感觉是,系统中同时有多台处理机在为其中的每一道程序服务,显然,用户所感觉到的处理机并不实际存在,故称为虚拟处理机。
二.解析题
(一).论述题
1.答:实现分时系统的关键问题是使用户能与自己的作业交互作用,即用户在自己的终端上键入一命令以请求系统服务后,系统能及时地接收并处理该命令,并在用户能够接受的时延内将结果返回给用户。
及时地接收命令和返回输出结果是比较容易做到的,一般只要在系统中配置一多路卡,并为每个终端配置一个缓冲区用来暂存用户键入的命令和输出的结果便可以了。因此,要着重解决的问题是确保在较短的时间内,系统中所有的用户程序都能执行一次,从而使用户键入的命令能够得到及时处理。为此,系统不应让一个作业长期占用CPU直至它运行结束,而应设置一个较短的时间片,并规定每个程序只能运行一个时间片,然后,不管它是否运行完毕,都必须将CPU让给下一个作业,从而使所有的作业都得到及时的处理,使用户的请求得到及时的响应。
2,答:讨论操作系统可以从以下角度出发:(l)操作系统是计算机资源的管理者;〈2)操作系统为用户提供使用计算机的界面;(3)用进程管理观点研究操作系统,即围绕进程运行过程来讨论操作系统。
上述这些观点彼此并不矛盾,只不过代表了同一事物(操作系统)站在不同的角度来看待。每一种观点都有助于理解、分析和设计操作系统。
3,计算机操作系统的重要功能之一是对硬件资源的管理。因此设计计算机操作系统时应考虑下述计算机硬件资源:
(1)CPU与指令的长度及执行方式;
(2)内存、缓存和高速缓存等存储装置;
(3)各类寄存器,包括各种通用寄存器、控制寄存器和状态寄存器等;
(4)中断机构;
(5)外部设备与I/O控制装置;
(6)内部总线与外部总线;
(7)对硬件进行操作的指令集。
4,答:我们可以从以下几个方面对这两种操作系统进行比较:
(1)实时信息处理系统与分时操作系统一样都能为多个用户服务。系统按分时原则为多个终端用户服务:而对实时控制系统,则表现为经常对多路现场信息进行采集以及对多个对象或多个执行机构进行控制。
(2)实时信息处理系统与分时操作系统一样,每个用户各占一个终端,彼此独立操作,互不干扰。因此用户感觉就像他一人独占计算机:而在实时控制系统中信息的采集和对对象的控制也都是彼此互不干扰的。
(3)实时信息系统对响应时间的要求与分时操作系统类似,都是以人所能接受的等待时间来确定的:而实时控制系统的响应时间则是以控制对象所能接受的延时来确定的。
(4)分时操作系统是一种通用系统,主要用于运行终端用户程序,因此它具有较强的交互能力。而实时操作系统虽然也有交互能力,但其交互能力不及前者。
(5)分时操作系统要求系统可靠,相比之下,实时操作系统则要求系统高度可靠。
5.答:操作系统的特征有并发、资源共享、虚拟和不确定性。它们的关系如下:
(1)并发和共享是操作系统最基本的特征。为了提高计算机资源的利用率,操作系统必然要采用多道程序设计技术,使多个程序共享系统的资源,并发地执行。
(2)并发和共享互为存在的条件。一方面,资源的共享以程序(进程)的并发执行为条件,若系统不允许程序并发执行,自然不存在资源共享问题:另一方面,若系统不能对资源共享实施有效管理,协调好诸进程对共享资源的访问,也必将影响到程序的并发执行,甚至根本无法并发执行。
(3)虚拟以并发和资源共享为前提。为了使并发进程能更方便、更有效地共享资源,操作系统常采用多种虚拟技术来在逻辑上增加CPU和设备的数量以及存储器的容量,从而解决众多并发进程对有限的系统资源的争用问题。
(4)不确定性是并发和共享的必然结果。操作系统允许多个并发进程共享资源;相互合作,
使得每个进程的运行过程受到其他进程的制约,不再"一气呵成",这必然导致不确定性特征的产生。