linux中进程的页表如何映射

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

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

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

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

相关推荐
Yyyy4825 小时前
Ubuntu安装Jenkis
linux·运维·ubuntu
zhuzewennamoamtf6 小时前
Linux SPI设备驱动
android·linux·运维
春日见6 小时前
在虚拟机上面无法正启动机械臂的控制launch文件
linux·运维·服务器·人工智能·驱动开发·ubuntu
松涛和鸣6 小时前
Linux Makefile : From Basic Syntax to Multi-File Project Compilation
linux·运维·服务器·前端·windows·哈希算法
Predestination王瀞潞7 小时前
JDK安装及环境变量配置
java·linux·开发语言
再睡一夏就好7 小时前
深入Linux线程:从轻量级进程到双TCB架构
linux·运维·服务器·c++·学习·架构·线程
小小药7 小时前
09-vmware配置虚机连接互联网-nat模式
linux·运维·centos
Bright Xu8 小时前
Qemu 安装 LoongArch架构 Fedora Remix F42 Linux系统
linux·loongarch·国产cpu
莫白媛8 小时前
Linux创作笔记综合汇总篇
linux·运维·笔记
studytosky8 小时前
Linux系统编程:深度解析 Linux 进程,从底层架构到内存模型
linux·运维·服务器·开发语言·架构·vim