ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

进程控制

2020-03-06 17:09:02  阅读:246  来源: 互联网

标签:控制 创建 阻塞 PCB 原语 进程 终止


目录

进程的创建

进程图

引起创建进程的事件

进程的创建

进程的终止

引起进程终止的事件

进程的终止过程

进程的阻塞与唤醒

引起进程阻塞和唤醒的事件

进程阻塞过程

进程唤醒过程

进程的挂起与激活

进程的挂起过程

进程的激活过程


进程的创建

进程图

进程图用来描述进程的家族关系,是一个有向树。表示的就是一个进程中还可能创建其他进程,或者一个进程是另一个进程执行的前提。

引起创建进程的事件

用户登陆、作业调度、提供服务、应用申请。qq或者微信的登陆都会启动一个进程,一点开qq,这个进程就会在任务管理器中出现。作业调度就是把外存上的作业调入内存,分配资源并为其创建进程来使用CPU。服务在任务管理器中也很常见,网络服务、数据库服务、更新服务等等,都是一个个的进程。应用申请举个例子就是申请使用打印机,这就要创建使用打印机的进程。

进程的创建

操作系统发现要求创建新进程的事件后,调用进程创建原语Create()创建新进程。进程的创建过程:(1)申请空白PCB(2)为新进程分配资源(3)初始化进程控制块(4)将新进程插入就绪队列

PCB中记录着进程的种种信息,创建进程必然要有对应的PCB控制块,所以先创建空白PCB;进程需要存储空间,需要记录状态的寄存器等等,都是进程需要的资源。所以创建新的进程需要分配资源,也就是实例化一个进程;进程创建好之后,空白的PCB控制块也就可以填入对应的信息了,即初始化进程控制块;进程本体已经完备,接下来就需要将它插入就绪队列,等待CPU调度执行。

 

进程的终止

引起进程终止的事件

正常结束、异常结束、外界干预。其中异常结束比如程序出现越界、出现非法指令等。外界干预指操作系统在有紧急任务的时候强制当前进程中断,或者该进程的父进程停止,或者该进程的父进程请求子进程停止。

进程的终止过程

(1)找出被终止进程PCB。(2)若进程状态为运行态,置CPU调度标准为真。(3)若其有子孙进程,终止其子孙进程并回收资源。(4)回收终止进程的资源。(5)回收终止进程的PCB。

首先找到PCB,在进程在执行的时候,有属性标志其运行状态,其值为fasle;当进程的时间片使用完,进程需要下CPU,这时需要将PCB中的标志位改为true,进程就成为了终止状态。进程是可以在执行过程中创建子进程的,父进程终止,子进程也要终止,并且回收紫禁城资源,接着回收父进程资源。最后剩下PCB占据着内存,当然也要回收了。

 

进程的阻塞与唤醒

引起进程阻塞和唤醒的事件

(1)请求系统服务。(2)启动某种操作。(3)新数据尚未到达。(4)无新工作可做。

请求系统服务和启动某种操作既可以引起进程阻塞,又可以唤醒工作需要的进程。新数据尚未到达和无新工作可做都是阻塞线程的事件。

进程阻塞过程

进程阻塞是进程调用了阻塞原语阻塞自己。PCB中存有进程状态,把状态标志位改为阻塞,操作系统再将PCB调入阻塞队列。

进程唤醒过程

进程调用唤醒原语:把PCB从阻塞队列中移除,转换进程状态为就绪态,将PCB插入就绪队列。阻塞原语与唤醒原语作用相反,成对使用。

 

进程的挂起与激活

进程的挂起过程

当出现引起进程挂起的事件时,系统利用挂起原语将指定进程或处于阻塞的进程挂起。活动就绪转为静止就绪;活动阻塞转为静止阻塞。如果挂起的进程正在执行,则变为静止就绪,操作系统重新进行进程调度。参照状态转移图。

进程的激活过程

当发生激活进程的事件时,系统利用激活原语将指定进程激活。先将进程从外存调入内存;静止就绪转为活动就绪,静止阻塞转为活动阻塞。还是状态转移图。

 

标签:控制,创建,阻塞,PCB,原语,进程,终止
来源: https://blog.csdn.net/weixin_43237362/article/details/104699557

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有