x86 架构下的 Linux 虚拟内存布局, 0x00000000-0xbfffffff(3G)为用户空间, 0xc0000000-0xffffffff(1G) 为 内 核 空 间 。
x86-64 架 构 下 的 虚 拟 内 存 布 局 , 0x0000000000000000-0x00007fffffffffff(128TB)为用户空间, 0xffff800000000000-0xffffffffffffffff(128TB)为内核空间。
x86-64 架构 CPU 都遵循 AMD 的 Canonical form, 即只有虚拟地址的最低 48 位才会在地址转换时被使用, 且任何虚拟地址的 48 位至 63 位必须与 47 位一致(sign extension)。
也就是说, 总的虚拟地址空间为 256TB( 2^48 )。