操作系统原理 —— 进程状态切换具体做了哪些事情?(八)

news2025/2/21 13:38:48

什么是进程控制?

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

简单来说,就是进程控制就是要现实进程状态的转换。

那如何实现进程的控制呢? 答案就是使用 原语来实现,如下图:

在这里插入图片描述

在之前我们有提到过,原语 是具有原子性操作的,运行必须一气呵成,那如果没有原子性,会发生什么事情呢? 我们来看一下假设:

在这里插入图片描述

在上图中,假设需要使用源语进行状态的切换,至少需要做两件事:

1、将 PCB 2 的 state 设置为 1

2、将 PCB 2 从阻塞队列放入到就绪列表

如果不具有原子性,可能只做了第一件事之后,就被中断了,那这个时候,阻塞队列里面的数据就包含了 state = 1 的 PCB 了,这样对于进程的管理,就乱套了。

那么 原语 是如何来保证原子性的呢? 我们接着往下看

原语如何保证原子性?

原语,其实也是用了两条特权指令来保障原子性操作的。

源语的执行具有原子性,即执行过程只能一气呵成,期间不允许被中断。 可以用 关中断指令、开中断指令,这两个特权指令实现原子性操作。

还记得我们之前在中断那个章节有提到,执行完每一个指令之后,CPU 都要检查当前是否有外部中断信号,如果有则需要处理中断信息。

那么如果 CPU 执行了 关中断指令 之后,就不再例行检查是否有中断信息,直到执行 开中断指令之后,才恢复检查。

这样,关中断,开中断之间的这些指令就是不可被中断的了,这就实现了 原子性

在这里插入图片描述

我们知道是使用 原语 来进行进程状态控制的,那这些原语具体都做了哪些事情呢?

以下的内容不需要死记硬背,只需要理解就好了。

创建原语

在这里插入图片描述

终止原语

在这里插入图片描述

阻塞和唤醒

在这里插入图片描述

切换原语

在这里插入图片描述

在切换原语的时候,我们需要保存运行环境,在重新执行该进程的时候,还需要恢复所需的运行环境。

那到底保存什么运行环境?

在这里插入图片描述

本章总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/456893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

案例01-tlias智能学习辅助系统02-文件上传

