Linux内核地址空间划分

  • x86内核地址空间划分
    在x86(32位CPU)系统中,Linux内核地址空间可以划分为1G内核空间,3G用户空间。

在x86中,Linux内核地址空间也可以划分为4G/4G。

  • x86_64内核地址空间划分

根据内核版本不同,可支持512G/512G、1T/1T、2T/2T的划分。

  • per process virtual address space limit of 512 Gigabytes
  • top of userspace stack located at address 0x0000007fffffffff
  • PAGE_OFFSET = 0xffff800000000000
  • start of the kernel = 0xffffffff800000000
  • global RAM per system 2^64-PAGE_OFFSET-sizeof(kernel) = 128 Terabytes – 2 Gigabytes
  • no need of any common code change
  • no need to use highmem to handle the 128 Terabytes of RAM

Related Posts