linux中进程的页表如何映射

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

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

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

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

相关推荐
V__KING__1 小时前
systemd-remount-fs,fstab之间的渊源
linux·服务器·网络
酿情师1 小时前
Windows Subsystem for Linux (WSL, Ubuntu)安装教程(详细)
linux·windows·ubuntu
Titan20242 小时前
Linux环境变量个人笔记
linux·服务器·c++
青柠代码录2 小时前
【Linux】路径区分:testdir、testdir/、testdir/*
linux·运维·服务器
7yewh3 小时前
jetson_yolo_deployment 02_linux_dev_skills
linux·python·嵌入式硬件·yolo·嵌入式
supersolon3 小时前
Windows下WSL(Ubuntu24.04)安装Nodejs
linux·ubuntu·node.js
进击切图仔4 小时前
跨系统时间戳同步问题解决总结
linux
wsoz4 小时前
文件IO讲解
linux·嵌入式
mounter6254 小时前
基于MLX设备的Devlink 工具全指南与核心架构演进
linux·运维·服务器·网络·架构·kernel