进程的三状态及转换

第一部分:

1.进程的三种基本状态

进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态。

(1)就绪(Ready)状态

当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。

(2)执行(Running)状态当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。

(3)阻塞(Blocked)状态正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。

2.进程三种状态间的转换

进程状态变迁图

一个进程在运行期间,不断地从一种状态转换到另一种状态,它可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态。图3_4描述了进程的三种基本状态及其转换。

(1) 就绪→执行处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态转变成执行状态。

(2) 执行→就绪处于执行状态的进程在其执行过程中,因分配给它的一个时间片已用完而不得不让出处理机,于是进程从执行状态转变成就绪状态。

(3) 执行→阻塞正在执行的进程因等待某种事件发生而无法继续执行时,便从执行状态变成阻塞状态。

(4) 阻塞→就绪处于阻塞状态的进程,若其等待的事件已经发生,于是进程由阻塞状态转变为就绪状态。

第二部分:

1.进程的基本状态

(1)执行状态(Running):进程占用处理机,进程的程序正在执行。单处理机系统中只能有一个进程处于执行状态,多处理机系统中可能有多个进程处于执行状态。

(2)阻塞状态(Blocked):也叫等待或睡眠状态,是进程由于等待某种事件的发生而处于暂停执行的状态。如进程因等待I/O的完成、等待缓冲空间等。

(3)就绪状态(Ready):进程已分配到处理机以外的所有必要资源,具备了执行的所有条件。可能会有多个进程处于就绪状态,排成就绪队列。

2.新状态和终止状态

(1) 新状态:进程刚刚建立,还没有送入就绪队列的状态。

(2) 终止状态:一个进程已正常结束或非正常结束,OS已将它从就绪队列中移出,还未将它撤销时的状态。

3. 进程状态的转换

进程在执行期间可以多次处于就绪状态和执行状态,也可多次处于阻塞状态,但处于新状态只有一次。

(1)新状态->就绪状态:当就绪队列允许接纳新进程时,系统便把处于新状态的进程移入就绪队列。

(2)就绪态->执行状态:进程调度程序为处于就绪状态的进程分配处理机后,该进程进入执行状态。

(3)执行态->阻塞状态:正在执行的进程因需要等待某事件而无法执行。

(4)阻塞状态->就绪态:进程所等待的事件发生了,进程就从阻塞状态进入就绪状态。

(5)执行态->就绪状态:正在执行的进程因时间片用完而被暂停执行;或者在可抢占调度方式中,一个优先权高的进程到来后,正在执行的低优先权的进程被强制撤下处理机,转换为就绪状态。

(6)执行态->终止状态:一个进程已完成或发生某种特殊事件,进程将变为终止状态。

(0)

相关推荐

  • NAT64如何与DNS64搭配完成状态地址转换

    本博文将详细为您介绍NAT64如何与DNS64搭配完成状态地址转换,以及使用时需要注意的一些事项。 在IPv6演进过程中,网络侧的IPv6 Ready程度较高,但是业务侧IPv6化还不乐观,因此解决I ...

  • Excel多功能文本函数TEXT三种日期转换格式

    今天要和大家分享的是:Excel多功能文本函数TEXT三种日期转换格式详见下图动态演示和步骤分解. 操作方法 01 Excel多功能文本函数TEXT教你第一种日期格式转换,如下图所示: 02 Exce ...

  • 有状态stateful与无状态stateless地址转换

    NAT64属于有状态的地址转换技术,IVI属于无状态的地址转换技术,本博文简单总结下有状态(stateful)和无状态(stateless)地址转换的特点。 有状态地址转换的特点:(以NAT64技术中 ...

  • Linux进程和线程的基础与管理

    一.进程的基本概念 程序是为了完成某种任务而设计的软件,比如vi是程序。什么是进程呢? 进程就是运行中的程序。一个运行着程序,可能有多个进程。比如Web服务器是Apache服务器,当管理员启动服务后, ...

  • 进程的内核栈是什么?浅谈Linux的进程内核栈

    在重游<LDD3>的时候,又发现了一个当年被我忽略的一句话: “内核具有非常小的栈,它可能只和一个4096字节大小的页那样小” 针对这句话,我简单地学习了一下进程的“内核栈” 什么是进程的 ...

  • 简要剖析Linux系统的进程管理机制

    一 .进程的概念和分类1.进程的概念Linux是一个多用户多任务的操作系统.多用户是指多个用户可以在同一时间使用同一个linux系统: 多任务是指在Linux下可以同时执行多个任务,更详细的说,lin ...

  • linux终止进程命令(linux终止一个用户所有进程)

    一.引言使用Linux系统过程中,如果某个程序进程出现僵死状态,直接在图形模式下关闭可能是关闭不掉的,由于端口资源被占用等原因想重启该程序也实现不了,那么就需要通过杀死进程的方式来终止该程序.下面分别 ...

  • 如何实现拼音与汉字的互相转换

    拼音与汉字你了解透彻吗 操作方法 01 基于词库的汉字转拼音 词库中既要包含每个字的拼音,也要包含常用单词/短语的读音.有些字是多音字,所以至少要保存其最常用的读音,不常用的读音多出现在单词短语里. ...

  • CAD转PDF的方法 三种转换方法

    在大多数的时候,我们会把CAD文件转换成为PDF文件,这样既是为了查看方便,也是为了传输方便.下面小编就给大家介绍一下三种转换方法. 操作方法 01 用CAD编辑器进行转换 CAD编辑器是一款专门应用 ...