进程状态转移

进程在其声明周期内,由于系统中各个进程之间的相互制约关系及系统的运行环境的变化,使得进程的状态也在不断发生变化,即一个进程会经历不同的状态

五种状态

1. 运行状态

进程在处理器上运行。在单处理器环境下,同一时刻只有一个进程在运行

2. 就绪状态

进程处于准备运行的状态。进程获得了除处理器之外的所有所需资源,只等分给时间片运行

3. 阻塞状态

进程等待某一事件而暂停运行。比如等待键盘输入。这个时候,即使处理器可用,进程也不能运行

4. 创建状态

进程正在被创建,还没有转为就绪状态。创建进程通常需要:申请一个空的PCB,并向PCB中填写控制信息和管理进程的信息;然后系统为该进程分配运行所需要的资源;最后把该进程转为就绪状态

5. 结束状态

进程从系统中消失。可能是进程正常结束或者其它原因中断退出

当进程需要结束运行时,系统首先设置该进程的结束状态,然后进行资源释放和回收

就绪和等待

就绪状态是进程仅仅缺少处理器,只要获得处理器时间分片就可以立即执行

等待状态是进程需要其它资源(处理处理器)或等待某一事件。

之所以把处理器和其它资源划分开,是因为在分时系统的时间片轮换机制中,每个进程分到的时间片是若干毫秒,进程得到的处理器时间很短而且很频繁,进程在运行过程中实际上是频繁的转换到就绪状态的。而其它资源(外设)或等待某一事件发生(I/O)对象的时间相对较长,进程转换到等待状态的次数也较少

转换图

1. 就绪 --> 运行

就绪状态的进程被调度后,获得处理器资源,开始运行

2. 运行 --> 就绪

运行中的进程时间片用完后让出处理器。在可剥夺操作系统中,当有更高优先级的进程处于就绪状态时,调度程序将正在运行的进程转为就绪状态,让更高优先级的进程执行

3. 运行 --> 阻塞

当进程请求某一资源或等待某一事件发生,它就从运行状态转为阻塞状态。进程以系统调用的形式请求操作系统提供服务,这是一种特殊的、由运行用户态程序调用操作系统内核过程的形式。

4. 阻塞 --> 就绪

当进程请求的资源可用(被其他进程释放)或者等待的事件到来时,中断处理程序将相应的进程由阻塞状态转换为就绪状态。

猜你喜欢

转载自www.cnblogs.com/zuofaqi/p/10287742.html