ch3_2多进程中寄存器的切换

news2025/1/24 5:08:07

运行中的程序在进行切换时, 可以分为以下两类:

  1. 线程: 只涉及指令的切换, 硬件资源没有切换;
  2. 进程: 包含指令的切换,以及硬件资源的切换, 其中映射表便是一种内存资源。
    在这里插入图片描述
1. 进程间的切换示意图

这一讲中, 只会涉及指令的切换,暂不考虑资源的切换。

本质就是 映射表不改变, pc 指针改变

1.用户级线程

1.1 线程 thread

由前面的进程之间的切换可知,

不同的进程之间在进行切换时, 需要切换各自进程所对应的PCB, 以及 各个进程对应的 映射表;

由于不同的进程对应不同的映射表, 切换时,代价较大;

为了避免这种代价, 在切换时, 使得不同的程序之间共享同一张 映射表;

在这里插入图片描述

2. 运行的程序之间 共享资源 , 如内存资源, 数据资源 这些的共享

线程: 保留了程序并发的有点;
减少了进程切换的代价。

1.2 线程的实例

浏览器的使用:

  • 一个线程用来从服务器接受数据

  • 一个线程用来显示文本;

  • 一个线程用来处理图片(如解压缩)

  • 一个线程用来显示图片;

线程之间的资源共享:

  • 将从服务器中接受的数据, 如文本,图片数据 放在缓冲区中, 而其他的进程需要从映射表中读数据;

而如果使用进程完成上述任务,
进程之间,地址是分离的。
由于不同的进程,会有不同的映射表, 那么这些映射表将会存放在内存的不同区域, 这样同一份数据占用了更多的内存,这没有必要。

一个线程在下载数据时, 这个过程中,切换到其他线程, 用来显示文本数据;
当文本数据显示完成之后, 在重新切换到下载进程。

1.3 代码实现

pthread_create() 创建多个线程,

在各个线程执行的过程中,增加一些内容,

Yield () 函数 实现线程之间的切换,

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

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

相关文章

用3Dmax优化模型的方法,让你的效果图又快又好

3DMax是一个特别强大的建模软件,它具有无数需要小伙伴付出时间和练习才能掌握的特性和功能。 如果你已经能足够直观的掌握基础知识,并且已经能创造出很优秀的作品。这必然是一件值得高兴的事。 但是,在设计过程的妙处就在于,总是…

Prometheus集成Grafana(手动创建/通过模板创建Dashboard)

目录1. Grafana的基本介绍2. Centos7上安装Grafana2.1 下载解压2.2 修改conf/default.ini2.3 启动grafana3. Grafana各层级关系4. 添加Prometheus数据源5. 添加Dashborad和手动添加Row和Panel(方式一)6. 通过社区提供的模板创建Dashboard(方式二)1. Grafana的基本介绍 grafana…

自然语言基础之分词提取关键词基本操作

概述 从今天开始我们将开启一段自然语言处理 (NLP) 的旅程. 自然语言处理可以让来处理, 理解, 以及运用人类的语言, 实现机器语言和人类语言之间的沟通桥梁. 关键词 关键词 (keywords), 即关键词语. 关键词能描述文章的本质, 在文献检索, 自动文摘, 文本聚类 / 分类等方面有着…

我发现,被裁的一般都是情商低的人!网友:老板只看你有没有利用价值!

什么样的人容易被裁员?一位网友分享了自己的发现:被裁的一般都是情商比较低的。有人认同楼主,情商高能在一定程度上降低被裁的概率,大多数被裁的员工是因为情商不够,导致人际关系不好,才被辞退。有人说&…

JS如何读取对象内的一个属性两种方法

目录一:读取对象内的一个属性--可以用数组二:读取对象内的一个属性--可以用 .1、点的方式2、中括号的方式一:读取对象内的一个属性–可以用数组 二:读取对象内的一个属性–可以用 . let obj {name:张三,age:18,address:中国}1、…

【PAT甲级 - C++题解】1067 Sort with Swap(0, i)

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📚专栏地址:PAT题解集合 📝原题地址:题目详情 - 1067 Sort with Swap(0, i) (pintia.cn) 🔑中文翻译:用 Swap(0, i) 操作…

【关于时间序列的ML】项目 3 :基于机器学习的地震预测模型

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

Datawhale powerful-numpy《从小白到入门》学习笔记

