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

内存管理之分段机制
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
 
参考文献: linux2.6 内核标准教程 华清远见 2008 年人邮出版
http://linux.chinaunix.net/bbs/thread-1029871-1-1.html

本文出自 “技术成长,不断进步!” 博客,转载请与作者联系!

你可能感兴趣的:(linux,职场,休闲)