The Linux kernel has its own virtual address space, as every user mode process does. The virtual address space of the kernel (1 GB sized in a 3G/1G split) is divided into two parts:
- Low memory or LOWMEM, which is the first 896 MB
- High memory or HIGHMEM, represented by the top 128 MB
Physical mem Process address space +------> +------------+ | | 3200 M | | | | 4 GB +---------------+ <-----+ | HIGH MEM | | 128 MB | | | +---------------+ <---------+ | | +---------------+ <------+ | | | | 896 MB | | +--> +------------+ 3 GB +---------------+ <--+ +-----> +------------+ | | | | 896 MB | LOW MEM | ///// | +---------> +------------+ | | 0 GB +---------------+