开发者社区> 问答> 正文

Linux 进程中的状态及转换有哪些?

Linux 进程中的状态及转换有哪些?

展开
收起
gxx1 2022-03-30 23:54:17 479 0
1 条回答
写回答
取消 提交回答
  • 我们通过查询相关内容可以知道linux有三种基本状态和四种相互转换的方式。

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

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

    2.执行状态:当进程已获得处理机后,其程序正在处理机上执行,那么此时的进程状态就称为执行状态。

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

    二、进程三种状态间的转换

    在一个进程运行期间,他们会不断地从一种状态转换到另一种状态,即可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态。下面阐述了进程的三种基本状态之间的转换。

    (1) 就绪→执行

    当处于就绪状态的进程中,在进程调度程序为之分配了处理机后,那么该进程便由就绪状态转变成执行状态。

    (2) 执行→就绪

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

    (3) 执行→阻塞

    当正在执行的进程因等待某种事件发生而无法继续执行时,便会从执行状态转变为阻塞状态。

    (4) 阻塞→就绪

    当处于阻塞状态的进程中,如果等待的事件已经发生,那么linux进程就会由阻塞状态转变为就绪状态。

    2022-03-30 23:55:53
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载