当前位置: 首页 > news >正文

linux 内核 - 内存管理概念

        在一些允许扩展内存的计算机中,系统内存可以增加,但物理内存仍然是计算机系统中的有限资源,虚拟内存是一个概念,它给每个进程一个“幻觉”,让进程认为自己拥有很大甚至几乎无限的内存,有时比系统实际拥有的内存还多。为了说明内存管理,我们引入几个概念:地址空间、虚拟(或逻辑)地址、物理地址和总线地址。     

     1. 物理地址(Physical Address)

          标识物理内存(RAM)的位置;由于虚拟内存机制,用户或内核通常不会直接操作物理地址,而是通过对应的逻辑地址访问它。

     2. 虚拟地址(Virtual Address)

          不一定在物理内存中实际存在。CPU 使用这个地址访问物理内存,由 内存管理单元(MMU, Memory Management Unit) 负责转换。MMU 位于 CPU 核心和内存之间,通常集成在物理 CPU 中(在 ARM 架构上是核心的一部分)。每次访问内存时,MMU 都会将虚拟地址转换成物理地址,这个过程称为 地址转换(Address Translation)。

      3. 逻辑地址(Logical Address)

       通过线性映射(linear mapping)生成的地址。是虚拟地址中相对于物理地址具有固定偏移量的部分(PAGE_OFFSET 上的映射)。所以 逻辑地址总是虚拟地址,但虚拟地址不一定是逻辑地址。

       4. 总线地址(Bus Address)

        总线地址是 CPU 或 DMA 控制器通过 系统总线访问内存或外设时使用的地址,它是硬件层面的寻址方式,用于在 CPU、GPU、外设和内存之间进行数据传输。对于大多数现代 CPU,总线地址和物理地址通常是 一一对应 的,但有些架构可能存在偏移或重映射。当外设通过 DMA(Direct Memory Access)访问内存时,需要使用总线地址,而不是虚拟地址。内核会负责将物理地址转换为总线地址(如果有必要),保证硬件能够正确访问内存​​​​​​​。

http://www.lryc.cn/news/620235.html

相关文章:

  • Linux 服务部署:自签 CA 证书构建 HTTPS 及动态 Web 集成
  • GO学习记录四——读取excel完成数据库建表
  • [AXI5]AXI协议中awsize和awlen在Vector Atomic地址膨胀中的作用
  • Vue3从入门到精通: 3.5 Vue3与TypeScript集成深度解析
  • FPGA的PS基础1
  • 力扣(O(1) 时间插入、删除和获取随机元素)
  • 热门手机机型重启速度对比
  • 以鼠标位置为中心进行滚动缩放
  • 力扣top100(day02-03)--链表03
  • 修复运动模糊的视频用什么软件?快速解决方案分享
  • ECCV-2018《Variational Wasserstein Clustering》
  • AI工程化闭环法(AIEC – AI Engineering Cycle) 适合TRAE CURSOR CLAUDE等工具
  • Transformer 之自注意力机制(一)
  • TF-IDF------词向量转化:从“文字”到“向量”
  • 可视化调试LangChain SQLChatMessageHistory:SQLite数据库查看全攻略
  • Java多线程进阶-从乐观锁到读写锁
  • 西门子TIA-SCL转STL指令项目案例及技巧
  • 【Python】Python 函数基本介绍(详细版)​
  • ARM 实操 流水灯 按键控制 day53
  • ACL 可以限制哪些流量?入方向和出方向怎么判断?
  • vue路由_router
  • rk3588 ubuntu20.04安装包经常出现的问题总结(chatgpt回复)
  • C++ 优选算法 力扣 209.长度最小的子数组 滑动窗口 (同向双指针)优化 每日一题 详细题解
  • VUE基础笔记
  • 计算机网络---IPv6
  • 向长波红外成像图注入非均匀噪声
  • ROS2实用工具
  • 小电视视频内容获取GUI工具
  • Ansible 实操笔记:Playbook 与变量管理
  • 传输层协议 TCP(1)