On i386 archs, there was a 3/1 (or optionally 2/2) memory split for process images. Is there a memory split on x86-64? How much memory reserved/accessible to the kernel?
The split is only necessary because of the 4 gig addressing limitation of 32 bit addressing, by splitting memory into "high" and "low" memory segments, and basically what the kernel is working on has to be in low memory.
A 64 bit processor can address terabytes of memory (current implementations only actually address 44 bits, but its still in the multi terabyte range) which is more than enough address space to not need to do tricks like were necessary on 32 bits, IE all memory is low memory and directly accessable. Maybe several years into the future when we have boxes with many TB of memory it will return, but for at least a few years 44-64 bits of addressing ought to be enough for anybody.
The split is only necessary
The split is only necessary because of the 4 gig addressing limitation of 32 bit addressing, by splitting memory into "high" and "low" memory segments, and basically what the kernel is working on has to be in low memory.
A 64 bit processor can address terabytes of memory (current implementations only actually address 44 bits, but its still in the multi terabyte range) which is more than enough address space to not need to do tricks like were necessary on 32 bits, IE all memory is low memory and directly accessable. Maybe several years into the future when we have boxes with many TB of memory it will return, but for at least a few years 44-64 bits of addressing ought to be enough for anybody.