2.1 进程与线程
操作系统越复杂,期望它能够为用户做的事情越多。虽然它主要关注用户程序的执行,但是也需要处理内核自身之外的各种系统任务。系统由进程集合组成:操作系统进程执行系统代码,用户进程执行用户代码。通过CPU在进程间多路复用,所有这些进程潜在地能够并行执行。通过在进程间转换CPU,操作系统可以使计算机获得更好的性能。
2.1.1 进程概念及特征
1.进程的概念
进程(Process)这个术语最早是1960 年在MIT 的MULTICS 和IBM 公司的TSS/360系统中提出来的,直到目前对进程的定义和名称还尚不统一,不同的系统采用不同的术语名称,如MIT称进程(Process),IBM公司称任务(Task),Univac 公司称活动(Active)。因此,进程的定义有很多种。
这里较能反映进程实质的定义如下。
进程是程序的一次执行。
进程是可以和别的计算机并发执行的计算。
进程可定义为一个数据结构,以及能在其上进行操作的一个程序。
进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
需要注意的是,虽然两个进程与同一个程序相关,但是它们被当作两个独立的执行序列,虽然文本段相同,但是数据段不同。总之,进程的概念可以这样理解,进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和保护的基本单位。
2.进程的特征
进程并发执行时,与顺序程序的特征完全不同,它破坏了顺序程序的封闭性和可再现性。表现在它具有以下特征。
动态性:进程是进程实体的执行过程。因此,动态性是进程最基本的特征。进程具有一定的生命周期,即进程由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡。
并发性:多进程同时存在于内存中,在一段时间内同时运行。
独立性:未建立进程的程序,都不能作为一个独立的单元运行。
异步性:进程按各自独立的、不可预知的速度向前推进,导致程序具有不可再现性。因此,在操作系统中,必须采取某种措施来保证各程序之间能协调运行。
结构特征:由程序(段)、数据(段)和进程控制块组成。
3.进程的组成及与程序之间的联系与区别
从进程的定义和结构来看,进程由程序、数据和进程控制块三部分组成。程序和数据是进程完成指定功能所必需的运行实体,而进程控制块是进程存在的唯一标识,是系统对进程进行管理和控制的实体。
进程是程序的一次执行过程,没有程序就没有进程。程序是完成某个特定功能的一系列程序语句的集合,只要不被破坏,它就永远存在。程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。
4.引入进程的利弊
引入进程是基于多道程序和分时系统的需要,因为只有为每道程序建立了进程,它们才能并发执行。通过进程的并发执行,来改善系统的资源利用率和提高系统的吞吐量。因此目前大多数系统几乎都引入了进程,但系统也为此付出了下述开销:
空间开销:系统必须为每个进程建立进程控制块(PCB),它通常要占用几十到几百个内存单元;此外,为了协调各进程的并发执行,系统还必须设置相应的进程管理机构,这也必然占用可观的内存空间;
时间开销:为了协调各进程的运行,也必须付出时间开销;例如,在进行进程切换时,系统必须保证存在运行进程的现场,为即将运行的线程设置新现场,这都需要花费CPU时间。
2.1 进程与线程
评论列表 人参与