首页 理论教育 操作系统基本特性-了解计算机操作系统

操作系统基本特性-了解计算机操作系统

时间:2023-11-06 理论教育 版权反馈
【摘要】:操作系统是一个并发系统,并发性是它的重要特征,操作系统的并发性指它应该具有处理和调度多个程序同时执行的能力。多个I/O设备同时在输入输出;设备I/O和CPU计算同时进行;内存中同时有多个系统和用户程序被启动交替、穿插地执行,这些都是并发性的例子。共享性和并发性是操作系统两个最基本的特性,它们互为依存。

操作系统基本特性-了解计算机操作系统

前面所介绍的三种基本操作系统都有各自的特征,如批处理系统具有能对多个作业进行成批处理,以获得高的系统吞吐量的特征,分时操作系统具有允许用户和计算机进行人机交互特征,实时系统具有实时特征,但它们也都具有并发、共享、虚拟和异步这四个基本特性。其中,并发性是操作系统最重要的特性,其他三个特性都是以并发性为前提的。

1.3.1 并发性

并发性(concurrence)是指两个或两个以上的事件或活动在同一时间间隔内发生。操作系统是一个并发系统,并发性是它的重要特征,操作系统的并发性指它应该具有处理和调度多个程序同时执行的能力。多个I/O设备同时在输入输出;设备I/O和CPU计算同时进行;内存中同时有多个系统和用户程序被启动交替、穿插地执行,这些都是并发性的例子。发挥并发性能够消除计算机系统中部件和部件之间的相互等待,有效地改善系统资源的利用率,改进系统的吞吐率,提高系统效率。例如,一个程序等待I/O时,就出让CPU,而调度另一个程序占有CPU执行运行。这样,在程序等待I/O时,CPU便不会空闲,这就是并发技术。

并发性虽然能有效改善系统资源的利用率,但会引发一系列的问题,使操作系统的设计和实现变得复杂化。如:怎样从一个运行程序切换到另一个运行程序?以什么样的策略来选择下一个运行的程序?怎样将各个运行程序隔离开来,使之互不干扰,免遭对方破坏?怎样让多个运行程序互通消息和协作完成任务?怎样协调多个运行程序对资源的竞争?多个运行程序共享文件数据时,如何保证数据的一致性?操作系统必须具有控制和管理程序并发执行的能力,为了更好地解决上述问题,操作系统必须提供机制和策略来进行协调,以使各个并发进程能顺利推进,并获得正确的运行结果。

另外,操作系统还要合理组织计算机工作流程,协调各类硬软件设施工作,充分提高资源的利用率,充分发挥系统的并行性,这些也都是在操作系统的统一指挥和管理下进行的。

采用了并发技术的系统又称为多任务系统(multitasking system),计算机系统中,并发实际上是一个物理CPU在若干道程序之间多路复用,这样就可以实现运行程序之间的并发,以及CPU与I/O设备、I/O设备与I/O设备之间的并行,并发性的实质是对有限物理资源强制行使多用户共享以提高效率。在多处理器系统中,程序的并发性不仅体现在宏观上,而且体现在微观上(即在多个CPU上)也是并发的,又称并行的。并行性(parallelism)是指两个或两个以上事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。而在分布式系统中,多台计算机的并存使程序的并发性得到了更充分的发挥。可见并行性是并发性的特例,而并发性是并行性的扩展。由于并发技术的本质思想是:当一个程序发生事件(如等待I/O)时出让其占用的CPU而由另一个程序运行,据此不难看出,实现并发技术的关键之一是如何对系统内的多个运行程序(进程)进行切换的技术。

1.3.2 共享性

共享性是操作系统的另一个重要特性。共享是指操作系统中的资源(包括硬件资源和信息资源)可被多个并发执行的进程共同使用,而不是被一个进程所独占。出于经济上的考虑,一次性向每个用户程序分别提供它所需的全部资源不但是浪费的,有时也是不可能的。现实的方法是让操作系统和多个用户程序共用一套计算机系统的所有资源,因而,必然会产生共享资源的需要。资源共享的方式可以分成以下两种:

(1)互斥访问。系统中的某些资源如打印机、磁带机、卡片机,虽然它们可提供给多个进程使用,但在同一时间内却只允许一个进程访问这些资源,即要求互相排斥地使用这些资源。当一个进程还在使用该资源时,其他欲访问该资源的进程必须等待,仅当该进程访问完毕并释放资源后,才允许另一进程对该资源访问。这种同一时间内只允许一个进程访问的资源称为临界资源,许多物理设备,以及某些数据和表格都是临界资源,它们只能互斥地被共享。

(2)同时访问。系统中还有许多资源,允许同一时间内多个进程对它们进行访问,这里“同时”是宏观上的说法。典型的可供多进程同时访问的资源是磁盘,可重入程序也可被同时访问。(www.xing528.com)

与共享性有关的问题是资源分配、信息保护、存取控制等,必须妥善解决好这些问题。

共享性和并发性是操作系统两个最基本的特性,它们互为依存。一方面,资源的共享是因为程序的并发执行而引起的,若系统不允许程序并发执行,自然也就不存在资源共享问题;另一方面,若系统不能对资源共享实施有效管理,必然会影响程序的并发执行,甚至程序无法并发执行,操作系统也就失去了并发性,导致整个系统效率低下。

1.3.3 虚拟性

虚拟性是指操作系统中的一种管理技术,它是把物理上的一个实体变成逻辑上的多个对应物,或把物理上的多个实体变成逻辑上的一个对应物的技术。显然,前者是实际存在的而后者是虚构假想的,采用虚拟技术的目的是为用户提供易于使用、方便高效的操作环境。例如,在多道程序系统中,物理CPU可以只有一个,每次也仅能执行一道程序,但通过多道程序和分时使用CPU技术,宏观上有多个程序在执行,就好像有多个CPU在为各道程序工作一样,物理上的一个CPU变成了逻辑上的多个CPU。

Spooling技术可把物理上的一台独占设备变成逻辑上的多台虚拟设备;窗口技术可把一个物理屏幕变成逻辑上的多个虚拟屏幕;通过时分或频分多路复用技术可以把一个物理信道变成多个逻辑信道;IBM的VM技术把物理上的一台计算机变成逻辑上的多台计算机。虚拟存储器则是把物理上的多个存储器(主存和辅存)变成逻辑上的一个存储器(虚存)的例子。

1.3.4 异步性

操作系统的第四个特性是异步性,或称随机性。在多道程序环境中,允许多个进程并发执行,由于资源有限而进程众多,多数情况,进程的执行不是一贯到底,而是“走走停停”。例如,一个进程在CPU上运行一段时间后,由于等待资源满足或事件发生,它被暂停执行,CPU转让给另一个进程执行。系统中的进程何时执行?何时暂停?以什么样的速度向前推进?进程总共要花多少时间执行才能完成?这些都是不可预知的,或者说该进程是以异步方式运行的,其导致的直接后果是程序执行结果可能不唯一。异步性给系统带来了潜在的危险,有可能导致进程产生与时间有关的错误,但只要运行环境相同,操作系统必须保证多次运行进程,都会获得完全相同的结果。

操作系统中的随机性处处可见,例如,作业到达系统的类型和时间是随机的;操作员发出命令或按按钮的时刻是随机的;程序运行发生错误或异常的时刻是随机的;各种各样硬件和软件中断事件发生的时刻是随机的等。操作系统内部产生的事件序列有许许多多可能,而操作系统的一个重要任务是必须确保捕捉任何一种随机事件,正确处理可能发生的随机事件,正确处理任何一种产生的事件序列,否则将会导致严重后果。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