线性地址 逻辑地址 虚拟地址 物理地址 页表机制的一点杂谈

首先从其他文献摘抄几张图 表明相关的关系
线性地址 逻辑地址 虚拟地址 物理地址 页表机制的一点杂谈_第1张图片
线性地址 逻辑地址 虚拟地址 物理地址 页表机制的一点杂谈_第2张图片
线性地址 逻辑地址 虚拟地址 物理地址 页表机制的一点杂谈_第3张图片

INTER处理器
逻辑地址(logical address)是 selector:offset 这种形式,selector 是 CS 寄存器的值,offset 是 EIP 寄存器的值。如果用 selector 去 GDT( 全局描述符表 ) 里拿到 segment base address(段基址) 然后加上 offset(段内偏移),这就得到了 linear address。我们把这个过程称作段式内存管理。

##################################################################

Intel 8086处理器分页机制
线性地址 逻辑地址 虚拟地址 物理地址 页表机制的一点杂谈_第4张图片
Linux分页机制
线性地址 逻辑地址 虚拟地址 物理地址 页表机制的一点杂谈_第5张图片

如果再把 linear address 切成四段,用前三段分别作为索引去PGD、PMD、Page Table里查表,最终就会得到一个页表项(Page Table Entry),那里面的值就是一页物理内存的起始地址,把它加上 linear address 切分之后第四段的内容(又叫页内偏移)就得到了最终的 physical address。我们把这个过程称作页式内存管理。

virtual address就是linear address的别名

引用知乎的文章链接:https://www.zhihu.com/question/29918252/answer/163114415

你可能感兴趣的:(深入Linux内核架构)