linux中进程的页表如何映射

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

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

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

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

相关推荐
霖.241 分钟前
service的两种代理实现
linux·服务器·容器·kubernetes
Lin_Aries_042111 分钟前
基于 GitLab 的自动化镜像构建
linux·运维·docker·容器·自动化·gitlab
hkhkhkhkh12321 分钟前
Git push 失败(remote unpack failed: Missing tree)解决方案
linux·git
Eloudy21 分钟前
制作 Bash Shell 方式的软件发布安装包的原理和方法
linux·bash
霖.2433 分钟前
K8s实践中的重点知识
linux·云原生·kubernetes
truesnow37 分钟前
速通 awk:一篇文章带你理解 awk 原理,大量实战案例让你马上成为 awk 专家
linux
Lyre丶1 小时前
Ubuntu 24.04 LTS 安装GAMIT
linux·经验分享·学习·ubuntu·gamit
namekong81 小时前
ubuntu 通过下面几种方式查看系统 重启时间/开机时间:
linux·运维·ubuntu
爱奥尼欧1 小时前
【Linux】网络部分——网络基础(协议与网络传输)
linux·网络·arm开发
_dindong2 小时前
Linux系统编程:线程概念
linux·运维·笔记·学习