进程,线程,虚拟内存,交换技术

参考资料:

参考视频1icon-default.png?t=N7T8https://www.bilibili.com/video/BV1Hs421M78w/?spm_id_from=333.999.0.0&vd_source=97411b9a8288d7869f5363f72b0d7613

参考视频2icon-default.png?t=N7T8https://www.bilibili.com/video/BV1jE411W7e8/?spm_id_from=333.337.search-card.all.click&vd_source=97411b9a8288d7869f5363f72b0d7613


相关阐述:

  1. 进程和线程
  1. 进程
  1. 执行磁盘上由代码编写的程序,并将程序从磁盘加载到内存中,变成一个可执行的程序,我们称之为进程
  2. 每一个进程都拥有一块独立的虚拟内存(下面会讲),认为自己独占了整个物理内存(即内存条)

  1. 线程
  1. 当进程的作用机制比较复杂,一个主线程不能满足同时处理多个事件,就需要开启多个线程来进行处理;
  2. 进程中的多个线程,共享着进程的虚拟内存
  3. 进程是可执行程序的一个独立工作单位,拥有者独立的内存和工作逻辑
  1. 计算机的内存分层
  1. 分层存储器体系

计算机的存储器大致分为三类:

  1. 永久存储:磁盘
  2. 临时存储:内存条
  3. 临时存储:高速缓存(通常位于CPU,寄存器等元件中)

它们速度越来越快,价格缺越来越高

  1. 虚拟内存

通常情况下,计算机系统运行的进程所需要的内存空间是远大于计算机实际的内存条的大小的,为了应对这种情况

  1. 原始的方式
  • 最原始的办法是利用基址寄存器和界限寄存器,为进程分配一段连续的物理内存,即一部分内存条;

其中,基址寄存器存储的是进程在物理内存上开始的地址,界限寄存器存储的是进程基于开始地址的偏移量

  • 但是这样显然物理内存不够每个进程分,我们就需要在磁盘中开辟一部分空间来临时存储未分配到物理内存的进程,当物理内存中有进程关闭,就将磁盘中的进程拷贝至物理内存中,或者当物理内存中有进程处于休息状态,就将休息的进程拷贝至磁盘中,将磁盘中的待执行的进程拷贝至物理内存中执行。这项技术叫内存交换技术(swapping)

  • 在频繁的物理内存和磁盘的进程交换过程中,物理内存会产生很多间隙,称之为空洞(hole),整理物理内存空洞,将进程的物理内存地址尽可能向下移动,使他们紧密的排列在一起的技术,叫内存紧缩(Memory Compaction);内存紧缩效率很低,需要很多时间。

  1. 新的内存管理方式-虚拟内存

使用基址寄存器和界限寄存器管理内存的方式因为其效率低下,已经不再使用,取而代之的是虚拟内存

  • 虚拟内存其实就是将进程所需要的物理内存,以及磁盘文件进行切分,通常4kb为一个单位,只加载CPU使用的部分到物理内存中,其余不使用的部分仍然留在磁盘文件中,使得内存的有效使用率达到最大;其中内存中叫页框,磁盘中叫页,都是4KB

  • 当然CPU并不是直接通过物理地址访问物理内存的,它是通过内存管理单元(MMU),将逻辑上的虚拟内存地址转换为物理内存地址(具体原因下面说)
  • 当进程启动时,进程会在逻辑上分配整个物理内存甚至比物理内存更大的内存,但是只加载CPU需要的页到物理内存中,以应对进程更为复杂的运行;
  • 并且会内存中的页表生成虚拟内存到物理内存的映射关系;

  • 当进程需要对虚拟内存中的页进行读写时,MMU就会通过页表到物理内存中寻找,如果物理内存没有加载,就到磁盘中进行加载
  • 当物理内存中的页框,不被CPU使用时,就会被释放,写入到磁盘中
  • 当然操作系统有缓存机制,物理内存会保存近期使用的页表项,来提高效率


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

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

相关文章

Redis基础教程(六):redis 哈希(Hash)

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

3D开发工具HOOPS助力3D制造业仿真应用实现工厂环境规划和模拟!

HOOPS SDK是全球领先的3D领域开发工具提供商Tech Soft 3D 打造的控件产品,HOOPS SDK包括4款3D软件开发工具,其中HOOPS Exchange是一款CAD数据转换工具,可读取和导入30多种CAD文件格式;HOOPS Communicator是一款专注于Web端工程图形…

昇思25天学习打卡营第13天|基于MobileNetV2的垃圾分类

MobileNetv2模型原理介绍 相比于传统的卷积神经网络,MobileNet网络使用深度可分离卷积(Depthwise Separable Convolution)的思想在准确率小幅度降低的前提下,大大减小了模型参数与运算量。并引入宽度系数α和分辨率系数β使模型满…

根据后端返回的省市区重新封装树结构(省市区通过children表示)

对比图(截取部分): 注:先看分步,最后会附上完整代码(如果有用,可以给小编点个赞吗?十分感谢) 1.首先将前端返回相同的省份只展示一次 const obj {}; let keyList []r…

SpringBoot创建一个初始化项目

