逻辑地址:是汇编代码中的地址,把用户程序中使用的地址称为相对地址即逻辑地址。
X86体系
段式管理(16位)
逻辑地址要求:逻辑段的起始地址(段地址)必须是16的倍数,即最后4个二进制位必须全为0;逻辑段的最大容量是64K
其中逻辑地址 = 段基址 + 段内偏移量
物理地址PA = 段寄存器值*16 + 逻辑地址的偏移量
注意:段寄存器本来是16位而地址为20位后4位全是0所以默认将后4位去掉来存储在段寄存器中
分页管理
分页管理针对的是线性地址而言的。
线性地址被分成固定长度的组,成为分页----->虚拟的东西
分页单元把所有的物理内存也划分为固定长度的管理单元,它的长度与线性地址页是相同的。
物理页又叫页帧或叶框:
两级模式:线性地址
31 22 21 12 11 0
1:cr3寄存器与线性地址的高10位形成一个页目录
2:页目录中的单元与线性地址的中间10位形成页表的基地址---->物理页的基地址
3:页表与线性地址的低12位形成一个页
注意:cr3寄存器是在创建进程时保存页目录,页表等值的
linux体系
linux有限度的使用分段机制,对页式管理则是完全使用,所有的段基址都是0,逻辑地址和线性地址保持一致,逻辑地址的偏移量字段与线性地址的值总是相同的。
阅读(1392) | 评论(0) | 转发(1) |