进程的状态与转换

进程在其生命周期内通常进程有以下三种状态:

1) 运行状态:进程正在处理机上运行。在单处理机环境下,每一时刻最多只有一个进程处于运行状态。

2) 就绪状态:进程已处于准备运行的状态,即进程获得了除处理机之外的一切所需资源,一旦得到处理机即可运行。

3) 阻塞状态,又称等待状态:进程正在等待某一事件而暂停运行,如等待某资源为可用(不包括处理机)或等待输入/输出完成。即使处理机空闲,该进程也不能运行。

注意区别就绪状态和等待状态:就绪状态是指进程仅缺少处理机,只要获得处理机资源就立即执行;而等待状态是指进程需要其他资源(除了处理机)或等待某一事件。之所以把处理机和其他资源划分开,是因为在分时系统的时间片轮转机制中,每个进程分到的时间片是若干毫秒。也就是说,进程得到处理机的时间很短且非常频繁,进程在运行过程中实际上是频繁地转换到就绪状态的;而其他资源(如外设)的使用和分配或者某一事件的发生(如I/O操作的完成)对应的时间相对来说很长,进程转换到等待状态的次数也相对较少。这样来看,就绪状态和等待状态是进程生命周期中两个完全不同的状态,需要加以区分。

就绪状态 -> 运行状态:处于就绪状态的进程被调度后,获得处理机资源(分派处理机时间片),于是进程由就绪状态转换为运行状态。

运行状态 -> 就绪状态:处于运行状态的进程在时间片用完后,不得不让出处理机,从而进程由运行状态转换为就绪状态。此外,在可剥夺的操作系统中,当有更高优先级的进程就绪时,调度程度将正执行的进程转换为就绪状态,让更高优先级的进程执行。

运行状态 -> 阻塞状态:当进程请求某一资源(如外设)的使用和分配或等待某一事件的发生(如I/O操作的完成)时,它就从运行状态转换为阻塞状态。进程以系统调用的形式请求操作系统提供服务,这是一种特殊的、由运行用户态程序调用操作系统内核过程的形式。

阻塞状态 -> 就绪状态:当进程等待的事件到来时,如I/O操作结束或中断结束时,中断处理程序必须把相应进程的状态由阻塞状态转换为就绪状态。

时间: 2024-10-09 23:32:51

进程的状态与转换的相关文章

操作系统——进程的状态及转换

1.    为什么要分开就绪和阻塞状态 答:因为就绪态只需要等待处理机,而阻塞态可能在等待输入输出,即使分配给处理机也是徒劳,所以两状态图不妥.对于调度进程,只需要等待就绪队列里的进程,因为阻塞状态可以转换到就绪队列里去. 2.    进程五状态 1)       新状态:进程已经创建,但未被OS接纳为可执行进程.(还没有申请到相应的资源). 2)       就绪态:进程做好了准备,准备执行(只等待处理机). 3)       执行状态:该进程正在执行(单处理机,某一时刻仅一个进程占用处理机)

进程的状态

三态模型:在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化.进程一般有3种基本状态:运行.就绪和阻塞. (1)运行:当一个进程在处理机上运行时,则称该进程处于运行状态.处于此状态的进程的数目小于等于处理器的数目,对于单处理机系统,处于运行状态的进程只有一个. 在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的空闲进程. (2)就绪:当一个进程获得了除处理机以外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态.就绪进程可以按多个优先级来划分队列.

(转)进程的状态

转自:http://blog.sina.com.cn/s/blog_7c03bb1f0100wcco.html 三态模型:在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化.进程一般有3种基本状态:运行.就绪和阻塞. (1)运行:当一个进程在处理机上运行时,则称该进程处于运行状态.处于此状态的进程的数目小于等于处理器的数目,对于单处理机系统,处于运行状态的进程只有一个.在没有其他进程可以执行时(如所有进程都在阻塞状态),通常会自动执行系统的空闲进程. (2)就绪:当一个进程获得了除处

[转] 进程的状态

为了对进程从产生到消亡的整个过程进行跟踪和描述,就需要定义各种进程的各种状态并制定相应的状态转换策略,以此来控制进程的运行. 不同的操作系统对进程的状态解释不同,但是最基本的状态都是一样的.包括一下三种: 运行态:进程占用CPU,并在CPU上运行: 就绪态:进程已经具备运行条件,但是CPU还没有分配过来: 阻塞态:进程因等待某件事发生而暂时不能运行: 下面是3种状态转换图: 当然理论上上述三种状态之间转换分为六种情况: 运行--->就绪:这是有调度引起的,主要是进程占用CPU的时间过长 就绪--

HttpSession状态的转换

HttpSession状态的转换: [新建状态] ↓ ↓ 钝化(搁置) 第一次调用 ↓ 对用户来说是透明的 request.getSession() ↓ 1.当前管理的HttpSession对象太多 ↓ 2.某些HttpSession对象长时间没有用了 ↓ 3.服务器或应用重启或重新加载了 / 持久化生成的文件: ↓ / SESSIONS.ser [运行状态] ―――――――――――――――――――――――――――――――――> [持久化状态] ↓ <―――――――――――――――――――――

Java线程:线程状态的转换

Java线程:线程状态的转换 一.线程状态 线程的状态转换是线程控制的基础.线程状态总的可分为五大状态:分别是生.死.可运行.运行.等待/阻塞.用一个图来描述如下: 1.新状态:线程对象已经创建,还没有在其上调用start()方法. 2.可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态.当start()方法调用时,线程首先进入可运行状态.在线程运行之后或者从阻塞.等待或睡眠状态回来后,也返回到可运行状态. 3.运行状态:线程调度程序从可运行池中选择一个线程作为当前

进程(三)—— 进程的状态

进程的状态 概要 进程创建 进程执行 进程等待 进程抢占 进程唤醒(就绪) 进程结束 进程创建 引起进程创建的情况 系统初始化时 用户请求创建一个新进程 正在运行的进程 执行了创建进程的系统调用 进程执行 内核选择一个就绪的进程,让它占用处理机并执行 如何执行?==> CPU调度再讲 ! 进程等待 进程进入等待(阻塞)的情况: 请求并等待系统服务,无法马上完成 启动某种操作,无法马上完成 需要的数据 没有到达 只有进程自身才能知道 何时需要 等待某种事件的 发生 进程抢占 进程会被抢占的情况 高

进程的状态和切换(学习笔记)

时间:2014.05.28 地点:基地 ------------------------------------------------------------------------------- 一.进程的三种基本状态 进程的三种基本状态包括:就绪状态,执行状态,阻塞状态 1.就绪状态 当进程分配得到除CPU之外的所有必要资源后,只要再获得CPU就可以立即执行了,万事俱备只欠东风而已.该状态即就绪状态,一个系统中处于就绪状态的进程可能有很多,将他们排成一个队列,形成一个就绪队列. 2.执行状

Java线程状态的转换

Java线程:线程状态的转换 一.线程状态 1.新状态:线程对象已经创建,还没有在其上调用start()方法. 2.可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态.当start()方法调用时,线程首先进入可运行状态.在线程运行之后或者从阻塞.等待或睡眠状态回来后,也返回到可运行状态. 3.运行状态:线程调度程序从可运行池中选择一个线程作为当前线程时线程所处的状态.这也是线程进入运行状态的唯一一种方式. 4.等待/阻塞/睡眠状态:这是线程有资格运行时它所处的状态.