Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which address space is occupied by the kernel in 64 bit Linux?

What is the address space of the kernel for 64 bit Linux, that is, what is the address range of the code, stack, heap and data segments used by it.

like image 250
MetallicPriest Avatar asked Aug 19 '13 09:08

MetallicPriest


People also ask

What is address space in 64-bit?

In 64-bit Windows, the theoretical amount of virtual address space is 2^64 bytes (16 exabytes), but only a small portion of the 16-exabyte range is actually used.

What is address space in kernel?

The book uses the term "kernel address space" to refer to the partition of the virtual address space that is allocated for the kernel. Recently, Linux and other OSes have implemented page-table isolation (PTI) to mitigate the Meltdown security vulnerability.

What is address space in Linux?

The address space of a process consists of all linear addresses that the process is allowed to use. Each process sees a different set of linear addresses; the address used by one process bears no relation to the address used by another.

Where is the kernel stored in memory?

All of kernel memory and user process memory is stored in physical memory in the computer (or perhaps on disk if data has been swapped from memory).


1 Answers

On a 64-bit Linux all 64-bit addresses with the highest order bit set to 1 are reserved for the kernel. In other words, the top half of the virtual address space.

For full details see http://en.wikipedia.org/wiki/X86-64#Virtual_address_space_details

like image 183
Maxim Egorushkin Avatar answered Sep 30 '22 18:09

Maxim Egorushkin