我们通过查询相关内容可以知道linux有三种基本状态和四种相互转换的方式。
一、linux进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有三种基本状态,如下。
1.就绪状态:当进程已分配到除CPU以外的所有必要资源时,我们只要获得处理机便可以立即执行,那么这时的进程状态称为就绪状态。
2.执行状态:当进程已获得处理机后,其程序正在处理机上执行,那么此时的进程状态就称为执行状态。
3.阻塞状态:正在执行的进程中,由于等待某个事件发生而无法执行时,就会放弃处理机使其处于阻塞状态。而且引起进程阻塞的事件可能有许多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等情况。
二、进程三种状态间的转换
在一个进程运行期间,他们会不断地从一种状态转换到另一种状态,即可以多次处于就绪状态和执行状态,也可以多次处于阻塞状态。下面阐述了进程的三种基本状态之间的转换。
(1) 就绪→执行
当处于就绪状态的进程中,在进程调度程序为之分配了处理机后,那么该进程便由就绪状态转变成执行状态。
(2) 执行→就绪
当处于执行状态的进程在其执行过程中,因分配给它的一个时间片已经用完而不得不让出处理机时,这时linux进程就会从执行状态转变成就绪状态。
(3) 执行→阻塞
当正在执行的进程因等待某种事件发生而无法继续执行时,便会从执行状态转变为阻塞状态。
(4) 阻塞→就绪
当处于阻塞状态的进程中,如果等待的事件已经发生,那么linux进程就会由阻塞状态转变为就绪状态。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。