Datawhale powerful-numpy《从小白到入门》学习笔记 持续更新中 文章目录Datawhale powerful-numpy《从小白到入门》学习笔记摘自官方文档的一些话What is NumPy?Why is NumPy Fast?Who Else Uses NumPy?一.创建和生成1.从python列表或元组创建从列表创建从元组创建2.使用ar…

基于ISO13209(OTX)实现引导诊断

在上篇文章《基于ISO13209(OTX)实现EOL下线序列》中,讲到了OTX的由来以及OTX在EOL中的实现案例,而本文将讲述OTX的另一个广阔应用场景——定义引导诊断序列。 一 何为引导诊断? 引导诊断,通常也称为“引导…

市面上有哪些自动生成报表的工具?

每到月末、季度、年底,就是企业里各营销、财务、运营、企管等各部门“摆数据、晒业绩”的时候,除了财务因为有规范的制度约束,在规则和工具上更有保障(最常见的就是在财务软件/ERP 里面自动生成三大周报)之外&#xff…

GoPass系列免杀基础(一)

Goby社区第 23 篇插件分享文章 全文共:7730 字 预计阅读时间:20 分钟 小板凳提示:过数字全家桶(开启晶核)、某绒、卡巴、WD、某管家、魔法保姆、机器人、橘子,全程新手简单版,欢迎师傅们来交流…

一个被迫毕业面试 30 家公司,终于上岸了的Java老前辈的经验分享!

今天分享一个朋友的经历,被“毕业”后的求职经历: 在老东家干了 6 年,发展一般,很想出去,但是一直没有合适的机会,只好一边准备面试一边学习。让我没有想到的是,突然收到了“毕业”通知&#x…

大数据Kudu(十):Flink操作Kudu

文章目录 Flink操作Kudu Flink操作Kudu Flink主要应用场景是流式数据处理上,有些公司针对流式数据使用Flink实时分析后将结果存入Kudu,例如快手公司。这里将实时计算的结果存入Kudu需要自定义Flink Kudu Sink。 场景:Flink实时读取Socket数据,将结果存入Kudu表t_flink_re…

详解OpenCV的椭圆绘制函数ellipse()

函数ellipse()用于在图像上绘制椭圆。 有两种原型,这里只列出常用的那种。 C原型如下: void cv::ellipse(InputOutputArray img,Point center,Size axes,double angle,double startAngle,double endAngle,const Scalar & color,int thickness 1,…

地统计插值学习心得(三)ArcGIS Pro与ArcMap软件中地统计分析的区别

前言 ArcMap中地统计分析由来已久,很多GIS专业的同学学习地统计内容都是在ArcMap软件中实现的,随着IT技术的发展,ArcGIS系列软件架构也发生了重大变化,传统的ArcMap软件已不太能够满足当前的应用需求,在此背景下,ESRI推出了64位的ArcGIS Pro桌面软件,来实现二三维一体化…

【关于时间序列的ML】项目 4 :使用机器学习预测迁移

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

【关于2022年卡塔尔世界杯】

2022卡塔尔世界杯最全面的看点和分析,相信一定有你感兴趣的一点,相信一定会有你感兴趣的,推荐点赞收藏~~ 2022年世界杯比以往任何时候都晚,因为卡塔尔太热了…… 然而,四年一度的世界杯终于……来了 今年的世界杯&am…

非零基础自学Golang 第14章 反射 14.1 反射定义

非零基础自学Golang 文章目录非零基础自学Golang第14章 反射14.1 反射定义14.1.1 反射的定义14.1.2 与其他语言的区别第14章 反射 我们常用的一个打印函数fmt.Println()可以打印任何类型的数据,但是它本身是怎么实现的呢? 解读源码可以看到&#xff0c…

人员定位系统如何实现对人、车、物的安全管控?

人员定位系统是采用物联网设计理念,通过结合定位基站、视频监控、人脸抓拍、巡更、门禁、道闸、梯控等系统,对管控区域工作人员、访客、巡检人员进行精细化、规范化、智能化理。 智慧安全的概念随着物联网技术的发展逐渐成为发展趋势,人员定位…

【Python机器学习】卷积神经网络Vgg19模型预测动物类别实战(附源码和数据集)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 典型神经网络 在深度学习的发展过程中,出现了很多经典的卷积神经网络,它们对深度学习的学术研究和工业生产斗起到了促进的作用,如VGG ResNet Inception DenseNet等等,很多实际…