操作系统中的两态进程模型
先决条件:操作系统中进程的状态
操作系统中的进程从形成到完成从不同的状态经过。一个进程由程序数据及其相关数据和一个进程控制块 (PCB) 组成。进程可能会因为以下事件(如 I/O 请求、中断例程、进程同步、进程调度算法等)而改变其状态。进程可能运行也可能不运行,如果它正在运行,则必须由获得过程的适当进展的系统。
两态过程模型
流程状态中最简单的模型将是两状态模型,因为它仅包含以下两种状态:
- 运行状态 - 进程当前正在执行的状态。
- 未运行状态 - 进程等待执行的状态。
两态模型中进程的执行
无论进程是否正在执行,都可以随时创建两种状态。
- 首先,操作系统在创建新进程时,也会为该进程创建一个进程控制块,使该进程可以在非运行状态下进入系统。如果任何进程退出/离开系统,那么它是操作系统已知的。
- 偶尔,当前正在运行的进程将被中断或闯入,操作系统的调度程序(将处理器从一个进程切换到另一个进程的程序)将运行任何其他进程。
- 现在,前一个进程(被中断的进程)从运行状态转移到非运行状态,其他进程之一转移到运行状态,然后退出系统。
未运行的进程必须保留在某种队列中,并等待轮到它们执行。在队列图中,有一个队列,其中的条目是指向进程控制块的指针(其中状态、标识符、程序计数器、上下文数据等信息存储在数据结构中的块)具体过程。
我们必须知道,一个队列可能有链表块,其中每个块代表一个进程。调度器的行为可以在排队图中看到,一个被中断的进程被转移到队列等待进程中,如果该进程已经完成则终止。之后,调度程序再次从队列中获取另一个进程并执行该进程。