批处理系统、分时系统和实时系统这三种基本操作系统都具有四个共性:并发性、共享性、虚拟性、异步性。
并行性: 两个或多个事件在同一时刻发生;
并发性: 两个或多个事件在同一时间间隔内发生;
概念: 进程是系统中能够独立运行并作为资源分配的基本单位,由一组机器指令、数据以及堆栈组成;
作用: 程序是静态实体,不能独立运行也不能与其他程序并发运行。通过为属于同一应用程序的几个程序分别建立进程可以实现这几个进程的并发执行;也可以为在内存中的多个用户程序分别建立进程,使得这些进程可以并发执行,即实现多道程序运行。因此,进程的引入可以极大提高资源的利用率以及系统的吞吐量。
在引入线程的 OS 中,进程作为资源分配的基本单位,因此调度进程时付出的开销较大;线程作为独立运行和独立调度的基本单位,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效地提高系统内多个程序间并发执行的程度。线程的引入是现代操作系统的重要标志。
概念: 是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。也称资源共享或资源复用。
实现资源共享的两种主要方式:
互斥共享方式:在一段时间内只允许一个进程(线程)访问该资源。把在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源。
同时访问方式:系统中还有另一类资源,允许在一段时间内由多个进程 “同时” 对它们进行访问。这里所谓的 “同时”,在单处理机环境下往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。
概念: 通过某种技术把一个物理实体变为若干个逻辑上的对应物。虚拟技术的两种实现方式:
概念: 时分复用技术即分时使用技术。
虚拟处理机技术: 在虚拟处理机技术中,利用多道程序设计技术,为每道程序建立一个进程,让多道程序并发地执行,以此来分时使用一台处理机。我们把用户所感觉到的处理机称为虚拟处理器。时分复用技术是利用处理机的空闲时间来运行其它的程序,使处理机的利用率得以提高。
虚拟设备技术: 我们还可以通过虚拟设备技术,将一台物理 I/O 设备虚拟为多台逻辑上的 I/O 设备,并允许每个用户占用一台逻辑上的 I/O 设备,这样便可使原来仅允许在一段时间内由一个用户访问的设备(临界资源),变为在一段时间内允许多个用户同时访问的共享设备。
空分复用技术的两种实现:
进程是以人们不可预知的速度向前推进,此即进程的异步性(Asynchronism)。