清华操作系统课--Lab2--内存管理2(段表&页表&ucore建立段页表)

~MMU

x86--段页式管理,建立一套映射机制,建立段机制,页机制,完成对大空间和离散空间的管理。

~了解页表格式

~了解如何建立段表和页表

~了解如何操作页表项

1. x86 MMU 段机制:

    一系列寄存器(CS,ES,DS,SS,……)+ 段描述符

    寄存器中的最高端的十几位作为一个index,用来定位GDT表中的一个项。每一个项表示一个段描述符,每个段描述符中表明了要访问的地址的映射关系。

段描述符中可以找到BaseAddress,加上EIP作为offset,形成线性地址。没有启动页机制,线性地址等于物理地址。

GDT 放置在内存中,每次地址转换都需要访问一次内存段表,速度会有很大影响,如何解决???

硬件加快速度,硬件会将GDT段描述符的关键信息放在一个隐藏的位置,这个base address 会一直存放在隐藏部分,加快速度。

 

 

————————————————————————————

基于页机制的地址转换

如上图一个二级页表,一个线性地址(不是虚地址,应为段机制存在,但是在对等映射下,这两个地址是一样的)分成了三个部分,页目录+二级页表+offset

其中,页目录作为index查页目录表,找到页目录的entry,PDE中记录二级页表的起始地址,根据Table作为index,在二级页表中找到PTE(Page Table Entry)里面记录了页的起始地址。一个页(offset12位)4K,会按照4K地址对齐。

…………………………

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值