【发布时间】:2014-01-16 00:01:14
【问题描述】:
在 32 位 Linux 中,内核占用 1gb 内存,而用户空间将占用剩余的 gigs (~3) - 这与 64 位内核有何不同?
【问题讨论】:
标签: linux memory-management kernel
在 32 位 Linux 中,内核占用 1gb 内存,而用户空间将占用剩余的 gigs (~3) - 这与 64 位内核有何不同?
【问题讨论】:
标签: linux memory-management kernel
在 64 位 x86-64 上,分割是一半到一半 - 即如果地址的第一位为 0,则为用户空间,如果为 1,则为内核空间。
理论上它是每个 8 Exbibytes (1024*1024 TiB)。然而,现在处理器中只实现了48-bits - 前 16 位必须全为 1 或全为 0(这使得实现更便宜,因为 TLB 和其他组件可以节省空间)。这为用户空间提供了 128 TiB 的空间,为内核空间提供了 256 TiB 的空间。但是,将来完全有可能以向后兼容的方式扩展到具有拆分 8/8 EiB 的完整 64 位内核空间。
【讨论】:
如果this post 是正确的,则它是 1:1 拆分 - 内核空间和用户空间各 128TiB。
【讨论】: