2.2.1进程的定义和特征
1、进程的定义
(1) 进程是程序的一次执行。
(2) 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
(3) 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
(4)在引入了进程实体的概念后,我们可以把传统OS中的进程定义为:“进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。”
2、进程的特征
(1)动态性。进程的实质是进程实体的执行过程,因此,动态性就是进程的最基本的特征。动态性还表现在:“它由创建而产生,由调度而执行,由撤消而消亡。”可见,进程实体有一定的生命期,而程序则只是一组有序指令的集合,并存放于某种介质上,其本
身并不具有活动的含义,因而是静态的。
(2) 并发性。是指多个进程实体同存于内存中,且能在一段时间内同时运行。引入进程的目的也正是为了使其进程实体能和其它进程实体并发执行。因此,并发性是进程的另一重要特征,同时也成为OS的重要特征。而程序(没有建立PCB)是不能参与并发执行的。
(3) 独立性。在传统的OS中,独立性是指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。凡未建立PCB的程序都不能作为一个独立的单位参与运行。
(4) 异步性,是指进程是按异步方式运行的,即按各自独立的、不可预知的速度向前推进。正是源于此因,才导致了传统意义上的程序若参与并发执行,会产生其结果的不可再现性。为使进程在并发运行时虽具有异步性,但仍能保证进程并发执行的结果是可再现的,在OS中引进了进程的概念,并且配置相应的进程同步机制。
3、进程与程序的区别
2.2.2进程的基本状态及装换
1、进程的三种基本状态
(1)就绪状态
进程已获得除CPU以外的所有必要资源,只要得到CPU,便可立刻执行
(2)执行状态
进程已获得CPU,正在其上执行。
(3)阻塞(等待)状态
正在执行的进程,由于发生某个事件(如I/O请求)而暂时无法执行时,便放弃CPU而进入阻塞状态
2、进程三种基本状态的转换
●1不会立即引起其他转换
●2必然引发1
换1 :状态转换2发生后,进程调度程序必然要选出一个新的就绪进程投入运行,该新进程可能是其他进程,也可能是刚从执行状态转换成就绪状态的那个进程。
●3可能引发1
状态转换3发生后,若就绪队列空,则不会引发其他任何转换;否则,进程调度程序必然要选出一个就绪进程投入运行。
●4可能引发1或同时引发1和2
➢状态转换4可能引发状态转换1 :状态转换4发生后,若当时无其他进程处于就绪状态和执行状态,则该进程被调度。
➢状态转换4还可能同时引发状态转换1和2 ;若系统采用抢占调度方式,而新就绪的进程具备抢占CPU的条件(如起其优先权很高) , 则它可立即得到CPU ,转换成执行状态,而原来正在执行的进程则转换成就绪状态。
3、创建状态和终止状态
2.2.3挂起操作和进程状态的装换
‘ 挂起”的实质:使进程不能继续执行,即使挂起后的进程处于就绪状态,也不能参与对CPU的竞争
被挂起的进程处于静止状态,相反没被挂起的进程处于活动状态。处于静止状态的进程只有通过“激活”动作,才能转换成活动状态。
1、挂起操作的引入
●终端用户的请求。
●父进程请求。
●负荷调节的需要。
●操作系统的需要。