当前位置:  技术问答>linux和unix

纠结的 页表 问题

    来源: 互联网  发布时间:2016-09-15

    本文导语:  32位系统中,页面大小通常为4kb,采用两级页表,第一级页表称为目录表,第二级页表称为页表,每级页表都包含210个页表项,在一个页表项占用4个字节的情况下,只需要4KB的内存空间,恰好可以保存到一个物理页面...

32位系统中,页面大小通常为4kb,采用两级页表,第一级页表称为目录表,第二级页表称为页表,每级页表都包含210个页表项,在一个页表项占用4个字节的情况下,只需要4KB的内存空间,恰好可以保存到一个物理页面中。


那位能够解释下这些数字间的转换关系啊,看分页机制碰到的,纠结啊,顺带讲下分页和分段吧,呵呵...

|
是2^10=1K,不是210,同理,220是2^20 = 1M.

|
32位系统可不全是这样的哦,确切的讲,LZ说的是IA32体系下的事情。很多其他的CPU采用自己定义的MMU类型来管理内存的(当然,也是类似的段页式管理方式)
分段,其实就是汇编语言里经常遇到的ds,cs,ss...这些段寄存器用到的,在IA32架构下,采用全局描述符表GDT来组织保护模式下的全局描述符,从而实现ds,cs,ss等段寄存器的映射,否则寻址空间太小。
而分页机制实际上也是通过线性地址找到物理地址的一个方法,如果不分页,通过分段确定的线性地址就是物理地址了。如果分页,则在线性地址分为3段,前两部分分别为页目录表,页表中的相应项,通过这两个能具体的确定物理内存页的起始地址。第三部分就是offset,也就是在物理内存块中的偏移量。这样就具体的确定下物理内存了。

|
分页和分段是32位系统的虚拟内存技术。分页可选,分段必须。一级页表就好似一级索引,二级相应二级索引,要得到一个页在内存中的实际位置,就要经过两级的索引才能够找到~~

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • grant 用法的纠结 帮帮忙
  • && || 纠结~
  • 纠结
  • 用ubuntu的一点纠结之处
  • 纠结啊!嵌入式linux研二,要不要去做防火墙?求指点,在线等
  • 纠结, 我该怎么办?
  • 不要纠结于 bootloader了。
  • 大神急救!!!!输入进程号pid,输出进程名pname。运行出现段错误,调试了很久,只想说这是有史以来遇到的最纠结的段错误,莫名其妙!
  • 关于未来我纠结了。。我也散分,顺便大家给点建议吧


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3