天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧系统 >> 正文

linux内存管理之分段分页机制

2013-1-8中国IT实验室佚名

  内存管理之分段机制

  1. 一些基本的概念:逻辑地址,线性地址,物理地址,实地址模式,保护模式,段寄存器,段基址寄存器,段选择子寄存器,段描述符,全局描述表GDT,局部描述表LDT,GDTR,LDTR,CPL,RPL,DPL,权限检查的标准(max(CPL,RPL)<=DPL)。

  2. 在head.s中的有全局描述符表的声明,其中包括内核代码段、内核数据段、用户代码段、用户数据段各在哪个地址,CPU_gdt_table即为表基址。

  3. 激活分段机制的两个步骤:一是设置全局描述符表GDT,也就是通过head.s中的一段程序把内核代码段、内核数据段、用户代码段、用户数据段的地址赋予给特定的寄存器。二是使能保护机制,即设置处理器控制寄存器cr0中的保护模式标记位即可。

  内存管理之分页机制:

  1. 基本概念:页框(page frame)、页(page)、页表(page table)、页目录基址寄存器CR3

  2. 基于二级页表的线性地址到物理地址的转换过程?

  3. 页表项的结构?

  4. 为什么二级页表比一级页表节省空间?

  解释:

  需要知道一个知识:每个进程都对应一个页表。

  比如对于4G的空间,4K每页

  如果是一级页表映射,那需要2^20 =1M个页表项(无论用不用都需要,系统不知道哪个地址是否会被访问)

  1M * 4 == 4M

  每个进程都需要4M的页表

  而如果是2级页表映射就只需要一个页目录 + 1个页表项(比如进程只使用4M内存的情况)就足够了,1个页目录占4K,一个页表项占4个字节,但另起了一页,每个进程总体占8K。

本文来源:中国IT实验室 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行