进程与线程笔记 - 3

进程的控制

创建进程
为新进程分配一个唯一的进程标号,申请一个空白的PCB,如果没有可用的PCB则创建失败。
为进程分配资源,如果资源不足,就进入等待状态。
初始化PCB
如果进程调度队列能接纳新进程,那就将新进程插入就绪队列,等待被调度运行。
终止进程
终止进程有三种方式:正常结束、异常结束、外接干预。
查找需要终止进程的PCB。
如果处于执行状态,则立刻终止该进程执行,然后将CPU资源分给其他进程。
如果还有子进程,则将其所有子进程终止。
将进程所拥有的的资源退还给操作系统或父进程。
将PCB从队列中删除。
阻塞进程
当进程需要等待某一事件完成,它可以调用阻塞语句把自己阻塞,然后等待其他进程唤醒它。
找到将要被阻塞进程标识号对应的PCB
如果该进程为运行状态,保护现场,将状态转为阻塞,停止运行
将PCB插入到阻塞队列中
唤醒进程
当阻塞进程锁等待的时间完成,由相关进程(比如提供数据的进程)使用唤醒语句将进程唤醒。
在阻塞队列找到相应的PCB
从阻塞队列移出,将其状态转为就绪
移入就绪队列,等待调度

猜你喜欢

转载自blog.csdn.net/weixin_43891021/article/details/114248928