linux 64位内存空间大小?(linux 64 bits memory space size? [closed])
在Linux 32bit中,内核占用1GB的内存,而用户空间将占用剩余的gigs(~3) - 这与64位内核有何不同?
In Linux 32bit, the kernel occupies 1gb of memory while the userspace will occupy the remaining gigs (~3) - how does this differ to the 64bit kernels?
原文:https://stackoverflow.com/questions/21150868
更新时间:2019-10-04 14:29
最满意答案
在64位x86-64上,分割是一半到一半 - 即如果地址的第一位为0,则它是用户空间,如果它是1的内核空间。
从理论上讲,每个都有8个Exbibytes(1024 * 1024 TiB)。 但是现在处理器中只实现了48位 - 前16位必须全部为1或全部为0(这使得实现更便宜,因为TLB和其他组件可以节省空间)。 这为用户空间提供了'merly'128 TiB,为内核空间提供了256 TiB。 然而,将来以向后兼容的方式完全可以扩展到具有分离8/8 EiB的完整64位内核空间。
On 64-bit x86-64 the split is half to half - i.e. if first bit of address is 0 it's userspace if it is 1 it's kernel space.
In theory it's 8 Exbibytes each (1024*1024 TiB). However on