2024年5月31日发(作者:)

进程的基本状态

一般有:就绪态,执行态,阻塞态

就绪态就是“万事具备,只差CPU”(由于系统调度,反而转到运行态)

执行态就是“程序正在执行”(由于时间片用完,转到就绪态,由于有I/O请求而转到

阻塞态度)

阻塞态就是“进程由于发生某种时间而暂时无法执行”(由于所等待哦的时间发生,而

转到就绪态)

挂起状态:(为什么引入管其状态?)

(1)终端用户的请求:当终端用户在自己程序执行期间,可能发现有问题而希望自己

暂停下来(该进程不接受调度,以便用户研究其执行情况并对程序进行修改,称这种静止

状态为挂起状态)

(2)父进程请求:父进程希望挂起自己的孩子进程,以便考察和修改孩子进程,或者

协调各个进程间活动。

(3)负荷调节的需要:当实时系统中工作负荷太重,已经可能影响到对实时任务的控

制。

(4)操作系统的需要:操作系统有时候希望挂起某些进程,以便检查运行时候资源使

用情况。

程序进程状态的转换:(引入挂起->非挂起状态)

1、活动就绪:当今成处于未被挂起的就绪状态时候,称此为活动就绪。

2、活动阻塞:未被挂起的阻塞状态

Linux下的进程状态:运行态、等待态、暂停待、僵尸态

运行态:把就绪态和运行态统称为运行态。

等待态(1)深度睡眠:等待资源有效被唤醒,而不能被其他信号唤醒。

(2)浅度睡眠:不止可以被有效资源唤醒,也可以被信号,时钟中断唤醒。

暂停态:SIGSTOP SIGTSTP SIGTTIN SIGTTOU

僵死态:进程执行结束,但尚未消亡。(结束并释放大量资源,但是未能释放PCB)