操作系统_03_内存管理(个人总结)

2023-10-27

    声明: 1. 本文为我的个人复习总结, 并那种从零基础开始普及知识 内容详细全面, 言辞官方的文章
              2. 由于是个人总结, 所以用最精简的话语来写文章
              3. 若有错误不当之处, 请指出

为什么要有虚拟地址?

  1. 使各个进程使用的内存 相互独立

    单片机没有操作系统, 其CPU直接操作物理地址, 当两个应用程序同时使用了一个物理地址, 程序会崩溃

    所以不能让应用程序操控物理地址, 而是让 操作系统为每个进程分配独立的一套「虚拟地址」进行相互隔离; 各个程序只能用它们各自的虚拟地址,无权访问物理地址, 操作系统负责虚拟地址映射到物理地址;

  2. 内存紧张时, 磁盘也可以充当内存使用

内部碎片 与 外部碎片 的区别?

内部碎片是已经分配出去了, 如分配给A进程500M资源, 其内部有一块1M的连续内存太小 无法使用

外部碎片是还未分配出去, 如有一块1M的连续内存太小 无法分配给其他任意一个进程

管理 虚拟地址 与 物理地址之间的关系:

  1. 段式内存管理(先出现)

    根据程序的逻辑角度,分成了堆段栈段数据段代码段等;每个段的大小不固定的, 由用户程序决定

    优点:

    ​ 这样可以分离出不同属性的段

    缺点:

    ​ 粒度大, 内存交换时交换的数据太多

    ​ 内存碎片多

  2. 页式内存管理(后出现, 解决了内存分段的缺点)

    把虚拟空间和物理空间分成大小固定的页,如在 Linux 系统中,每一页的大小为 4KB

    优点:

    1. 粒度小, 内存交换时交换的数据少

    2. 分页允许将一个进程分散地装入到许多不相邻的分区中

    3. 内存碎片少

    为了解决页表过大的问题,就有了多级页表, (原理: 二级页表按需加载)

    引发新的问题: CPU 在寻址时要查找多层,加大了时间上的开销。

    解决: 根据程序的局部性原理TLB缓存最近常被访问的页表项

  3. 段页式内存管理

    既具有分段的优势:

    1. 共享:

      ​ 段是信息的逻辑单位, 页是信息的物理单位并无完整的意义,不便于实现共享; 多个进程共享某个段的内存区域只需要指定段号即可,而不需要指定多个页

    2. 保护:

    ​ 不同段可以自由伸缩内存空间大小,而且不影响其他的段

    又具有分页的优势:

    ​ 由于页的内存大小都是提前规划好的, 所以可以减少内存碎片

    ​ 由于页的粒度很细, 所以可以有选择性地高效Swap

内存交换(虚拟内存):

​ 内存紧张时, 把不常使用的内存暂时存放到硬盘(换出), 在需要的时候再装载回物理内存(换入)

虚拟地址转换为物理地址

工作硬件: 内存管理单元 MMU

  1. 段式内存管理:

    在这里插入图片描述

  2. 页式内存管理:

    在这里插入图片描述

  3. 段页式内存管理:

    在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

