linux中进程的页表如何映射

我一开以为页表就是简单的一一映射的关系

但是想想,算一个内存2^32 * (4(物理内存) + 4(虚拟内存) + 2(权限,凑个整2字节)),相当于40GB,哥们一个进程要开40GB空间,有点开玩笑了!所以肯定不是!

可以算一下占用多少内存:

2^20bit(叶框的起始地址) 约等于3字节,权限就当 1字节,相当于二级页表占4字节 * 1024个,就是4kb,4kb*1024个也目录数量 + 1字节*1024 约等于4MB。其实4MB也不算小了,所以创建一个进程的代价还是能大的,进程不进要创建页表,还有其他东西,占比比较大的还是进程创建时,要在cpu的cache寄存器中缓存该进程的热数据:

相关推荐
leisoo80977 小时前
100GBA股股票数据怎么存ClickHouseRedisMySQLJSON完整对比
大数据·linux·服务器·开发语言·python
青瓦梦滋8 小时前
传输层UDP/TCP协议
linux·网络·c++·网络协议·tcp/ip·udp
ltl9 小时前
机密计算:SGX、SEV-SNP、TDX 与 ARM CCA
linux
ltl9 小时前
互联与网络:NVLink、InfiniBand、RoCE 与国产替代
linux
码上上班9 小时前
tengine知识点
linux·服务器·centos
雾时之林12 小时前
Linux--软件管理、源码包安装
linux·服务器·数据库
sxstj15 小时前
Ubuntu 完整安装并启用 Flatpak 教程
linux·运维·ubuntu
RisunJan15 小时前
Linux命令-sshd(SSH 服务器守护进程)
linux·服务器·ssh
天疆说15 小时前
Ubuntu 26.04 下 Intel Meteor Lake 核显 + NPU 驱动配置与 PyTorch NPU 推理实测
linux·pytorch·ubuntu
2401_8685347816 小时前
存储与虚拟化
linux·网络协议