小知识,大挑战!本文正在参与“程序员必备小知识”创作活动
操作系统进程管理
含创建及终止的进程状态转换图
挂起/激活进程:
进程执行期间由于某事件的发生将被挂起或激活。处于执行状态的进程被 挂起后将暂停执行,处于就绪态的进程被挂起后将暂停处理机调度。与挂起对应的是激活。
挂起目的:便于系统和用户观察和分析进程。
挂起效果:活动状态变静止状态(激活效果反之)。
运行状态转为暂停执行状态。
就绪状态转为暂不接受调度状态。
阻塞状态转为暂不接受所需事件状态。
挂起原语 Suspend 导致的进程状态转换
激活原语 Active 导致的进程状态转换
含挂起的进程状态转换图
含创建、终止和挂起的进程状态转换图
进程阻塞
进程阻塞过程立即停止被阻塞进程的执行。
将被阻塞进程 PCB 的现行状态由“执行”改为“阻塞”。
将被阻塞进程的 PCB 插入等待事件对应的阻塞队列。
调度程序重新进行调度,按某种策略将处理机分配给另一个就绪进程,使其进入执行态。
按照新执行态进程的 PCB 相关信息设置 CPU 环境。
引起进程阻塞的事件
注:进程通过调用阻塞原语将自己阻塞,即自我阻塞。 请求共享资源失败:正在运行的进程向系统申请资源得不到满足,无法继续运 行,而进入阻塞状态。 等待某操作完成;系统启动某操作后,需等待该操作完成才能继续运行时,进 入阻塞状态。 新数据尚未到达:相互合作的进程,需要等待数据的一方只能处于阻塞状态, 待所需数据到达后可又阻塞转为就绪。 等待新任务的到达:完成任务后即基础阻塞状态,待新任务到达被唤醒。比如 网络环境下,完成数据包发送功能的发送进程,将所有数据包发送完毕后即进 入阻塞状态,新数据包到来后,再被唤醒。