进程状态机
进程状态反映进程执行过程的不同阶段,进程状态随着进程的执行和外界条件的变化而转换。
SylixOS 进程存在以下四种状态:
- 初始化态:进程尚在初始化过程中,正在执行程序加载、内存初始化等操作,尚不具备运行条件。
- 运行态:进程正在运行,进程中的线程或参与调度,或处于阻塞状态。
- 退出态:进程已经结束运行,进程在进入退出态时会发送信号给其父进程,由父进程适时回收子进程残余资源。如果是僵尸进程,则在进入退出态后由系统回收资源。
- 停止态:部分进程在运行过程中会进入停止态,在停止态下,进程所有线程停止运行,不参与调度。如在调试进程时,调试器会经常让进程进入停止态进而观察进程数据。
状态迁移过程描述如下:
- 进程开始:进程从“初始化态”迁移到“运行态”的过程。
- 进程被停止:进程通过停止的方式将目标进程停止,从而使目标进程进入“停止态”。
- 进程恢复运行:进程通过恢复/继续/唤醒使进程恢复停止状态,从而使目标进程进入“运行态”。
- 进程结束:进程从“运行态”迁移到“退出态”的过程。