有关操作系统进程的状态,可参考下图 -
从创建到完成的过程都经历了各种状态。状态的最低数量是五个。
虽然在执行进程中可能处于以下状态之一,但状态的名称并未标准化。
1. 新进程
一个将被OS拾取到主存中的程序被称为新进程。
2. 就绪
无论何时创建进程,它都会直接进入就绪状态,在此状态下,它将等待CPU分配。 操作系统从辅助存储器中选取新进程并将其全部放入主内存中。
准备执行并驻留在主存储器中的进程称为就绪状态进程。就绪状态下可能有很多进程。
3. 运行
OS就绪状态中的一个进程将根据调度算法由OS选择。 因此,如果我们的系统中只有一个CPU,则特定时间的运行进程数将始终为1
。 如果系统中有n
个处理器,那么就可以同时运行n
个进程。
4. 阻塞或等待
从运行状态,进程可以根据调度算法或进程的内在行为,转换到块或等待状态。
当一个进程等待某个资源被分配或从用户输入时,操作系统会将该进程移动到该块或等待状态,并将CPU分配给其他进程。
5. 完成或终止
当一个进程完成其执行时,它进入终止状态。 过程的所有上下文(过程控制块)也将被删除,过程将由操作系统终止。
6. 暂停就绪
处于就绪状态的进程由于缺少资源(主要是主存储器)而从主存储器移动到辅助存储器的过程在暂停就绪状态中被调用。
如果主存储器已满并且执行的优先级较高,则操作系统必须通过将较低优先级的进程输出到辅助存储器中来为主存储器中的进程腾出空间。 挂起就绪进程保留在辅助存储器中,直到主存储器可用。
7. 暂停等待
而不是从就绪队列中删除进程,最好删除正在等待主内存中某些资源的被阻止进程。 由于它已经在等待一些资源可用,因此最好是在辅助存储器中等待并为更高优先级的进程腾出空间。 这些进程在主内存可用并等待完成后完成执行。
进程操作
1. 创建
一旦进程创建完成,它就会准备就绪并进入就绪队列(主内存)并准备执行。
2. 调度
在就绪队列中存在的许多进程中,操作系统选择一个进程并开始执行它。 选择接下来要执行的过程称为调度。
3. 执行
一旦该进程被安排执行,处理器就开始执行它。 进程可能会在执行期间进入阻塞或等待状态,然后在那种情况下处理器开始执行其他进程。
4. 删除/查杀
一旦这个过程的目的完成了,操作系统将会终止这个过程。 进程的上下文(PCB)将被删除,进程将被操作系统终止。