提示:这一篇文章,主要是为了之后可以快速的去搭建项目,当然这篇博客,作者也会根据以后学习到的东西,慢慢去整理 文章目录 前言 搭建一个SpringBoot项目,目的是为了快速开发项目 项目列表 响应枚举类 /***…

面向优秀SCI论文写作的语言大模型提示词设计

模板1:Abstract 润色 I want you to act as an SCI reviewer and evaluate the abstract of a research paper. You may check if the abstract is well-written and serves as an informative and descriptive overview of the research. You may also check if it…

Docker 部署 Nacos v2.3.2 版本

文章目录 Github官网文档Nacos 生态图Nacos Dockerdocker-compose.ymlapplication.propertiesNacos 官方示例 Github https://github.com/alibaba/nacos 官网 https://nacos.io/ 文档 https://nacos.io/docs/latest/what-is-nacos/ Nacos 生态图 Nacos Docker 镜像&…

ARM功耗管理软件之DVFSAVS

安全之安全(security)博客目录导读 思考:功耗管理软件栈及示例?WFI&WFE?时钟&电源树?DVFS&AVS? 目录 一、ARM功耗管理软件之DVFS 二、ARM功耗管理软件之AVS 一、ARM功耗管理软件之DVFS 有一个实现特定…

我的技术十年

前言 十年一瞬,2014 年毕业至今,刚好十年。《异类》一书曾提到“一万小时定律”,要成为某个领域的专家,需要 10000 小时,按比例计算就是:如果你每天工作八小时,一天工作五天,那么成…

2024-07-01_外语学习

文章目录 前言1、Los Angeles至于单个los 是什么意思?我们可以逐词翻译这个西班牙语句子 2. Extraneous non-props attributes (style) were passed to component but could not be automatically inherited because component renders fragment or text root nodes…

ONLYOFFICE8.1版本桌面编辑器的测评(您的私人办公室)

ONLYOFFICE官网链接:ONLYOFFICE - 企业在线办公应用软件 | ONLYOFFICE 在线PDF查看器和转换器 | ONLYOFFICE​​​​​​在线办公套件 | ONLYOFFICE 一,引言 在数字化浪潮中,高效、便捷、安全的办公工具对现代职场至关重要。今天,…

SOC模块LoRa-STM32WLE5有哪些值得关注

SoC 是片上系统的缩写,是一种集成芯片,集成了计算机或其他电子系统的所有或大部分组件。这些组件通常包括中央处理器 (CPU)、内存、输入/输出接口和辅助存储接口。包含数字、模拟、混合信号和通常的 RF 信号处理功能,具体取决于应用。片上系统…

守护矿山安全生产:AI视频分析技术在煤矿领域的应用

随着人工智能(AI)技术的快速发展,其在煤矿行业的应用也日益广泛。AI视频智能分析技术作为其中的重要分支,为煤矿的安全生产、过程监测、效率提升和监管决策等提供了有力支持。 一、煤矿AI视频智能分析技术的概述 视频智慧煤矿AI…

6 矩阵相关案例

矩阵计算在CUDA中的应用是并行计算领域的典型场景 ; 矩阵算法题通常涉及线性代数的基础知识,以及对数据结构和算法的深入理解。解决这类问题时,掌握一些核心思想和技巧会非常有帮助。以下是一些常见的矩阵算法题解题思想: 动态规划…

嵌入式UI开发-lvgl+wsl2+vscode系列:5、事件(Events)

一、前言 这节进行事件的总结,通过事件回调方式将用户和ui的交互行为绑定组合起来。 二、事件示例 1、示例1(点击事件) #include "../lv_examples.h" #if LV_BUILD_EXAMPLES && LV_USE_SWITCHstatic void event_cb(lv_…

Chapter8 透明效果——Shader入门精要学习笔记

一、基本概念 在Unity中通常使用两种方法来实现透明效果 透明度测试(无法达到真正的半透明效果)透明度混合(关闭了深度写入) 透明度测试 基本原理:设置一个阈值,只要片元的透明度小于阈值,就…

全球AI新闻速递7.1

全球AI新闻速递 1.科大讯飞发布讯飞星火 V4.0。 2.成都人形机器人创新中心:基于视觉扩散架构的人形机器人任务生成式模型 R-DDPRM。 3.安徽省人形机器人产业创新中心获批,将打造国内首创、世界领先研究基地。 4.亳州牵手华为打造华佗中医药大模型。 …

[论文精读]Variational Graph Auto-Encoders

论文网址:[1611.07308] Variational Graph Auto-Encoders (arxiv.org) 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎…

DL/T 645与modbus协议是否兼容,有何关系?

不兼容。645是电表协议,modbus是通用控制协议,两个是平行关系,两个协议都可以使用485通信协议(物理接口协议)进行传输,或传输介质与物理接口相同,软件协议不同。 Modbus有以下三种通信模式 在…

ARM功耗管理软件之时钟电源树

安全之安全(security)博客目录导读 思考:功耗管理软件栈及示例?WFI&WFE?时钟&电源树?DVFS&AVS? 目录 一、时钟&电源树简介 二、时钟树示例 三、电源树示例 一、时钟&电源树简介 时钟门控与自…