参考链接
创建状态
步骤
- 为一个新进程 创建PCB ,并填写必要的管理信息
- 把该进程 转入就绪状态并插入就绪队列之中
- 当一个新进程被创建时,系统已为其分配了PCB,填写了进程标识等信息,但由于该进程所必需的资源或其它信息,如主存资源尚未分配等,一般而言,此时的进程已拥有了自己PCB,但进程自身还未进入主存,即创建工作尚未完成,进程还不能被调度运行 ,其所处的状态就是创建状态
- 引入创建状态,是为了保证进程的调度必须在创建工作完成后进行,以 确保对进程控制块操作的完整性。同时,创建状态的引入,也增加了管理的 灵活性,操作系统可以根据系统性能或主存容量的限制,推迟创建状态进程的提交。对于处于创建状态的进程,获得了其所必需的资源,以及对其PCB初始化工作完成后,进程状态便可由创建状态转入就绪状态
就绪(Ready)状态
- 进程具备运行条件,等待系统分配处理器 以便运行的状态
- 当进程已分配到除CPU以外的所有必要资源后,只要再获得CPU便可立即执行,进程这时的状态称为就绪状态
- 在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列
执行状态
- 进程 占有处理器 正在运行的状态
- 在单处理机系统中,只有一个进程处于执行状态; 在多处理机系统中,则有多个进程处于执行状态
阻塞状态
- 一个进程由于正在等待某一事件发生(例如请求I/O而等待I/O完成等)而 暂时停止运行 ,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态
- 致使进程阻塞的典型事件有:请求I/O,申请缓冲空间等
- 通常将这种处于阻塞状态的进程也排成一个队列,有的系统则根据阻塞原因的不同而把处于阻塞状态的进程排成多个队列
挂起状态
挂起就绪态
:进程 具备运行条件,但目前 在外存中 ,只有它被对换到内存才能被调度执行
挂起等待态
:表明进程 正在等待 某一个事件发生且 在外存中
- 三态模型 和 五态模型 都 假设所有进程都在内存中的事实上有序不断的创建进程
- 当系统资源尤其是内存 资源已经不能满足进程运行的要求 时,必须把某些进程挂起(suspend)
- 对换到磁盘对换区中,释放它占有的某些资源,暂时不参与低级调度。起到 平滑系统操作负荷 的目的
- 引入挂起状态的
原因
- 终端用户的请求:当终端用户在自己的程序运行期间发现有可疑问题时,希望暂时使自己的程序静止下来。亦即,使正在执行的进程暂停执行;若此时用户进程正处于就绪状态而未执行,则该进程暂不接受调度,以便用户研究其执行情况或对程序进行修改。我们把这种静止状态称为挂起状态
- 父进程请求:有时父进程希望挂起自己的某个子进程,以便考查和修改该子进程,或者协调各子进程间的活动
- 负荷调节的需要:当实时系统中的工作负荷较重,已可能影响到对实时任务的控制时,可由系统把一些不重要的进程挂起,以保证系统能正常运行
- 操作系统的需要:操作系统有时希望挂起某些进程,以便检查运行中的资源使用情况或进行记账
- 挂起进程具有如下
特征
- 该进程不能立即被执行
- 挂起进程可能会等待一个事件,但所等待的事件是独立于挂起条件的,事件结束并不能导致进程具备执行条件。 (等待事件结束后进程变为挂起就绪态)
- 进程进入挂起状态是由于操作系统、父进程或进程本身阻止它的运行
- 结束进程挂起状态的命令 只能通过操作系统或父进程发出
终止状态
- 等待操作系统进行善后处理,然后将其PCB清零,并将PCB空间返还系统
- 当一个进程到达了自然结束 点,或是出现了 无法克服的错误 ,或是 被操作系统所终结,或是 被其他有终止权的进程终结 ,它将进入终止状态
- 进入终止态的进程以后不能再执行,但在操作系统中依然保留一个记录,其中保存状态码和一些计时统计数据,供其它进程收集。一旦其它进程完成了对终止状态进程的信息提取之后,操作系统将删除该进程
版权声明:本文为weixin_42959073原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。