状态图
从创建到完成的过程会经历各种状态。最少的状态数是五个。
状态的名称并没有标准化,尽管在执行过程中,该进程可能处于以下状态之一。
即将由操作系统加载到主存中的程序称为新建进程。
无论何时创建一个进程,它都直接进入就绪状态,等待分配CPU使用。操作系统从辅助存储器中选取新进程,并将它们全部放入主存中。
在主存中准备执行并处于就绪状态的进程称为就绪状态进程。就绪状态可能有许多进程。
根据调度算法,操作系统会从就绪状态中选择一个进程。因此,如果系统中只有一个CPU,特定时间段内运行的进程数始终为一。如果系统中有n个处理器,则可以同时运行n个进程。
从运行状态转变为阻塞或等待状态取决于调度算法或进程的固有行为。
当一个进程等待某个资源被分配或等待用户输入时,操作系统将该进程移至阻塞或等待状态,并将CPU分配给其他进程。
当一个进程完成执行时,它进入终止状态。进程的所有上下文(进程控制块)也会被删除,操作系统将终止该进程。
处于就绪状态的进程由于资源不足(主要是主存)而从主存中移到了辅助存储器中,称为挂起就绪状态。
如果主存已满,并且有一个更高优先级的进程需要执行,那么操作系统必须为该进程在主存中腾出空间,将低优先级进程移到辅助存储器中。挂起就绪进程会一直存在于辅助存储器中,直到主存中有空闲空间。
与其从就绪队列中移除进程,不如将正在等待某些资源的阻塞进程移出主存。由于它已经在等待某些资源可用,因此最好让它在辅助存储器中等待并为更高优先级的进程腾出空间。这些进程在主存空间可用且等待完成时会执行。
一旦进程创建,它将进入就绪队列(主存),准备执行。
从就绪队列中选取一个进程,操作系统开始执行它。选择下一个要执行的进程被称为调度。
一旦进程被调度执行,处理器开始执行它。在执行过程中,进程可能进入阻塞或等待状态,此时处理器开始执行其他进程。
一旦进程的目的达到,操作系统将终止该进程。进程的上下文(PCB)将被删除,进程被操作系统终止。
本文链接:http://so.lmcjl.com/news/19842/