操作系统进程管理(3)

307 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动

操作系统进程管理

含创建及终止的进程状态转换图

image.png

挂起/激活进程:

进程执行期间由于某事件的发生将被挂起或激活。处于执行状态的进程被 挂起后将暂停执行,处于就绪态的进程被挂起后将暂停处理机调度。与挂起对应的是激活。

挂起目的:便于系统和用户观察和分析进程。

挂起效果:活动状态变静止状态(激活效果反之)。

运行状态转为暂停执行状态。

就绪状态转为暂不接受调度状态。

阻塞状态转为暂不接受所需事件状态。

image.png

image.png 挂起原语 Suspend 导致的进程状态转换

image.png

激活原语 Active 导致的进程状态转换

image.png

含挂起的进程状态转换图

image.png

含创建、终止和挂起的进程状态转换图

image.png

进程阻塞

进程阻塞过程立即停止被阻塞进程的执行。

将被阻塞进程 PCB 的现行状态由“执行”改为“阻塞”。

将被阻塞进程的 PCB 插入等待事件对应的阻塞队列。

调度程序重新进行调度,按某种策略将处理机分配给另一个就绪进程,使其进入执行态。

按照新执行态进程的 PCB 相关信息设置 CPU 环境。

引起进程阻塞的事件

注:进程通过调用阻塞原语将自己阻塞,即自我阻塞。 请求共享资源失败:正在运行的进程向系统申请资源得不到满足,无法继续运 行,而进入阻塞状态。 等待某操作完成;系统启动某操作后,需等待该操作完成才能继续运行时,进 入阻塞状态。 新数据尚未到达:相互合作的进程,需要等待数据的一方只能处于阻塞状态, 待所需数据到达后可又阻塞转为就绪。 等待新任务的到达:完成任务后即基础阻塞状态,待新任务到达被唤醒。比如 网络环境下,完成数据包发送功能的发送进程,将所有数据包发送完毕后即进 入阻塞状态,新数据包到来后,再被唤醒。

image.png