操作系统_03_内存管理(个人总结) 的相关文章

  • 易点易动固定资产管理系统:集成飞书,助力企业全生命周期固定资产管理

    易点易动固定资产管理系统 集成飞书 助力企业全生命周期固定资产管理 在现代商业环境中 固定资产管理对企业的运营和发展至关重要 为了提高管理效率和降低成本 我们引入了易点易动固定资产管理系统 该系统集成了飞书 为企业提供全生命周期的固定资产管
  • 扬帆证券:申购新股怎样才能中签?要注意什么?

    申购新股是一种很受欢迎的理财方式 如果能够中签就有或许获得不错的收益 那么申购新股怎样才能中签 要注意什么 扬帆配资 也为大家准备了相关内容 以供参考 申购新股怎样才能中签 要想申购新股首要要有申购资历 也便是要有足够的市值配售额度 市值配
  • 2023年终盘点:Apache SeaTunnel社区年度成就与展望

    随着2023年即将画上圆满的句号 是时候回顾过去一年Apache SeaTunnel社区的辉煌成就和宝贵经验 在这充满挑战和机遇的一年里 我们的社区不断壮大 技术不断进步 成就斐然 展望2024年 展望来年 Apache SeaTunnel
  • 8大数字技术打造ESG发展新范式!工业“双碳”建设应该这么做

    随着国家 双碳 目标的提出 数字化 绿色化证进入历史交汇 协同发展 路径合一 相辅相成的重要阶段 在此背景下 中国信通院 中国航天航空 工业互联网产业联盟于2022年联合出版了 数字技术赋能工业碳达峰碳中和应用指南 以下简称 指南 今年又细
  • 电商数据接口API深度解析

    随着电子商务的快速发展 电商平台之间的竞争也日益激烈 为了在市场中保持领先地位 电商平台需要不断地优化用户体验 提供个性化的服务和精准的推荐 而这一切都离不开数据 电商数据接口API作为一种高效 便捷的数据交互方式 被广泛应用于电商领域 本
  • 如何用CHAT写新能源颗粒报告?

    问CHAT 写一份新能源颗粒报告 CHAT回复 新能源颗粒 也就是生化质能源颗粒 以其清洁 可再生的特性 在环保能源市场上拥有越来越广泛的应用 以下为对于新能源颗粒行业的一份报告 1 行业概述 新能源颗粒来源广泛 主要包括农业废弃物 林业废
  • 现在还有人使用Excel表格做进销存管理吗?

    当然还是有人在使用Excel表格做进销存管理的 比如一些规模小的个体户或小微企业 使用Excel做进销存对这部分群体来说是合理的选择 然而 需要注意的是 随着 企业规模的扩大 Excel的局限性也会显现出来 容易出错 人为操作和数据输入错误
  • Spark 中 BroadCast 导致的内存溢出(SparkFatalException)

    背景 本文基于 Spark 3 1 1 open jdk 1 8 0 352 目前在排查 Spark 任务的时候 遇到了一个很奇怪的问题 在此记录一下 现象描述 一个 Spark Application Driver端的内存为 5GB 一直
  • 数据采集才是MES系统的核心内容

    一 数据采集在MES管理系统中的应用 1 设备数据采集 MES管理系统通过与生产设备的连接 可以实时采集设备运行状态 产量 质量等相关数据 这有助于企业及时掌握设备运行状况 优化设备资源配置 提高设备利用率 2 工艺数据采集 MES管理系统
  • API接口:技术、应用与实践

    随着数字化时代的到来 API接口在软件开发和数据交互中扮演着越来越重要的角色 本文深入探讨了API接口的基本概念 技术原理 设计方法 最佳实践以及在各行业的应用案例 关键词 API接口 软件开发 数据交互 技术原理 设计方法 一 引言 随着
  • 心灵与计算机:解密情感处理

    1 背景介绍 情感处理是人工智能领域中一个重要的研究方向 它旨在使计算机能理解 识别和处理人类的情感 情感处理的主要应用包括情感分析 情感识别 情感挖掘等 随着大数据 深度学习和自然语言处理等技术的发展 情感处理技术已经取得了显著的进展 然
  • AI大模型应用入门实战与进阶:从AI模型应用到商业转化

    1 背景介绍 人工智能 AI 已经成为当今世界最热门的技术话题之一 其在各个领域的应用也不断拓展 大型AI模型是人工智能领域的核心 它们在自然语言处理 图像识别 语音识别等方面的表现力和性能都有着重要的作用 然而 如何将这些大型AI模型应用
  • 慢思维的力量:如何解决复杂问题

    1 背景介绍 在当今的快速发展和竞争激烈的环境中 我们需要更有效地解决复杂问题 这需要我们具备一种称为慢思维的思考方式 它可以帮助我们更好地理解问题 制定更好的解决方案 本文将介绍慢思维的核心概念 算法原理 具体操作步骤以及数学模型公式 并
  • AI大模型应用入门实战与进阶:Part 7 Transformer模型解析

    1 背景介绍 自从2020年的大模型如GPT 3等开始引起广泛关注 人工智能领域的研究和应用得到了重大推动 在这一波技术创新中 Transformer模型发挥着关键作用 这篇文章将深入探讨Transformer模型的核心概念 算法原理和实例
  • 扬帆证券:产业化破题在即 人形机器人超预期演进

    大模型助力下的拐点 特斯拉A股产业链上 两笔重磅出资几乎一起现身 总规划超百亿元 1月4日 拓普集团公告 与宁波经济技能开发区办理委员会签署了 机器人电驱系统研发生产基地项目出资协议书 公司拟出资50亿元 建设机器人核心部件生产基地 此次出
  • 大数据毕业设计:python微博舆情分析系统+可视化+情感分析+爬虫+机器学习(源码)✅

    博主介绍 全网粉丝10W 前互联网大厂软件研发 集结硕博英豪成立工作室 专注于计算机相关专业 毕业设计 项目实战6年之久 选择我们就是选择放心 选择安心毕业 感兴趣的可以先收藏起来 点赞 关注不迷路 毕业设计 2023 2024年计算机毕业
  • 利用CHAT上传文件的操作

    问CHAT autox js ui 上传框 CHAT回复 上传文件的操作如果是在应用界面中的话 由于Android对于文件权限的限制 你可能不能直接模拟点击选择文件 一般来说有两种常见的解决方案 一种是使用intent来模拟发送一个文件路径
  • CorelDRAW2024官方中文版重磅发布更新

    35年专注于矢量设计始于1988年并不断推陈出新 致力为全球设计工作者提供更高效的设计工具 CorelDRAW 滋养并见证了一代设计师的成长 在最短的时间内交付作品 CorelDRAW的智能高效会让你一见钟情 CorelDRAW 全称 Co
  • 使用企业订货软件的担忧与考虑|网上APP订货系统

    使用企业订货软件的担忧与考虑 网上APP订货系统 网上订货系统担心出现的问题 1 如果在订货系统中定错 多 货物了该怎么办 其实这也是很多人在网购或者是现实中经常会犯的一个错误 但是网上订货平台为大家提供了很多的解决方案 其中对于订单的修改
  • 【产品兼容认证】WhaleStudio 成功兼容TiDB数据库软件

    平凯星辰和白鲸开源宣布成功完成产品兼容认证 北京 2023年12月27日 平凯星辰 北京 科技有限公司 以下简称平凯星辰 旗下的 TiDB 产品与白鲸开源的 WhaleStudio 已成功完成产品兼容性认证 这一重要合作旨在为全球客户提供更

