我一开以为页表就是简单的一一映射的关系
但是想想,算一个内存2^32 * (4(物理内存) + 4(虚拟内存) + 2(权限,凑个整2字节)),相当于40GB,哥们一个进程要开40GB空间,有点开玩笑了!所以肯定不是!
可以算一下占用多少内存:
2^20bit(叶框的起始地址) 约等于3字节,权限就当 1字节,相当于二级页表占4字节 * 1024个,就是4kb,4kb*1024个也目录数量 + 1字节*1024 约等于4MB。其实4MB也不算小了,所以创建一个进程的代价还是能大的,进程不进要创建页表,还有其他东西,占比比较大的还是进程创建时,要在cpu的cache寄存器中缓存该进程的热数据: