进程管理二(进程状态及其转换)

1.进程的三种基本状态。

进程执行时的间断性决定了进程在创建后到执行完这个生命周期中具有多种状态。运行中的进程具有以下三种基本状态。

就绪状态。当进程已分配到出CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程这时的状态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。

执行状态。进程已经获得CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态;在多处理机系统中,则有多个进程处于执行状态。

阻塞状态。正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理器而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态,也称为等待状态。致使进程阻塞的典型事件有请求I/O,申请缓冲空间等,通常将这种处于阻塞状态的进程也排成一个队列。有的系统也则根据阻塞原因的不同而把处于阻塞状态的进程排成多个队列。

处于就绪状态的进程,在调度程序为之分配了处理机之后,该进程便可执行,相应地,进程就由就绪状态转变为执行状态。正在执行的进程也称为当前进程,如果因分配给它的时间片已用完而被暂停执行时,该进程便由执行状态又恢复就绪状态;如果因发生某事件而使进程的执行受阻,使之无法继续执行,该进程将由执行状态转变为阻塞状态。

 

2.挂起状态。

不少操作系统中进程只有以上三种状态,但在另一些系统中,又增加了一些新状态,最重要的是挂起状态。引入挂起状态的原因有:

(1)中断用户的请求。当中断用户在自己的程序运行期间发现有可疑问题时,希望暂时使自己的程序静止下来。即,使正在执行的进程暂停执行;若此时用户进程正处于就绪状态而未执行,则该进程暂不接受调度,以便用户研究其执行情况或对程序进行修改。我们把这种静止状态成为挂起状态。

(2)父进程请求。有时父进程希望挂起自己的某个子进程,以便考察和修改该子进程,或者协调各子进程间的活动。

(3)负荷调节的需要。当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以保证系统能正常运行。

(4)操作系统的需要。操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账。

在引入挂起状态后,又将增加从挂起状态(静止状态)到非挂起状态(活动状态)的双向转换,也就增加了系统复杂度和开销。

(1)活动就绪--->静止就绪。当进程处于未被挂起的就绪状态时,称此为活动就绪状态。当用挂起原语将该进程挂起后,该进程便转变为静止就绪状态,处于就绪状态的进程不再被调度执行。

(2)活动阻塞--->静止阻塞。当进程处于未被挂起的阻塞状态时,称它是处于活动阻塞状态。当用挂起原语将它挂起后,进程便转变为静止阻塞状态。处于该状态的进程在其所期待的事件出现后,将从静止阻塞变为静止就绪。

(3)静止就绪--->活动就绪。处于静止阻塞状态的进程,若用激活原语激活后,该进程将转变为活动就绪状态。

(4)静止阻塞--->活动阻塞。处于静止阻塞状态的进程,若用激活原语激活后,该进程将转变为活动阻塞状态。

 

3.创建状态和终止状态。

为了管理的需要,还存在两种比较常见的进程状态,即创建状态和终止状态。

(1)创建状态。创建一个进程一般要通过两个步骤。首先,为一个新进程创建PCB,填写必要的管理信息;其次,把该进程转入就绪状态并插入就绪队列之中。当一个新进程被创建时,系统已为其分配了PCB,填写了进程标识等信息,但由于该进程所必需的资源或其他信息,如主存资源尚未分配等。此时的进程已拥有了自己的PCB,但进程自身还未进入主存,级创建工作尚未完成,进程还不能被调度执行,其所处的状态就是创建状态或初始状态。

引入创建状态是为了保证进程的调度必须在创建工作完成后进行,以确保对进程控制块操作的完整性。同时,创建状态的引入,也增加了管理的灵活性,操作系统可以根据系统性能或主存容量的限制,推迟创建状态进程的提交。对于处于创建状态的进程,获得了其所必需的资源,以及对其PCB初始化工作完成后,进程状态便可由创建状态转入就绪状态。

(2)终止状态。进程的终止也要通过两个步骤。首先等待操作系统进行善后处理,然后将其PCB清零,并将PCB空间返还系统。当一个进程到达了自然结束点,或是出现了无法客服的错误,或是被操作系统所终结,或是被其他有终止权的进程所终结,它都将进入终止状态。进入终止状态的进程不能再执行,但在操作系统中仍然保留一个记录,保存了状态码和一些计时统计数据,供其他进程收集。一旦其他进程完成了对终止状态进程的信息提取之后,操作系统将删除该进程。

 

4.进程的五种状态及其切换。

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值