当前位置:网站首页>虚拟地址空间布局
虚拟地址空间布局
2022-08-03 05:23:00 【SEVENTHD7】
VMEMMAP_SIZE
内核使用page结构体描述一个物理页,内存的所有物理页对应一个page结构体数组。如果内存的物理地址空间不连续,存在很多空洞,称为稀疏内存。vmemmap区域是稀疏内存的page结构体数组的虚拟地址空间。
根据注释:这个区域的大小可以存放所有的 struct page 对象数组,这个数组可以覆盖 整个 线性映射区域。
#define VMEMMAP_SIZE \(UL(1) << (VA_BITS - PAGE_SHIFT - 1 + STRUCT_PAGE_MAX_SHIFT))
(内核虚拟空间大小/4096/2=内核线性映射地址空间的page数量(P),对应page 结构体占用的总虚拟内存=P*BITS(STRUCT_PAGE_MAX_SHIFT)=2^6*P.)
举例:sizeof struct page 为44个字节。 2^5 = 32 < 44 ; 2^6 = 64 > 44; 则 STRUCT_PAGE_MAX_SHIFT 为 6 。 shift 是移位, max 是最大。这么大的空间中,肯定可以存放的下一个 struct page 对象。
2 modules
如果定义了CONFIG_MODULES功能,则需要在用户空间开辟一段空间给insmod插入的模块。
这部分空间是动态映射的,在定义CONFIG_HIGHMEM情况下为16MB-2MB=14MB,从0xbf00000 - 0xbfe00000。
在 AARCH64 里是128M
边栏推荐
猜你喜欢
自监督论文阅读笔记 S3Net:Self-supervised Self-ensembling Network for Semi-supervised RGB-D Salient Object Det
【源码解读】你买的NFT到底是什么?
交叉熵(第六周)
【 Nmap and Metasploit common commands 】
当我们在看Etherscan的时候,到底在看什么?
softmax和最大熵
二叉树常见的问题和解决思路
自监督论文阅读笔记 TASK-RELATED SELF-SUPERVISED LEARNING FOR REMOTE SENSING IMAGE CHANGE DETECTION
神经网络基础
进程间通信IPC - 信号量
随机推荐
自监督论文阅读笔记FIAD net: a Fast SAR ship detection network based on feature integration attention and self
卷积神经网络入门
[Rebound shell and privilege escalation]
IPC 通信 - IPC
自监督论文阅读笔记 Self-supervised Label Augmentation via Input Transformations
php连接数据库脚本
网络间通信
IPC通信 - 管道
优雅的拦截TabLayout的点击事件
嵌入式实验三(代码几乎都要改才能运行)
关于梯度下降法的一些优化方法
深度学习理论课程第八、九、十章总结
ASP.NET MVC3的伪静态实现
C# Base64加密
ASP.NET MVC:自定义 Route
【源码解读】火爆的二舅币真的跑路了吗?
Oracle count(1)、count(*)、count(列) 区别详解
c#,.net 下载文件 设置断点
3588. 排列与二进制
进程间通讯 (IPC 技术) - 信号