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

#Linux内存管理# 在32bit Linux中,内核空间的线性映射的虚拟地址和物理地址是如何换算的?

在32位Linux系统中,内核空间的线性映射(也称为直接映射或低端内存映射)采用固定的偏移量进行虚拟地址和物理地址的换算。以下是详细的转换规则及背景知识:

1. 32位Linux内存布局

用户空间:虚拟地址 0x00000000 到 0xBFFFFFFF(0~3GB),供用户态进程使用。

内核空间:虚拟地址 0xC0000000 到 0xFFFFFFFF(3GB~4GB),保留给内核使用。其中,内核空间的起始地址 PAGE_OFFSET 默认为 0xC0000000(3GB)。

 

2. 线性映射规则

内核通过固定偏移量将物理内存直接映射到虚拟地址空间,使得大部分物理内存可以通过简单的算术运算转换为虚拟地址,无需复杂页表查询。

 

虚拟地址到物理地址:

物理地址=虚拟地址−PAGE_OFFSET

 

物理地址到虚拟地址:

虚拟地址=物理地址+PAGE_OFFSET

 

示例:

 

物理地址 0x1000 ➔ 虚拟地址 0xC0001000。

虚拟地址 0xC0005000 ➔ 物理地址 0x5000。

 

3. 适用条件

 

低端内存(Low Memory):物理地址范围 0x00000000 到 HIGH_MEMORY(通常为896MB)。这部分内存通过线性映射直接访问。

 

高端内存(High Memory):物理地址超过896MB时,内核无法全部线性映射,需通过动态机制(如kmap或vmalloc)访问。虚拟地址范围为 0xFIXADDR_START ~ VMALLOC_END(如 0xFF000000)。

 

4. 内核实现细节

 

相关宏:

#define __pa(vaddr) ((unsigned long)(vaddr) - PAGE_OFFSET) // 虚拟地址转物理地址

#define __va(paddr) ((void *)((unsigned long)(paddr) + PAGE_OFFSET)) // 物理地址转虚拟地址

页表设置:内核启动时通过恒等映射(偏移量 PAGE_OFFSET)建立页表项,确保虚拟地址 0xC0000000 对应物理地址 0x00000000。

 

5. 例外情况

设备内存映射:某些硬件设备的物理地址可能位于非低端内存区域,需通过ioremap映射到内核空间。

CONFIG_HIGHMEM:启用该配置后,内核可管理超过线性映射范围的物理内存,但需通过临时映射访问。

 

6.与 ARM64 的对比

总结

在32位Linux中,内核空间的线性映射通过固定偏移 PAGE_OFFSET(0xC0000000)实现虚拟地址与物理地址的转换,适用于低端内存。这种机制简化了内核访问物理内存的流程,但受限于32位地址空间,需结合高端内存机制管理大容量物理内存。

 

相关文章:

  • PWA 进阶教程(三): 如何在 PWA 中实现后台同步
  • mediacodec服务启动时加载media_codecs.xml
  • MySql面试总结(五)
  • 关于修改 vue Element admin、若依, 等后台管理系统模板的一些全局样式问题:
  • 这样看数组
  • 【TS学习】(19)TS中的类
  • 机器学习(八):K-Means聚类原理与实战
  • CSS3学习教程,从入门到精通, 化妆品网站 HTML5 + CSS3 完整项目(26)
  • Debian/Ubuntu的networking的`/etc/network/interfaces`配置文件详解
  • bilibili全链路压测改造之全链自动化测试实践
  • ZLMediaKit 源码分析——[3] ZLToolKit 中EventPoller之网络事件处理
  • Jmeter操作(数据库)
  • 讯投 QMT 使用小技巧 -如何判断今天是不是交易日
  • Java 流程控制关键字全解析:break、continue 与 goto 的深度实践指南
  • uniapp APP端在线升级(简版)
  • Linux服务器配置安装与管理
  • Linux探秘坊-------10.基础IO
  • WebRTC的ICE之TURN协议的交互流程中继转发Relay媒体数据的turnserver的测试
  • source(WEB)
  • VHT AMPDU
  • 中国巴西关于乌克兰危机的联合声明
  • 中国创面修复学科发起者之一陆树良教授病逝,享年64岁
  • 英国收紧移民政策,技术工作签证、大学招生面临更严要求
  • 专访|韩国世宗研究所中国研究中心主任:李在明若上台将推行均衡外交
  • 江西吉水通报一男子拒服兵役:不得考公,两年内经商、升学等受限
  • 影子调查丨三名“淘金客”殒命雪峰山:千余废弃金矿洞的监管难题