在Linux 32bit中,内核占用1GB的内存,而用户空间将占用剩余的gig(~3) - 这与64位内核有何不同?
答案 0 :(得分:4)
在64位x86-64上,拆分是一半到一半 - 即如果地址的第一位为0则为用户空间,如果它是1的内核空间。
理论上每个都有8个Exbibytes(1024 * 1024 TiB)。但是现在只有48-bits在处理器中实现 - 前16位必须全部为1或全0(这使得实现更便宜,因为TLB和其他组件可以节省空间)。这为用户空间提供了'merly'128 TiB,为内核空间提供了256 TiB。但是,以后以兼容的方式扩展到具有分割8/8 EiB的完整64位内核空间是完全可能的。
答案 1 :(得分:1)
如果this post正确,则为每个内核空间和用户空间进行1:1拆分 - 128TiB。