进程的基本状态及其转换
- 格式:doc
- 大小:36.00 KB
- 文档页数:1
2.2 进程的状态及转换进程是操作系统中的基本执行单元,它的状态及其转换对于系统的正常运行具有重要的意义。
在本文中,我们将讨论进程的状态及各种状态之间的转换,以便更好地理解进程的运行机制。
进程的状态一般分为五种:(1)创建态(new):当进程被创建但还未被执行时,它处于创建态。
此时,操作系统会为进程分配必要的资源,比如代码段、数据段、堆栈等,以便其能够执行。
(2)就绪态(ready):当进程已经准备好执行时,但由于当前处理机正忙于执行其他进程,导致该进程无法执行时,它处于就绪态。
此时进程已经将所有必要的资源准备好,只需要分配到CPU才能运行。
(3)运行态(running):当进程获得处理器时间并开始执行指令时,它处于运行态。
此时,进程会按照指令进行操作。
(4)阻塞态(blocked):当进程由于某些原因无法继续执行时,它进入阻塞态。
比如,进程需要等待某个资源(如读取磁盘数据),或者它正在等待输入输出操作的结果。
(5)终止态(terminated):当进程执行完毕或被强制终止时,它进入终止态。
此时,操作系统会释放进程所持有的资源,以便其他进程使用。
进程的状态之间可以相互转换。
在操作系统中,许多事件都可能导致进程状态的转换,比如中断请求、操作系统的调度、进程自身的请求等等。
下面我们来看几个具体的转换:(1)创建态-->就绪态:当操作系统为进程分配到必要的资源之后,进程会从创建态转换到就绪态。
此时进程已经准备好执行,只是没有获取到CPU的时间片。
(3)运行态-->就绪态:当进程执行完毕所有指令并主动释放CPU时间片时,它会从运行态转换到就绪态,等待下一次操作系统调度。
(4)运行态-->阻塞态:当进程需要等待某个事件发生时,它会从运行态转换到阻塞态。
比如,读取磁盘数据时就需要等待磁盘完成读取操作。
(5)阻塞态-->就绪态:当进程等待的事件已经发生或操作系统主动为其分配资源时,它会从阻塞态返回到就绪态,等待下一次操作系统调度。
进程的三个基本状态及其转换
摘要:
1.进程基本状态的定义
2.进程状态的转换
3.进程状态转换的实际应用
正文:
1.进程基本状态的定义
在计算机科学中,进程是指正在运行的程序的实例。
进程具有一定的基本状态,这些状态可以反映进程的运行情况。
进程的三个基本状态是:运行(Running)、就绪(Ready)和等待(Waiting)。
- 运行状态:进程正在执行,计算机资源被占用。
- 就绪状态:进程已经准备好执行,但计算机资源尚未分配。
- 等待状态:进程因为等待某项操作完成而暂停执行,如等待输入输出操作完成。
2.进程状态的转换
进程在运行过程中,会根据其所处的环境和操作完成情况,在三个基本状态之间进行转换。
以下是进程状态转换的一些常见情况:
- 就绪状态转运行状态:当进程分配到计算机资源时,它将从就绪状态转换为运行状态,开始执行。
- 运行状态转就绪状态:当进程执行完毕或者遇到等待操作时,它会从运行状态转换为就绪状态,等待下一次执行。
- 等待状态转就绪状态:当进程等待的操作完成时,它会从等待状态转换为就绪状态,等待执行。
- 运行状态转等待状态:当进程需要执行某项操作(如输入输出)时,它会从运行状态转换为等待状态,等待操作完成。
3.进程状态转换的实际应用
了解进程状态转换对于编写高效的程序具有重要意义。
例如,在编写操作系统的调度算法时,需要考虑进程状态转换的规律,以便合理分配计算机资源,提高系统性能。
此外,在编写并发程序时,了解进程状态转换也有助于避免死锁等错误,保证程序正确运行。
进程的基本状态及转换原因一、引言进程是计算机操作系统中的一个重要概念,指的是正在运行的程序实例。
进程的状态及其转换原因对于操作系统的设计和开发具有重要意义。
二、进程的基本状态1.创建状态创建状态指的是操作系统为一个新进程分配资源并初始化其数据结构的过程。
在这个过程中,操作系统会为新进程分配一些必要资源,如内存空间、文件描述符等,并将其标记为创建状态。
2.就绪状态就绪状态指的是进程已经准备好执行,但还没有被调度器选中执行的状态。
在这个阶段中,进程已经完成了所有必要准备工作,并等待CPU资源分配。
3.运行状态运行状态指的是进程正在执行代码并占用CPU资源的状态。
在这个阶段中,操作系统会将CPU资源分配给该进程,并按照其优先级和时间片等因素控制其执行时间。
4.阻塞状态阻塞状态指的是由于某些原因(如等待I/O操作完成或等待锁)导致进程无法继续执行而暂停运行的状态。
在这个阶段中,操作系统会将该进程从CPU资源列表中移除,并将其标记为阻塞状态。
5.终止状态终止状态指的是当一个进程完成了其任务或由于某些原因被强制终止而结束运行的状态。
在这个阶段中,操作系统会释放该进程所占用的资源,并将其从系统中删除。
三、进程状态的转换原因1.创建状态到就绪状态创建状态到就绪状态的转换是由于操作系统为新进程分配了必要资源并初始化其数据结构,使其准备好执行。
2.就绪状态到运行状态就绪状态到运行状态的转换是由于CPU资源被调度器分配给该进程,使其可以开始执行代码。
3.运行状态到阻塞状态运行状态到阻塞状态的转换是由于进程需要等待某些事件(如I/O操作)完成而无法继续执行。
4.阻塞状态到就绪状态阻塞状态到就绪状态的转换是由于进程等待的事件已经完成,可以重新开始执行。
5.运行态到终止态运行态到终止态的转换是由于进程已经完成了其任务或者被强制结束(如出现致命错误),需要从系统中删除并释放所占用的资源。
6.阻塞态到终止态阻塞态到终止态的转换是由于进程被强制结束或者等待时间过长而被操作系统强制杀死,需要从系统中删除并释放所占用的资源。
进程的状态转换
三态模型:在多道程序系统中,进程在处理器上交替运⾏,状态也不断地发⽣变化。
进程⼀般有3种基本状态:运⾏、就绪和阻塞。
(1)运⾏状态(ready):当⼀个进程在处理机上运⾏时,则称该进程处于运⾏状态。
处于此状态的进程的数⽬⼩于等于处理器的数⽬,对于单处理机系统,处于运⾏状态的进程只有⼀个。
在没有其他进程可以执⾏时(如所有进程都在阻塞状态),通常会⾃动执⾏系统的空闲进程。
(2)就绪状态(running):当⼀个进程获得了除处理机以外的⼀切所需资源,⼀旦得到处理机即可运⾏,则称此进程处于就绪状态。
就绪进程可以按多个优先级来划分队列。
例如,当⼀个进程由于时间⽚⽤完⽽进⼊就绪状态时,排⼊低优先级队列;当进程由I/O操作完成⽽进⼊就绪状态时,排⼊⾼优先级队列。
(3)阻塞/等待状态(wait):也称为等待或睡眠状态,⼀个进程正在等待某⼀事件发⽣(例如请求I/O⽽等待I/O完成等)⽽暂时停⽌运⾏,这时即使把处理机分配给进程也⽆法运⾏,故称该进程处于阻塞状态。
值得注意的是,处于运⾏状态的进程因请求某种服务⽽变为等待状态,但当该请求完成后,等待状态的进程并不能恢复到运⾏状态,它通常是先转变为就绪状态,再由调度程序来调度。
说明进程在三个基本状态之间转换的典型原因
进程是操作系统中非常重要的一部分,它把运行中的程序划分为多个基本任务单元,满足一定的调度算法来安排和分配程序占用系统资源的机会。
操作系统将进程分为三种基本状态,分别是运行态、就绪态和阻塞态。
这三种基本状态之间的转换是由一些原因导致的,下面我们就来详细的介绍一下它们的原因。
首先是进程从运行态转换到就绪态的原因。
常见的情况是,当一个程序需要读取设备上的内容时,它就会进入阻塞态,这是因为设备所需要的资源还没准备就绪,所以进程不得不进入就绪态,等待资源准备就绪之后再进入运行态。
其次是进程从就绪态转换到运行态的原因。
这是因为操作系统中的调度器根据一定的算法选择其中一个已经进入就绪态的程序,并分配给它一定的处理机,使之进入运行态,以满足更多的应用程序的需求。
最后是进程从运行态转换到阻塞态的原因。
这个原因很多,但是最常见的一种情况是,当进程需要从设备读取数据或者写入数据时,由于设备速度比处理机慢,所以它就会进入阻塞态,等待此次操作完成后再恢复运行。
综上所述,进程的三种基本状态之间的转换是由多种原因导致的,从运行态到就绪态的原因是因为资源未准备就绪,而从就绪态到运行态转换则是因为处理机分配给它,最后,从运行态到阻塞态的原因则是处理机操作设备速度慢。
进程的三个基本状态及其转换
进程的三个基本状态是运行态、阻塞态和就绪态。
这些状态之间的转换有以下几种情况:
1. 就绪态转为运行态:当一个进程被调度器选中,分配到CPU进行执行时,就会从就绪态转为运行态。
2. 运行态转为就绪态:当一个进程在运行时被抢占,或者执行完毕后释放CPU,进入等待调度的状态时,就会从运行态转为就绪态。
3. 运行态转为阻塞态:当一个进程在执行过程中发生某些不可避免的等待事件(如等待用户输入、等待IO操作完成)时,就会从运行态转为阻塞态。
4. 阻塞态转为就绪态:当一个进程等待事件结束后,切换到就绪状态,等待被调度执行时,就会从阻塞态转为就绪态。
5. 阻塞态转为终止态:当一个进程的等待事件永远结束(如等待关闭的设备),或者因为某些异常事件(如访问非法内存)而引发错误,无法继续执行时,就会从阻塞态转为终止态。
以上是进程的基本状态及其转换,不同的操作系统可能会有些差异,但一般都会包括这些状态和转换。
3.2.4 被挂起的进程交换的需要前面描述的三个基本状态(就绪态、运行态和阻塞态)提供了一种为进程行为建立模型的系统方法,并指导操作系统的实现。
许多实际的操作系统都是按照这样的三种状态进行具体构造的。
但是,可以证明往模型中增加其他状态也是合理的。
为了说明加入新状态的好处,考虑一个没有使用虚拟内存的系统,每个被执行的进程必须完全载入内存,因此,图3.8b 中,所有队列中的所有进程必须驻留在内存中。
所有这些设计机制的原因都是由于I/O 活动比计算速度慢很多,因此在单道程序系统中的处理器在大多数时候是空闲的。
但是图3.8b 的方案并没有完全解决这个问题。
在这种情况下,内存保存有多个进程,当一个进程正在等待时,处理器可以转移到另一个进程,但是处理器比I/O 要快得多,以至于内存中所有的进程都在等待I/O 的情况很常见。
因此,即使是多道程序设计,大多数时候处理器仍然可能处于空闲状态。
一种解决方法是内存可以被扩充以适应更多的进程,但是这种方法有两个缺陷。
首先是内存的价格问题,当内存大小增加到兆位及千兆位时,价格也会随之增加;再者,程序对内存空间需求的增长速度比内存价格下降的速度快。
因此,更大的内存往往导致更大的进程,而不是更多的进程。
另一种解决方案是交换,包括把内存中某个进程的一部分或全部移到磁盘中。
当内存中没有处于就绪状态的进程时,操作系统就把被阻塞的进程换出到磁盘中的“挂起队列”(suspendqueue),这是暂时保存从内存中被“驱逐”出的进程队列,或者说是被挂起的进程队列。
操作系统在此之后取出挂起队列中的另一个进程,或者接受一个新进程的请求,将其纳入内存运行。
“交换”(swapping)是一个I/O 操作,因而也可能使问题更加恶化。
但是由于磁盘I/O 一般是系统中最快的I/O(相对于磁带或打印机I/O),所以交换通常会提高性能。
为使用前面描述的交换,在我们的进程行为模型(见图3.9a)中必须增加另一个状态:挂起态。
3、进程状态的切换图三态模型⼀个进程从创建⽽产⽣⾄撤销⽽消亡的整个⽣命周期,可以⽤⼀组状态加以刻划,根据三态模型,进程的⽣命周期可分为如下三种进程状态:1. 运⾏态(running):占有处理器正在运⾏2. 就绪态(ready):具备运⾏条件,等待系统分配处理器以便运⾏3. 等待态(blocked):不具备运⾏条件,正在等待某个事件的完成下⾯是三个状态的转换图:运⾏状态的进程将由于出现等待事件⽽进⼊等待状态,当等待事件结束之后等待状态的进程将进⼊就绪状态,⽽处理器的调度策略⼜会引起运⾏状态和就绪状态之间的切换。
引起进程状态转换的具体原因如下:运⾏态—→等待态:等待使⽤资源;如等待外设传输;等待⼈⼯⼲预。
等待态—→就绪态:资源得到满⾜;如外设传输结束;⼈⼯⼲预完成。
运⾏态—→就绪态:运⾏时间⽚到;出现有更⾼优先权进程。
就绪态—→运⾏态:CPU 空闲时选择⼀个就绪进程。
五态模型在⼀个实际的系统⾥进程的状态及其转换⽐上节叙述的会复杂⼀些,例如引⼊专门的新建态(new)和终⽌态(exit )状态转换图如下所⽰:新建态对应于进程刚刚被创建的状态。
创建⼀个进程要通过两个步骤,1. 为⼀个新进程创建必要的管理信息,2. 让该进程进⼊就绪态。
此时进程将处于新建态,它并没有被提交执⾏,⽽是在等待操作系统完成创建进程的必要操作。
需要注意的是,操作系统有时将根据系统性能或主存容量的限制推迟新建态进程的提交类似地,进程的终⽌也要通过两个步骤,⾸先,是等待操作系统进⾏善后,然后,退出主存。
当⼀个进程到达了⾃然结束点,或是出现了⽆法克服的错误,或是被操作系统所终结,或是被其他有终⽌权的进程所终结,它将进⼊终⽌态。
进⼊终⽌态的进程以后不再执⾏,但依然临时保留在操作系统中等待善后。
⼀旦其他进程完成了对终⽌态进程的信息抽取之后,操作系统将删除该进程。
引起进程状态转换的具体原因如下:NULL—→新建态:执⾏⼀个程序,创建⼀个⼦进程。
进程在三个基本状态之间转换的典型原因“进程”指的是计算机系统下属的程序,它是每一次计算机系统使用的软件单位。
它可以被定义为一组指令和数据组成的一个个单元,用于描述计算机上某一特定任务的运行情况,每一个进程都可以处于三种基本状态,分别为就绪状态、运行状态、阻塞状态。
当一个进程处于就绪状态时,这意味着它已经正式申请被系统调度,等待处理器的分派。
这一状态的变换是很常见的,一般我们常说的服务器或多线程程序,它们就是不断从就绪状态转换到运行状态的过程。
就绪状态的典型原因有多种,一般来说,它可以是因为已经由另一进程产生,也可以是外部输入设备,如键盘或鼠标,或者内部时钟中断,也可以是由操作系统调度程序产生的。
处于运行状态的进程表明它已经被分派了处理器,正在按照其申请资源的配置执行它的任务,这时处理器是由这个进程所有,它将从特定阶段到阶段执行,完成整个任务的过程;当处理器执行完毕后,它将变回到就绪状态。
运行状态的变换的典型原因可以是处理器出现超时,也可以是内存容量不足,或者文件冲突问题,再或者可能是由于进程处理数据的耗时非常长,超出了调度程序设定的时间等等原因。
阻塞状态下的进程表示,当它申请被系统调度时,它等待某些外部条件达到要求之后才能处理,比如说读取某些文件,或者等待某个网络消息到达,或者等待某个进程或设备完成任务等,这些外部条件的不满足会导致进程无法完成,而处于一种等待状态,等待它被唤醒后再次继续执行。
因此,阻塞状态也是进程变换常见的原因之一,一般是因为进程申请的资源不能立刻提供,需要等待其他进程释放资源,或者外部条件达到要求了才能再次运行。
计算机系统中的进程可以处于三种基本状态之间的转换。
从就绪状态转换到运行状态的常见原因是由另一个进程或外部输入设备产生的,处于运行状态的进程可以因为处理器出现超时,或者内存容量不足,或者文件冲突问题等原因,而变换到就绪状态;从运行状态转换到阻塞状态的典型原因有多种,比如等待输入设备输入信号,等待另一个进程完成任务,等待某个资源被释放等,这些变换将会影响程序的运行效率,所以理解其原因对于程序的优化与调度有着重要的意义。
进程的三种基本状态转换关系一、引言进程是计算机系统中的基本执行单位,它是程序在计算机上的一次执行过程。
进程的状态转换关系描述了进程在不同状态之间的转换过程。
本文将介绍进程的三种基本状态转换关系,包括进程的创建与终止、进程的阻塞与唤醒、进程的就绪与运行。
二、进程的创建与终止进程的创建是指操作系统根据用户请求或系统自身的需要,动态生成新的进程的过程。
进程的终止是指进程执行完毕或被强制终止时,进程结束其执行过程的过程。
1. 进程的创建进程的创建通常是由操作系统调用一个特定的系统调用函数来完成的。
当用户请求创建新的进程时,操作系统会为新的进程分配必要的资源,包括内存空间、文件描述符等。
然后,操作系统会将新的进程加入就绪队列,等待调度执行。
2. 进程的终止进程的终止可以是正常结束或异常结束。
当进程执行完毕时,它会释放占用的资源,并通知操作系统将其从进程表中删除。
而当进程遇到错误或异常情况时,可能会被操作系统强制终止,同时释放其占用的资源。
三、进程的阻塞与唤醒进程的阻塞是指进程由运行状态转换为阻塞状态的过程,而进程的唤醒则是指进程由阻塞状态转换为就绪状态的过程。
1. 进程的阻塞进程的阻塞通常是由于等待某个事件的发生而导致的。
当进程执行到需要等待某个事件的地方时,它会主动将自己的状态设置为阻塞,并将自己从就绪队列中移除。
此时,操作系统会将进程的控制权交给其他就绪状态的进程。
2. 进程的唤醒当进程等待的事件发生时,操作系统会将其状态设置为就绪,并将其重新加入就绪队列中,等待调度执行。
进程的唤醒通常是由操作系统或其他进程发出的信号触发的,比如资源可用或时间片到期等。
四、进程的就绪与运行进程的就绪是指进程从创建状态转换为就绪状态的过程,而进程的运行则是指进程从就绪状态转换为运行状态的过程。
1. 进程的就绪当进程被创建后,操作系统会将其加入就绪队列中,等待调度执行。
进程的就绪状态意味着它已经准备好了所有执行所需的资源,只等待操作系统为其分配CPU时间片。
简述进程的状态及其转换。
进程是操作系统中各种任务的基本单位,它是指用于某种计算机任务的一系列相关的活动,并且具有各自的资源和地址空间。
正常情况下,进程运行时会发生状态的改变,其有如下几种状态:1.绪状态:就绪状态的进程正在等待CPU的使用权,处于就绪状态的进程可以随时获得CPU的使用权,进行执行。
2.行状态:执行状态的进程正在执行中,就拥有了cpu的使用权,可以执行指令和数据处理。
3.待状态:等待状态的进程正在等待外部事件发生,如io操作、程序间的数据通信、消息传递等。
4.塞状态:阻塞状态的进程正在等待一些依赖关系满足,如等待其他进程执行完毕,提供资源给自己,比如,两个进程互相等待,其中一个会处于阻塞状态。
5.起状态:挂起状态的进程正在等待操作系统的执行,比如,它可能需要一段时间,才能改变状态,而不是一下子就发生状态改变。
进程的状态改变是由一系列事件触发的,而这种状态改变的触发的事件有以下几种:1.程运行:进程运行时,若没有阻塞等待的IO操作时,其状态从就绪状态变为执行状态,一旦执行完毕,进程状态就会由执行状态变为就绪状态。
2.待IO操作:当进程执行到IO操作时,如果IO操作未完成,进程状态由就绪状态变为等待状态,等待IO操作完成,才会变为就绪状态。
3.源申请:当进程申请资源时,如果资源无法提供,进程的状态会由就绪状态变为阻塞状态,直到资源可用时,才会变为就绪状态。
4.程调度:当进程调度由操作系统完成时,若该进程被抢占CPU 执行权,进程状态会由就绪状态变为挂起状态,直到此进程再次获得CPU执行权时,才会变为就绪状态。
以上就是进程状态及其转换的简单介绍,进程状态的改变可由多种事件触发,不同事件会改变不同状态,而每种状态之间的转换也是有规律的,此种规律的存在,就是进程状态的转换。
总而言之,进程的状态及其转换是操作系统中一个重要概念,它不但可以帮助我们理解系统的运行机制,也可以帮助我们解决问题。
同时,也是操作系统性能优化的重要因素,因此,要正确掌握进程状态及其转换,提高操作系统性能,是非常必要的。
操作系统进程的基本状态及转换
⼀般⽽⾔,每⼀个进程⾄少应该处于以下三种状态之⼀:
(1)就绪状态(Ready)。
这是指进程已处于准备好运⾏的状态,即进程已分配到除cpu以外的所有必要资源后,只要获得cpu,便可⽴即执⾏。
如果系统中有许多处于就绪状态的进程,通常将它们按⼀定的策略(如优先级策略)排成⼀个队列,称该队列为就绪队列。
(2)执⾏状态(Running)。
这是指进程已获得cpu,其程序正在执⾏的状态。
对任何⼀个时刻⽽⾔,在单处理机系统中,只有⼀个进程处于执⾏状态,⽽在多处理机系统中,则有多个进程处于执⾏状态。
(3)阻塞状态(BLOCK)。
这是指正在执⾏的进程由于发⽣某事件(如I/O请求、申请缓冲区失败等)暂时⽆法继续执⾏时的状态,亦即进程的执⾏受到阻塞。
此时引起进程调
度,OS把处理机分配给另⼀个就绪进程,⽽让受阻进程处于暂停状态,⼀般把这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态。
通常系统将处于阻塞状态的进程也排成⼀个队列,称该队列为阻塞队列。
实际上,在较⼤的系统中,为了减少队列操作的开销,提⾼系统效率,根据阻塞原因的不同,会设置多个阻塞队列。
如下,为进程的三种状态的转换
1.处于就绪状态的进程,在调度程序为之分配了处理机之后便可执⾏,相应地,其状态就由就绪态变为运⾏态;
2.正在执⾏的进程(当前进程)如果因为分配给它的时间⽚已完⽽被剥夺处理机暂停执⾏时,其状态就由执⾏态转为就绪;
3.如果因为某事件,致使当前进程的执⾏受阻(例如进程访问某临界资源,⽽该资源正被其他进程访问时),使之⽆法继续执⾏,则该进程状态由执⾏转为阻塞。
进程的基本状态及转换原因1. 任务名称解析任务名称为”进程的基本状态及转换原因”,从中可以得知该任务要求我们详细介绍进程的基本状态以及导致进程状态转换的原因。
2. 进程的基本状态在操作系统中,进程被定义为正在执行的程序实例。
进程可以处于以下几种基本状态:2.1 创建(Creation)状态当一个程序被启动时,一个新的进程就会被创建。
此时操作系统会为该进程分配必要的资源,并将其标记为创建态。
在这个阶段,操作系统会为进程分配唯一标识符(PID)和内存空间等资源。
2.2 就绪(Ready)状态一旦进程被创建并获得了所需的资源,它就会处于就绪态。
在就绪态下,进程已经准备好运行,但由于操作系统采用时间片轮转调度算法等方式进行多任务处理,所以可能还没有获得CPU时间片来执行。
2.3 运行(Running)状态当一个进程获得了CPU时间片并开始执行时,它就处于运行态。
在这个阶段,进程会按照程序指令进行计算、处理数据等操作。
2.4 阻塞(Blocked)状态在进程执行过程中,可能会发生一些需要等待的事件,比如等待用户输入、等待某个资源的释放等。
当进程遇到这些事件时,它就会从运行态转换为阻塞态,并将CPU让给其他进程。
一旦所需的事件发生并得到满足,进程就可以从阻塞态转换回就绪态。
2.5 结束(Terminated)状态当一个进程完成了它的任务或被强制终止时,它就会进入结束态。
在结束态下,操作系统会回收该进程所占用的资源,并将其标记为已结束。
3. 进程状态转换原因进程在不同状态之间进行转换是由于以下几种原因:3.1 创建状态到就绪状态的转换原因当一个程序被启动时,操作系统会为该程序创建一个新的进程,并为其分配必要的资源。
一旦资源准备完毕,该进程就可以开始执行,并处于就绪状态等待CPU时间片。
3.2 就绪状态到运行状态的转换原因当一个进程处于就绪状态时,如果操作系统选择了它来执行,并为其分配了CPU时间片,该进程就会从就绪态转换为运行态。
进程的基本状态及其转换
1.进程基本状态:
1) 运行态(Running):进程正在占用CPU;
2) 就绪态(Ready):进程具备运行条件,但尚未占用CPU;
3) 阻塞态(Blocked):又称等待态,进程由于等待某一事件不能运行时处于阻塞态。
处于阻塞态的进程在逻辑上是不能运行的,即使CPU空闲,它也不能占用CPU。
2.进程状态的转换
处于就绪状态的进程,在进程调度程序为之分配了处理机之后,便由就绪状态转变为执行状态。
正在执行的进程也称为当前进程。
如果因时间片已完而被暂停执行时,该进程将由执行状态转变为就绪状态;如果因发生某事件而使进程的执行受阻(例如,进程请求访问某临界资源,而该资源正被其他进程访问),使之无法继续执行,该进程将由执行状态转变为阻塞状态。
图2-1给出了进程的三种基本状态及各状态之间的转变。
图2-1 进程的三种基本状态及其转换
需要说明的是,处于执行状态的进程因等待某事件而变为阻塞状态时,当等待的事件发生之后,被阻塞的进程并不恢复到执行状态,而是先转变到就绪状态,再由调度程序重新调度执行。
原因很简单,当该进程被阻塞后,进程调度程序会立即把处理机分配给另一个处于就绪状态的进程。
Created by cherish58,2010。