进程控制的概念
- 在进程生存全期间,对其全部行为的控制
- 四个典型的控制行为
- 创建
- 功能: 创建一个具有指定标识(id)的进程
- 参数: 进程标识、优先级、进程起始地址、CPU初始状态,资源清单
- 创建进程的过程:
- 创建一个空白PCB
- 获得并赋予进程标识符ID
- 为进程分配空间
- 初始化PCB
- 插入相应的进程队列
- 创建
伪代码:
Create(Si, Mi, Pi) //CPU的状态,内存,优先级
{
p = Get_New_PCB( ); //分配新的PCB
pid = Get_New_PID( ); // 分配进程的PID
p->ID = pid; //设置进程的PID
p->CPU_State = Si; //CPU的状态
p->Memory = Mi; //内存
p->Priority = Pi; // 优先级
p->Status.type = "Ready"; //进程状态
p->Status.List = RL; //进程队列RL: Ready List
Insert(RL, P); // 将进程p插入就绪队列
Scheduler( ) //调度程序
}
-
撤销
- 在PCB队列中检索出该进程PCB
- 获取进程的状态
- 若该程序处在运行太,立即终止该进程(递归撤销,先撤销子进程)
- 释放进程占有的资源
- 将进程从PCB队列中移除
-
阻塞
停止进程的执行,变为阻塞
阻塞的时机/事件- 请求系统服务
- 启动某种操作
- 新数据尚未到达
- 无新工作可作
参数
- 阻塞原因
不同原因构件有不同的阻塞队列
阻塞的实现过程
- 停止运行
- 将PCB从运行态改为阻塞态
- 插入相应原因的阻塞队列
- 转调度程序
-
进程唤醒
唤醒处于阻塞队列中的某个进程- 引起唤醒的时机/事件
- 系统服务由不满足到满足
- I/O完成
- 新数据到达
- 进程提出新请求
- 参数
被唤醒进程的标识符
- 引起唤醒的时机/事件

本文详细介绍了操作系统中进程控制的关键概念,包括进程的创建、撤销、阻塞和唤醒。在创建进程中,涉及PCB的初始化、进程标识分配及资源分配。撤销进程时,会终止进程并释放其占用的资源。阻塞和唤醒涉及到进程状态的转换,如当进程等待系统服务时会进入阻塞状态,而当条件满足时则会被唤醒继续执行。这些概念构成了操作系统调度的基础。
5826

被折叠的 条评论
为什么被折叠?



