栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

计算机系统(9)----- 进程控制

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

计算机系统(9)----- 进程控制

----------文章参考自王道论坛视频

一、基本概念 (1)什么是进程控制

        进程控制主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能;

 (2)进程控制的实现

        创建进程: 需要初始化 PCB 、分配系统资源;

        创建态转换为就绪态需要修改 PCB 内容和相应队列;

        

        就绪态转换为运行态需要恢复进程运行环境、修改 PCB 内容和相应对列;

        

        运行态转换成就绪态需要保存进程运行环境、修改 PCB 内容和相应队列;

        运行态转换阻塞态需要保存进程运行环境、修改 PCB 内容和相应对类;

        运行态转换成终止态需要收回进程拥有的资源,撤销 PCB ;

        

        堵塞态转换成就绪态需要修改 PCB 内容和相应对类,如果等待的是资源,则还需要为进程分配系统资源;

        用原语实现进程控制,原语的特点是执行期间不允许中断,只能一气呵成,这种操作叫原语操作;

        原语采用 " 关中断指令 " 和 " 开中断指令 " 实现;

        

二、进程相关的原语

        原语做的三类事情:

        1. 更新 PCB 中的信息(如修改进程状态标志、将运行环境保存到 PCB 、从 PCB 恢复运行环境)

                a. 所有的进程控制原语一定都会修改进程的状态标志;

                b. 剥夺当前执行进程的 CPU 使用权必然需要保存其运行环境;

                c. 某进程开始运行前必然要恢复其运行环境;

        2. 将 PCB 插入合适的队列;

        3. 分配 / 回收资源;

(1)进程的创建和终止

        创建原语:

        申请空白 PCB;

        为新进程分配所需资源;

        初始化 PCB ;

        将 PCB 插入就绪队列;

        

        撤销原语:

        从 PCB 集合中找到终止进程的 PCB ;

        若进程正在运行,立即剥夺 CPU ,将 CPU 分配给其他进程

        终止其所有子进程;

        将该进程拥有的所有资源归还给父进程或操作系统

        删除 PCB ;

 (2)进程的阻塞和唤醒

        阻塞原语:

        找到要阻塞的进程对应的 PCB ;

        保护进程运行现场,将 PCB 状态信息设置为 " 阻塞态 " ,暂时停止进程运行;

        将 PCB 插入相应事件的等待队列;

        

        唤醒原语 :

        在事件等待队列中找到 PCB ;

        将 PCB 从等待队列移除,设置进程为就绪态;

        将 PCB 插入就绪队列,等待被调度;

(3)进程的切换

         切换原语:

        将运行环境信息存入 PCB ;

         PCB 移入相应队列;

        选择另一个进程执行,并更新其 PCB ;

        根据 PCB 恢复新进程所需的运行环境;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1026977.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号