1.并行与并发
并行性和并发性是既相似又有区别的两个概念,并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。倘若在计算机系统中有多个处理机,则这些可以并发执行的程序便可被分配到多个处理机上,实现并行执行,即利用每个处理机来处理一个可并发执行的程序。这样,多个程序便可同时执行。在实际运行中,操作系统如何使得多个程序并发执行呢?这需要引入进程和线程的概念。
2.引入进程
通常程序是静态实体,可以被复制和删除。在多道程序系统中,它们是不能独立运行的,更不能和其他程序并发执行。在操作系统中引入进程的目的,就是使多个程序能并发执行。例如,在一个未引入进程的系统中,在属于同一个应用程序的计算程序和I/O程序之间,两者只能是顺序执行,即只有在计算程序执行告一段落后,才允许I/O程序执行;反之,在程序执行I/O操作时,计算程序也不能执行,这意味着处理机处于空闲状态。但在引入进程后,若分别为计算程序和I/O程序各建立一个进程,则这两个进程便可并发执行。由于在系统中具备使计算程序和I/O程序同时运行的硬件条件,因而可将系统中的CPU和I/O设备同时开动起来,实现并行工作,从而有效地提高了系统资源的利用率和系统吞吐量,并改善了系统的性能。引入进程的好处远不止于此,事实上可以在内存中存放多个用户程序,分别为它们建立进程后,这些进程可以并发执行,亦即实现前面所说的多道程序运行。这样便能极大地提高系统资源的利用率,增加系统的吞吐量。
为使多个程序能并发执行,系统必须分别为每个程序建立进程。简单来说,进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体。多个进程之间可以并发执行和交换信息。一个进程在运行时需要一定的资源,如CPU、存储空间及I/O设备等。(www.xing528.com)
操作系统中程序并发执行使得系统复杂化,导致在系统中必须增设新的功能模块,分别用于对处理机、内存、I/O设备以及文件系统等资源进行管理,并控制系统中作业的运行。事实上,进程和并发是现代操作系统中最重要的基本概念,也是操作系统运行的基础。
3.引入线程
长期以来,进程都是操作系统中可以拥有资源并作为独立运行的基本单位。当一个进程因故不能继续运行时,操作系统便调度另一个进程运行。由于进程拥有自己的资源,故使调度付出的开销比较大。直到20世纪80年代中期,人们才又提出比进程更小的单位——线程。通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效地提高系统内多个程序间并发执行的程度。因而近年来推出的通用操作系统都引入了线程,以便进一步提高系统的并发性,并把它视作现代操作系统的一个重要标志。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。