📜  UNIX 进程中的进程状态和转换

📅  最后修改于: 2022-05-13 01:56:11.766000             🧑  作者: Mango

UNIX 进程中的进程状态和转换

过程

进程是正在执行的程序的一个实例。一组过程组合在一起构成一个完整的程序。

Unix中有两类进程,即

  • 用户进程:它们在用户模式下运行。
  • 内核进程:它们在内核模式下运行。

进程状态

进程从开始到结束工作时进入的状态称为进程状态。下面列出了这些:

  • Created -Process 是由系统调用新创建的,尚未准备好运行
  • User running -Process 在用户模式下运行,这意味着它是一个用户进程。
  • Kernel Running - 表示进程是以内核模式运行的内核进程。
  • Zombie-进程不存在/被终止。
  • Preempted -当进程从内核运行到用户模式时,它被称为被抢占。
  • 准备在内存中运行 -表示进程已达到准备好在内存中运行并等待内核对其进行调度的状态。
  • 准备运行,交换- 进程准备运行但不存在空的主内存
  • 睡眠,交换 -进程已交换到二级存储并处于阻塞状态。
  • 内存中休眠 -进程在内存中(未交换到二级存储)但处于阻塞状态。
流程转换

数字表示所遵循的步骤。

流程转换

Process的工作分以下步骤解释:

  1. 用户运行:进程处于用户运行状态。
  2. 内核运行:进程被分配给内核,因此处于内核模式。
  3. 准备好在内存中运行:此外,在主内存中处理后,进程被重新调度到内核。即进程没有执行,但是一旦内核调度它就准备好运行。
  4. 内存中休眠:进程正在休眠但驻留在主内存中。它正在等待任务开始。
  5. 准备运行,交换:进程准备运行并被处理器交换到主内存中,从而允许内核安排它执行。
  6. 睡眠,交换:进程在二级内存中处于睡眠状态,为主内存中的其他进程的执行腾出空间。一旦任务完成,它可能会恢复。
  7. 抢占:内核抢占正在进行的进程以分配另一个进程,而第一个进程正在从内核模式移动到用户模式。
  8. Created:进程是新创建的,但没有运行。这是所有进程的开始状态。
  9. 僵尸:进程已彻底执行并已启用退出调用。
    因此,该过程不再存在。但是,它存储过程的统计记录。
    这是所有进程的最终状态。