在X86的Linux内核中共有三种地址:逻辑地址、线性地址和物理地址。
逻辑地址,也就是常说的机器地址,用于在机器指令中指定操作数或者指令的地址,它由段(segment)地址和偏移(offet,or displacement)组成。
线性地址,也就是著名的虚拟地址,在32位体系结构中它就是一个32位的数字,指定了在虚拟空间的位置。
物理地址,它对应于物理意义上的内存所使用的地址,通常也是一个32位或者64位的数字。
从逻辑地址到线性地址的转换是由分段单元(Segment Unit)完成的。
从线性地址到物理地址的转换是由分页单元(Paging Unit)完成的。