Gambar berikut menunjukkan bagaimana ruang alamat virtual proses 32-bit dibagi:
Tapi bagaimana proses ruang alamat virtual proses 64-bit dibagi?
64-bit x86 virtual memory map membagi ruang alamat menjadi dua: bagian bawah (dengan bit atas diatur ke 0) adalah ruang pengguna, bagian atas (dengan bit atas diatur ke 1) adalah ruang kernel. (Perhatikan bahwa x86-64 mendefinisikan alamat "kanonik" "bagian bawah" dan "bagian lebih tinggi", dengan sejumlah bit secara efektif dibatasi hingga 48 atau 56; lihat Wikipedia untuk detailnya.)
Peta lengkap didokumentasikan secara rinci dalam kernel ; Saat ini sepertinya
========================================================================================
Start addr | Offset | End addr | Size | VM area description
========================================================================================
| | | |
0000000000000000 | 0 | 00007fffffffffff | 128 TB | user-space virtual memory
__________________|_________|__________________|_________|______________________________
| | | |
0000800000000000 | +128 TB | ffff7fffffffffff | ~16M TB | non-canonical
__________________|_________|__________________|_________|______________________________
| | | |
ffff800000000000 | -128 TB | ffffffffffffffff | 128 TB | kernel-space virtual memory
__________________|_________|__________________|_________|______________________________
dengan alamat virtual 48-bit. (Varian 56-bit memiliki struktur yang sama, dengan 64 PB ruang alamat yang dapat digunakan di kedua sisi lubang 16K PB.)
Berbeda dengan kasing 32-bit, peta memori "64-bit" adalah refleksi langsung dari kendala perangkat keras.