4.6 文件上传 若要实现下方的文件上传页面,需要前后端做如下操作: 后端: 本地存储 云存储 阿里云官方文档说明 具体实现参考上方连接,不再详细说明 阿里云OSS快速入门请参考文档: AliOSS.md (在talis文…

不同场景下的并发容器选择

在并发编程中,我们经常会使用容器来存储数据或对象,可以依据场景的变化选择多种容器。 Map并发容器 因为在 JDK1.7 之前,在并发场景下使用 HashMap 会出现死循环,从而导致 CPU 使用率居高不下,而扩容是导致死循环的主…

扫描电镜学习手册

SEM测试,在通俗意义上来讲,可以看成是一个放大倍数超级大的“放大镜”。 作为当今十分有用的科学研究仪器,扫描电子显微镜是介于透射电镜和光学显微镜之间的一种微观性貌观察手段,可直接利用样品表面材料的物质性能进行微观成像。…

eureka注册中心和RestTemplate

eureka注册中心和restTemplate的使用说明 eureka的作用 消费者该如何获取服务提供者的具体信息 1.服务者启动时向eureka注册自己的信息 2.eureka保存这些信息 3.消费者根据服务名称向eureka拉去提供者的信息 如果有多个服务提供者,消费者该如何选择? 服…

基于JavaSpringMVC+Mybatis+Jquery高校毕业设计管理系统设计和实现

基于JavaSpringMVCMybatisJquery高校毕业设计管理系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码…

CCBN 2023看点分析:国产8K摄像机国产化替代趋势增强

4月21日,为期3天的CCBN 2023(第29届中国国际广播电视信息网络展览会)在北京首钢会展中心圆满落幕,CCBN展会是亚洲广播电视设备展览会,也是中国广电行业规模最大、影响力最强的国际性展会之一,更是广电行业内…

Linux环境下(CentOS7)CC攻击——如何用CC攻击对网站进行压力测试(仅限于压力测试)

小编温馨提醒:请正确使用ddos攻击,不要用来做违反当地法律法规的事情,否则后果请自负!!!! 阿里云服务器链接 (学生党可白嫖16个月ECS云服务器) 高校计划 - 免费学生云…

通话蓝牙耳机什么牌子好?通话效果好的无线蓝牙耳机

这几年真无线蓝牙耳机市场发展迅速,从音质到续航再到现在的降噪能力,技术的不断进步也让厂家不断推陈出新,但是也导致许多人不知道从何选择,下面整理了几款通话效果不错的无线蓝牙耳机,可做参考。 一、南卡小音舱Lite…

1.栈的介绍-C语言调用函数(一)

目录 源代码变为可执行文件的过程 栈是什么 入栈过程 出栈过程 C语言函数调用栈 寄存器 EAX,EBX,ECX,EDX 寄存器使用约定 栈帧 调用的解释 释放的解释 堆栈操作 函数调用的操作 堆栈的主要指令 push/pop call/leave/ret 函数序和函数跋 我们在数据结构中学习…

事件抽取:Document-level Event Extraction via Parallel Prediction Networks

任务:给定一篇文章,从中提取出一个或多个结构化的事件 Y { y i } i 1 k Y\{y_i\}_{i1}^{k} Y{yi​}i1k​ ,其中每个事件 t t t事件类型 y i t y_{i}^{t} yit​表示是,包含一系列角色 ( r i 1 , r i 2 , . . . , r i n ) (r_{i}^{1},r_{i}^{…

构建高效数据中台——数据只有被使用起来,才能创造价值

产品经理们时常会碰到这种问题: 我刚上线一个功能,请研发同志们帮我拉个数据出来分析,却被残酷告知需要排期。 我这里急得跺脚,但也只能理解。 数据研发们每天有查不完的数据和写不完的表,业务部门要的数据迟迟拿不到&…

ABAP SM30自定义搜素帮助,且带出相关描述,也可回车带出。

本篇文章用SM30字段BUKRS带出BUTXT为例。 MODULE zfzhdm_f4help INPUT.DATA: lt_dynpfields1 TYPE STANDARD TABLE OF dynpread,ls_dynpfields1 TYPE dynpread,lt_return1 TYPE STANDARD TABLE OF ddshretval,ls_return1 TYPE ddshretval,lv_povstepl1 TYPE sy-stepl…

引领文旅新体验!实时云渲染助力打造“永不落幕”的湾区文采会元宇宙

2022年11月25日至27日,2022年粤港澳大湾区公共文化和旅游产品(东莞)采购会(简称“湾区文采会”)在广东省东莞市文化馆举行。 文采会期间,文采会元宇宙线上虚拟展厅全新亮相,这艘承载着科技与文化…

优秀的FAQ示例及FAQ页面制作技巧

在网页中问答设计中,虽然说客服会话更有人情味、解决效率更高,但从实际的客户使用情况和使用偏好来看,越来越多的人更喜欢自助服务。数据显示,约67%的受访者会优先选择自助服务,91%的客户使用过帮助中心来解决问题。可…

python进阶知识点汇总

一、函数 1、函数的传参: (1)值传递:将实际的参数复制一份传递给形参,函数中修改形参时,不会影响到实际参数; def a(b,c2):return bcprint(a(10)) print(a(123,2)) print(a(2))(2…

Gitlab添加组、创建用户和项目、权限管理

一、创建组 1、使用root管理员权限来创建组,一个组里面包含多个项目分支,可以将用户来添加到组里进行设置权限,不同的组有不同的权限。 2、输入群组名称、描述、和可见性级别,点击创建群组 二、创建用户 1、普通用户只能访问属于…

静态路由综合实验

目录 实验要求 实验步骤 1.子网划分 2.配置IP和环回 3.配置静态路由,实现全网可达 4.配置缺省路由,使R1-R4可以访问5.5.5.5/24 5.配置空接口防环 6.ping测试 实验要求 1.除R5的环回地址固定以外,整个其他所有网段基于192.168.1.0/2…

【C++】二叉搜索树BST

目录 1.二叉搜索树的性质2.二叉搜索树功能的实现1.二叉搜索树的框架2.插入3.查找4.删除(难点)解析 3.二叉搜索树功能的递归实现1.查找递归实现2.插入递归实现递归形式中新建节点的链接问题 3.删除的递归实现 4.二叉搜索树部分默认成员函数实现1.构造函数…

SpringBoot(8)日志监控

日志监控 监控的意义使用监控监控原理 自定义监控指标Metrics端点自定义端点 监控的意义 监控服务状态是否宕机监控服务运行指标(内存,虚拟机,线程,请求等)监控程序运行日志管理服务(服务上下线) 监控的实施方式 1.显示监控信息的服务器&am…

低功耗设计方法学——篇Ⅱ

引言 低功耗设计关乎ASIC芯片的性能稳定。对ASIC 特别是一些Soc芯片的设计有着重要的影响,随着集成规模的大幅度增加,芯片自身的功耗问题暴露也越来越明显。低功耗设计的需求和必要性也越来越值得关注。本文就《Low Power Methodology Manual For Syste…