第一章.操作系统引论:1.3操作系统的基本特性


1.3.1 并发

正是系统中的程序能并发执行这一特征,才使得OS能有效地提高系统中的资源利用率,增加系统的吞吐量。

1. 并行与并发

并行性和并发性是既相似又有区别的两个概念。

并行性:指两个或多个事件在同一时刻发生。

并发性:指两个或多个事件在同一时间间隔内发生。

理解:

在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时交替进行。

倘若在计算机系统中有多个处理机,这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序。这样,多个程序便可同时执行。

2. 引入进程

进程:是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。

多个进程之间可以并发执行和交换信息。

1.3.2 共享

一般情况下的共享与操作系统环境下的共享其含义并不相同。

一般情况下的共享:

某种资源能被大家使用,大多数情况下,只要通过适当的安排,用户之间并不会产生对资源的竞争。

OS环境下的资源共享:

又称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。这里在宏观上既限定了时间(进程在内存期间),也限定了地点(内存)。

目前有两种实现资源共享的方式。

1. 互斥共享方式

互斥共享方式:

对于某一资源,若规定一段时间内,只允许一个进程访问该资源,这种访问方式就被称为互斥共享方式。

举例:

当进程A要访问某资源时,必须先提出请求。若此时该资源空闲,系统便可将之分配给请求进程A使用。此后若再有其他进程也要访问该资源,只要A未使用完就必须等待。仅当A进程访问完并释放系统资源后,才允许另一进程对该资源进行访问。

临界资源:

一段时间内只允许一个进程访问的资源,叫做临界资源。

2. 同时访问方式

同时访问方式:

系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”,在单处理机环境下是宏观意义上的,而在微观上,这些进程对该资源的访问是交替进行的。

举例:

典型的可供多个进程“同时”访问的资源是磁盘设备。一些重入码编写的文件也可以被“同时”共享,即允许若干个用户同时访问该文件。

1.3.3 虚拟

在OS中,把通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”。前者是实的,即实际存在的,而后者是虚的,是用户感觉上的东西。相应地,把用于实现虚拟地技术称为虚拟技术。在OS中也是利用时分复用和空分复用技术来实现虚拟的。

1. 时分复用技术

时分复用技术利用某设备为一用户服务的空闲时间,又转去为其他用户服务,使设备得到充分的利用。

  1. 虚拟处理机技术

    利用多道程序设计技术,为每道程序建立至少一个进程,让多道程序并发执行。此时虽然系统中只有一台处理机,但通过分时复用的方法,能实现同时(宏观上)为多个用户服务,使每个终端用户都认为是有一个处理机在专门为他服务。

    亦即,利用多道程序设计技术,可将一台物理上的处理机虚拟为多台逻辑上的处理机,在每台逻辑处理机上运行一道程序,我们把用户所感觉到的处理机称为虚拟处理机。

  2. 虚拟设备技术

    我们可以利用虚拟设备技术,通过分时复用的方法,将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并与允许每个用户占用一台逻辑上的I/O设备。这样便可使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为允许多个用户“同时”访问的共享设备。

2. 空分复用技术

空分复用技术利用存储器的空闲空间分区域存放和运行其它的多道程序,以此来提高内存的利用率。

单纯的空分复用存储器只能提高内存的利用率,并不能实现在逻辑上扩大存储器容量的功能,还必须引入虚拟存储技术才能达到此目的。

虚拟存储技术本质上是先内存的时分复用,即它可以通过分时复用内存的方式,使一道程序仅在远小于它的内存空间中运行。

举例:

一个100MB的应用程序之所以可以运行在30MB的内存空间,实质上就是每次只把用户程序的一部分调入内存运行,运行完成后将该部分换出,再换入另一部分到内存中运行,通过这样的置换功能,便实现了用户程序各个部分分时地进入内存运行。

3. 注意

时分复用:

设N是某物理设备所对应的虚拟地逻辑设备数,则每台虚拟设备的平均速度必然等于或低于物理设备速度的1/N。

空分复用:

一台虚拟设备平均占用的空间必然等于或低于物理设备所拥有空间的1/N。

1.3.4 异步

由于资源等因素的限制,使进程的执行通常都不可能“一气呵成”,而是以“走走停停”的方式运行。

举例:

如打印请求,而此时打印机正在为其它进程打印,由于打印机属于临界资源,因此正在执行的进程必须等待,并释放出处理机,直到打印机空闲,并再次获得处理机时,该进程方能继续执行。


参考资料:《计算机操作系统(第四版)》—— 汤小丹等

猜你喜欢

转载自blog.csdn.net/weixin_45605541/article/details/120539327