linux中进程的页表如何映射

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

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

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

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

相关推荐
小晶晶京京10 分钟前
day34-LNMP详解
linux·运维·服务器
画个太阳作晴天11 分钟前
A12预装app
linux·服务器·前端
fengyehongWorld1 小时前
Linux crontab定时任务
linux·运维
shuangrenlong1 小时前
ubuntu更新chrome版本
linux·chrome·ubuntu
碎像1 小时前
Linux上配置环境变量
linux·运维·服务器
敲上瘾2 小时前
Linux系统cgroups资源精细化控制基础
linux·测试工具·docker·压力测试·cgroups
起个昵称吧2 小时前
线程相关编程、线程间通信、互斥锁
linux·算法
sunflower_w3 小时前
linux I2C核心、总线与设备驱动
linux·运维·服务器
Ronin3054 小时前
【Linux系统】进程间通信:System V IPC——共享内存
linux·服务器·system v 共享内存
基于python的毕设5 小时前
C语言栈的实现
linux·c语言·ubuntu