ARM64架构处理器采用48位物理寻址机制,最大可以寻找到256TB的物理地址空间。对于目前的应用来说已经足够了,不需要扩展到64位的物理地址寻址。虚拟地址也同样最大支持48位支持,所以在处理器的架构设计上,把虚拟地址空间划分为两个空间,每个空间最大支持256TB。Linux内核在大多数体系结构中都把两个地址空间划分为用户空间和内核空间。

  • 用户空间:0x0000_0000_0000_0000到0x0000_ffff_ffff_ffff

  • 内核空间:0xffff_0000_0000_0000到0xffff_ffff_ffff_ffff

64位的Linux内核已经没有高端内存的概念了,因为48位的寻址空间已经足够大了

在QEMU实验平台上,ARM64架构的LInux内核的内存分布图如下:

如图所示,ARM64架构处理器的Linux内核内存布局图。ARM64架构处理器的Linux内核内存布局如下:

(1)用户空间:0x0000_0000_0000_0000到0x0000_ffff_ffff_ffff,一共有256TB。

(2)非规范区域

(3)内核空间:0xffff_0000_0000_0000到0xffff_ffff_ffff_ffff。一共有256TB。

内核空间又做了如下细分:

  • vmalloc区域:0xffff_0000_0000_0000到0xffff_7bff_bfff_0000,大小为126974GB。
  • vmemmap区域:0xffff_7bff_c000_0000到0xffff_7fff_c000_0000,大小为4096GB。
  • PCI I/O区域:0xffff_7fff_ae00_0000到0xffff_7fff_be00_0000,大小为16MB。
  • Modules区域:0xffff_7fff_c000_0000到0xffff_8000_0000_0000,大小为64MB。
  • normal memory线性映射区:0xffff_8000_0000_0000到0xffff_ffff_ffff_ffff,大小为128TB。

ARM64内核内存布局图 - yooooooo - 博客园

ARM64内核内存布局图相关推荐

  1. arm64内核内存布局-vmemmap笔记

    vmemmap是内核中page 数据的虚拟地址.针对sparse内存模型.内核申请page获取的page地址从此开始. SPARSEMEM原理: section的概念: SPARSEMEM内存模型引入 ...

  2. [内存管理]linux X86_64处理器的内存布局图(转自:http://blog.csdn.net/younger_china/article/details/16829687)

    Linux X86 64位内存布局图

  3. [内存管理]linux X86_64处理器的内存布局图

    linux X86 64位内存布局图

  4. 【Linux 内核 内存管理】Linux 内核内存布局 ④ ( ARM64 架构体系内存分布 | 内核启动源码 start_kernel | 内存初始化 mm_init | mem_init )

    文章目录 一.ARM64 架构体系内存分布 二.Linux 内核启动源码 start_kernel 三.内存初始化源码 mm_init 四.内存初始化源码 mem_init 一.ARM64 架构体系内 ...

  5. 【Linux 内核 内存管理】Linux 内核内存布局 ③ ( Linux 内核 动态分配内存 系统接口函数 | 统计输出 vmalloc 分配的内存 )

    文章目录 一.Linux 内核 动态分配内存 系统接口函数 二.统计输出 vmalloc 分配的内存 一.Linux 内核 动态分配内存 系统接口函数 Linux 内核 " 动态分配内存 & ...

  6. 【Linux 内核 内存管理】Linux 内核内存布局 ② ( x86_64 架构体系内存分布 | 查看 /proc/meminfo 文件 | /proc/meminfo 重要字段解析 )

    文章目录 一.查看 x86_64 架构体系内存分布 二./proc/meminfo 重要字段解析 一.查看 x86_64 架构体系内存分布 执行 cat /proc/meminfo 命令 , 可以查看 ...

  7. linux 64 内存管理,[内存管理]linux X86_64处理器的内存布局图

    Windbg学习使用 WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件. 1. WinDbg介绍:  ...

  8. 【Linux 内核 内存管理】Linux 内核内存布局 ① ( 查看 Linux 操作系统位数 | 查看 Linux 操作系统软硬件信息 )

    文章目录 一.查看 Linux 操作系统位数 二.查看 Linux 操作系统软硬件信息 一.查看 Linux 操作系统位数 在 646464 位的 Linux 中 , 使用 484848 位 表示 & ...

  9. 详解 ARM64 内核中对 52 位虚拟地址的支持

    当 64 位硬件变得可用之后,处理更大地址空间(大于 232 字节)的需求变得显而易见.现如今一些公司已经提供 64TiB 或更大内存的服务器,x86_64 架构和 arm64 架构现在允许寻址的地址 ...

最新文章

  1. Oracle命令(一):Oracle登录命令
  2. Nat. Med. | 制定指导原则以报告AI在临床试验中的使用
  3. 多核之后,CPU 的发展方向是什么?中科院计算所包云岗详细解读
  4. python 如何给matplotlib降级_Python如何使用Matplotlib的作图
  5. 波士顿动力机器狗半夜遛弯儿惊呆路人,还配合拍照,网友:想到了《黑镜》...
  6. 第一章 面向对象编程
  7. sass 基础——回顾
  8. 【白皮书分享】智能文字识别(OCR)能力评测与应用白皮书.pdf(附下载链接)...
  9. iTOP-4412开发板基于Linux-C测试程序的编译和运行
  10. Windows 发布本地提权0day,可以系统权限执行任意代码
  11. 【RLchina第六讲】Imitation Learning
  12. 微信小程序生成海报分享:canvas绘制文字溢出如何换行
  13. 常见OJ提交结果对照表
  14. 啊哈C语言 第8章 游戏时间到了(第29讲)
  15. 网络安全课第三节 SQL 注入的检测与防御
  16. Python画图实战之画沪深300的收益率
  17. Excel的文件打开特别慢,xls文件特别大解决一例
  18. 域组策略与本地组策略
  19. 三个牛人教你怎么高效阅读论文
  20. Kali渗透测试(四)——无线网络WPA攻击(PSK破解、AIROLIB、JTR、cowpatty、pyrit)

热门文章

  1. 如何成为一名合格的数据产品经理?
  2. Android数据库高手秘籍(六)——LitePal的修改和删除操作
  3. 几年前之所预言,其人不死言之依然
  4. 【Tushare 大数据社区——解救你的财经数据需求】
  5. 人脸识别系列(六):FaceNet
  6. 页面提交成功后,弹窗提示
  7. 【中科院】分子生物学-朱玉贤第四版-笔记-病毒的分子生物学
  8. 微信小游戏 缓存目录
  9. 微信小程序仿照微信拖动缩放图片和截取头像
  10. PPP点对点协议中 异步链路中0x7d用作转义字符时的过程