随机推荐

  • 命名空间system中不存在data_我理解中的Unity DOTS

    我是第一次接触到 ECS 并不是使用老手 以下仅仅是我通过浏览相关文章和实现相关 Demo 而写出的一篇分享初见文 如有错误 请您指出 谢谢 因为本身就是忠实的 Overwatch 玩家 所以天然的对其应用的 ECS 架构有所兴趣 再加上最
  • 流文件保存到本地的两种方法

    1 FileStream fs new FileStream path FileMode Create fs Write ImageBuff 0 ImageBuff Length fs Close 注释 ImageBuff 图片流 byte
  • HEX(Xilinx MCS)文件格式详解

    文章目录 自己定义个文件格式 HEX文件格式详解 HEX 文件是指以hex为后缀 采用Intel HEX编码规则的文件 可以直接使用文本编辑工具打开 通常用来对微控制器或ROM进行编程 本质上都是对存储器编程 其中包含了每个地址对应的数据
  • QT connect()连接函数的一点说明

    QObject connect中的signal和slot函数一定要有参数类型 但是 不可以有参数名 指定信号和方法时 必须使用SIGNAL 和SLOT 宏 例如 关联信号和槽函数 connect configureWindow SIGNAL
  • MySQL索引失效场景实例演示

    文章目录 一 环境信息 二 表 数据准备 三 复合索引的失效情况 最左前缀法则 or查询 四 单列索引的失效情况 like模糊查询使用前通配符 索引列上使用函数 字符串索引没加引号 使用 lt gt gt lt is null 或 is n
  • Jenkins安装与配置

    什么是CICD CI CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法 CI CD 的核心概念是持续集成 持续交付和持续部署 作为一个面向开发和运营团队的解决方案 CI CD 主要针对在集成新代码时所引发的问题 亦称 集成
  • Ubuntu16.04下基于Docker的Caffe-GPU版本环境搭建总结

    Caffe的GPU环境搭建在docker支持下并不困难 但是过程比较杂 所需依赖如下 本文会说明安装方法 帮助大家少走弯路 GNU Linux x86 64 with kernel version gt 3 10 Docker gt 1 9
  • 这是一个更新版本服务代码python

    import win32serviceutil import win32service import win32event import os import logging import inspect import time from u
  • 【计算机网络】实验报告三:Cisco Packet Tracer 实验

    Cisco Packet Tracer 实验 1 直接连接两台 PC 构建 LAN 2 用交换机构建 LAN 3 交换机接口地址列表 4 生成树协议 Spanning Tree Protocol 5 路由器配置初步 6 静态路由 7 动态路
  • 1045 快速排序

    著名的快速排序算法里有一个经典的划分过程 我们通常采用某种方法取一个元素作为主元 通过交换 把比主元小的元素放到它的左边 比主元大的元素放到它的右边 给定划分后的 N 个互不相同的正整数的排列 请问有多少个元素可能是划分前选取的主元 例如给
  • typora高亮_用Typora实现写作排版一体化

    用Typora实现写作排版一体化 一般的推文制作过程 大概都是在本地word写好文案以后 再导入到第三方的推文编辑器中进行排版 最后再黏贴到微信的图文素材编辑器里生成图文发布 经常看到许多公众号文章充满花里胡哨的元素 大概都是因为使用了推文
  • SpringBoot整合Elasticsearch(最新最全,高效安装到使用)

    文章目录 一 安装Elasticsearch相关插件 1 选择版本 2 安装Elasticsearch 3 安装node 4 安装grunt 5 安装es head插件 6 安装kibana 7 安装ik分词器 二 整合SpringBoot
  • 从零开始学编程——DOS命令

    一 DOS操作系统 DOS 英文 Disk Operating System 是一款由微软早期推出的磁盘操作系统 可以通过一系列dos命令直接对硬盘文件进行增删改查 DOS和windiws的最大不同之处在于它是一个字符式操作系统 所有的操作
  • Oracle 表空间查询与操作方法

    一 查询篇 1 查询oracle表空间的使用情况 select b file id 文件ID b tablespace name 表空间 b file name 物理文件名 b bytes 总字节数 b bytes sum nvl a by
  • 自动化办公更简单了:新版python-office,有哪些更新?

    职场经验谈 大家好 这里是程序员晚枫 小破站 小红薯都叫这个名 去年4月开源了一个Python自动化办公项目 python office GitHub和Gitee都能看到 1行代码实现复杂的自动化办公任务 帮助不懂代码的小白 快速使用Pyt
  • Unity鼠标控制物体的旋转、移动、缩放等

    这个是控制相机 44条消息 unity 相机 旋转缩放查看 物体或地图 unity旋转查看物体 野区捕龙为宠的博客 CSDN博客 下面的是控制物体本身 知识点 Input GetMouseButton 0 获取鼠标输入 参数为一个int值
  • QT moveToThread解析

    目录 简介 源码分析 判断是否可以执行移动动作 执行移动动作 调用moveToThread helper 调用setThreadData helper 简介 每一个QObject子类都会关联到一个具体QThread线程上 QObject有一
  • 同一块磁盘下,非lvm的扩容

    1 想要给跟分区扩容 2 先安装growpart yum install cloud utils growpart 3 growpart dev sda 2 发现lsblk看到扩容了 但是实际df还是没扩容 4 需要执行xfs growfs
  • 数据库系统之NoSQL数据库系统

    NoSQL Database Systems 什么是NoSQL数据库系统 为什么使用NoSQL NoSQL数据库系统的属性 半结构化的 无模式的数据模型 专业分布模型 弱一致性 Relaxing durability Versioning
  • 操作系统_03_内存管理(个人总结)

    声明 1 本文为我的个人复习总结 并非那种从零基础开始普及知识 内容详细全面 言辞官方的文章 2 由于是个人总结 所以用最精简的话语来写文章 3 若有错误不当之处 请指出 为什么要有虚拟地址 使各个进程使用的内存 相互独立 单片机没有操作系