Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

From some book I have, I have in my notes that the Linux kernel resides at 0xc00000000 on 32-bit systems, and is mapped into user space for performance reasons.

Is this accurate ? How can I verify this ?

Also, where does the kernel reside on 64-bit systems? Is it still at 0xc00000000, or somewhere else ?

share|improve this question
This might help: users.nccs.gov/~fwang2/linux/lk_addressing.txt – Nykakin Jan 10 '13 at 12:36
I read somewhere that OS:s in general are placed low in memory, and this has to do with the placement of the interrupt vector. – Emanuel Berg Jan 11 '13 at 22:11
@EmanuelBerg, Where the interrupt vector is doesn't really matter. – vonbrand Jan 22 '13 at 0:38
@vonbrand: No, I agree... I'll find the source for that and be back at you, would be interesting to know. Perhaps for historical reasons, when memory access wasn't "random"? – Emanuel Berg Jan 22 '13 at 1:15

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.