中易网

请教一个关于LINUX的操作系统关于页面计算的问题

答案:1  悬赏:70  
解决时间 2021-01-16 13:30
  • 提问者网友:嗝是迷路的屁
  • 2021-01-15 15:31
请教一个关于LINUX的操作系统关于页面计算的问题
最佳答案
  • 二级知识专家网友:佘樂
  • 2021-01-15 16:43
额.........2^12是表示页的大小是4KB了......2^20就是页的多少.2^20个页,每个页是4K,这样能寻址范围就是32为系统的最大上限了.就是4G了.(2^20*4K=4G)
=================================================================
为何2^12表示页是4k的原因是因为一个内存地址对应一个最小内存单元,就是1个字节.4096个内存地址.就是4K这么大小的内存里含有的内存最小单元的个数.
2^20次怎么来的是这样的,包含4096个的地址的表(页索引表)有1024个(因为10位索引每一种变化都指向一个表所以有1024个).有一个表(一级页目录表)包含1024个(道理同上)这样的表.这样就变成最简单的乘法算数了.1024*1024*4096=4G
=================================================================
之所以不采用一级也表是因为一级页表的话就是20位的偏移量.2^20个偏移量存在内存里是比较占空间和没效率的.所以最基础的就是从2级也表开始.在各种系统里页表分级不同偏移位不同.linux 2.6内核里设计上有4级页表.但是只用了3级页表
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息