操作系统的基本特性

[b] 并发性(Concurrence)[/b]
并行性和并发性是既相似又有区别的两个概念,[color=red]并行性是指两个或多个事件在同一时刻发生[/color];[color=red]而并发性是指两个或多个事件在同一时间间隔内发生[/color]。在多道程序环境下,[color=red]并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行[/color]。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样,多个程序便可同时执行。

[b] 共享(Sharing)[/b]
在操作系统环境下,所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。由于资源属性的不同,进程对资源共享的方式也不同,目前主要有以下两种资源共享方式:
[quote]
1. 互斥共享方式
系统中的某些资源,如打印机,磁带机,虽然它们可以提供给多个进程(线程)使用,但为使所打印或记录的结果不致造成混淆,应规定在一段时间内只允许一个进程(线程)
访问该资。为此,当一个进程A要访问某资源时,必须先提出请求,如果此时该资源空闲,系统便可将之分配给请求进程A使用,此后若再有其它进程也要访问该资源时(只要A未完成)则必须等待,直到A进程释放,才允许另一个进程访问该资源。我们把这种资源共享方式称为互斥式共享,而把一段时间内只允许一个进程访问的资源称为临界资源或独占资源。计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源,它们要求被互斥地共享。

2. 同时访问方式

系统中还有另一类资源,允许在一段时间内由多个进程"同时"对它们进行访问。这里所谓的"同时"往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。典型的可供多个进程"同时"访问的资源是磁盘设备,一些重入编码的文件,也可以被"同时共享",即若干个用户同时访问该文件。
[/quote]
并发和共享是操作系统的两个最基本的特征,它们又是互为存在的条件。一方面,资源共享是以程序(进程)的并发执行为条件的,若系统不允许程序并发执行,自然不存在资源共享问题;另一方面,若系统不能对资源共享实施有效管理, 协调好诸进程对共享资源的访问,也必然影响到程序并发执行的程度,甚至根本无法并发执行。

[b]虚拟(Virtual)[/b]
操作系统中的所谓"虚拟",是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的,而后者是虚的,是用户感觉上的东西。相应地,用于实现虚拟的技术,称为虚拟技术。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、虚拟外部设备和虚拟信道等。

在虚拟出来技术中,是通过多道程序设计技术,让多道程序并发执行的方法,来分时使用一台处理机的。此时,虽然只有一台处理机,但它能同时为多个用户服务,使每个终端用户都认为是有一个CPU在专门为他服务,利用多道程序设计技术,把一台物理上的CPU虚拟为多台逻辑上的CPU,也称为虚拟处理机,我们把用户所感觉的CPU称为虚拟处理器。
类似地,可以通过虚拟存储器技术,将一台机器的物理存储器变为虚拟存储器,以便从逻辑上来扩充存储器的容量。此时,虽然物理内存的容量可能不大,但它可以运行比它大得多的用户程序。这使用户所感觉到的内存容量比实际内存容量大得多。

我们还可以通过虚拟设备技术,将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/O设备,这样便可使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为在一段时间内允许多个用户同时访问的共享设备。例如,原来的打印机属于临界资源,而通过虚拟设备技术,可以把它变为多台逻辑上的打印机,供多个用户“同时”打印。此外,也可以把一条物理信道虚拟为多条逻辑信道(虚信道)。在操作系统中,虚拟的实现主要是通过分时使用的方法。显然,如果n是某物理设备所对应的虚拟的逻辑设备数,则虚拟设备的平均速度必然是物理设备速度的1/n

[b]异步性(Asynchronism)[/b]
在多道程序环境下,允许多个进程并发执行, 但只有进程在获得所需的资源后方能执行。在单处理机环境下,由于系统中只有一个处理机,因而每次只允许一个进程执行,其余进程只能等待。当正在执行的进程提出某种资源要求时,如打印请求,而此时打印机正在为其它某进程打印,由于打印机属于临界资源,因此正在执行的进程必须等待,且放弃处理机,直到打印机空闲,并再次把处理机分配给该进程时,该进程方能继续执行。可见,由于资源等因素的限制,使进程的执行通常都不是“一气呵成”,而是以“停停走走”的方式运行。

内存中的每个进程在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序总共需多少时间才能完成,等等,都是不可预知的。由于各用户程序性能的不同,比如,有的侧重于计算而较少需要I/O;而又有的程序其计算少而I/O多,这样,很可能是先进入内存的作业后完成; 而后进入内存的作业先完成。或者说,进程是以人们不可预知的速度向前推进,此即进程的异步性。尽管如此,但只要运行环境相同,作业经多次运行,都会获得完全相同的结果。因此,异步运行方式是允许的,是操作系统的一个重要特征
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值