linux中进程的页表如何映射

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

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

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

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

相关推荐
Zfox_2 分钟前
【Linux】进程信号全攻略(二)
linux·运维·c语言·c++
安於宿命7 分钟前
【Linux】简易版shell
linux·运维·服务器
黄小耶@19 分钟前
linux常见命令
linux·运维·服务器
叫我龙翔20 分钟前
【计网】实现reactor反应堆模型 --- 框架搭建
linux·运维·网络
古驿幽情22 分钟前
CentOS AppStream 8 手动更新 yum源
linux·运维·centos·yum
BillKu23 分钟前
Linux(CentOS)安装 Nginx
linux·运维·nginx·centos
BillKu27 分钟前
Linux(CentOS)yum update -y 事故
linux·运维·centos
a2663789631 分钟前
解决yum命令报错“Could not resolve host: mirrorlist.centos.org
linux·运维·centos
2739920292 小时前
Ubuntu20.04 安装build-essential问题
linux
wowocpp5 小时前
查看 linux ubuntu 分区 和 挂载 情况 lsblk
linux·运维·ubuntu