CPU中逻辑地址、线性地址与物理地址

2021-03-09  本文已影响0人  JamFF

在学习Linux内存管理过程中,会遇到逻辑地址、线性地址和物理地址三个概念。

下面的示例代码分别是在i686和x86_64系统上运行的。那么打印出的变量tmp地址和指针p指向的内存块地址分别是什么地址?物理地址?线性地址?逻辑地址?

这三种地址关系为,逻辑地址经过段式映射(Segmentation Translation)到线性地址线性地址经过页面映射(Page Translation)后,得到物理地址

x86 CPU中段机制(Segmentation)可以将程序的代码(Code)、数据(Data)、栈(Stack)分开,这样多个程序(或进程)就可以在同一个CPU上运行,而相互不会干扰。

页机制(Paging)用来实现传统的以页面为需求的虚拟内存系统,只有程序需要时,才真正给进程分配物理内存。页机制也可以用来隔离多个任务。


原文地址:x86/x86_64 CPU中逻辑地址、线性地址与物理地址

上一篇 下一篇

猜你喜欢

热点阅读