Keempat catatan memiliki izin yang berbeda, sehingga tidak dapat digabungkan.
- The
r-xp
entri menggambarkan blok memori executable ( x
izin bendera). Itu kodenya.
- The
r--p
entri menggambarkan sebuah blok memori yang hanya dapat dibaca ( r
izin bendera). Itu data statis (konstanta).
- The
rw-p
entri menggambarkan sebuah blok memori yang dapat ditulis ( w
izin bendera). Ini untuk variabel global perpustakaan.
- The
---p
entri menggambarkan sepotong ruang alamat yang tidak memiliki izin (atau memori dipetakan untuk itu).
Semua bersifat pribadi ( p
flag), yang berarti bahwa jika suatu proses memodifikasi halaman (yang hanya mungkin untuk bagian yang dapat ditulisi), halaman itu akan disalin (copy-on-write), dan proses lainnya tidak akan melihat perubahan apa pun.
Entri terakhir itu adalah celah antara segmen kode dan segmen data yang secara eksplisit dimasukkan oleh penghubung GNU dalam keadaan tertentu. Tujuan dari celah ini adalah untuk memastikan bahwa kode (dapat dibagikan antara proses yang menggunakan perpustakaan yang sama) dan data yang dapat ditulis (tidak dapat dibagikan) tidak pernah berada di halaman yang sama. Ukuran celahnya adalah 2MB karena itu adalah ukuran halaman terbesar¹ yang digunakan Linux pada arsitektur Anda (amd64). Lihat Apa tujuan pemetaan memori yang tampaknya tidak dapat digunakan di linux? untuk lebih jelasnya.
¹ Sebagian besar halaman 4kB, yang merupakan ukuran halaman "normal". Tetapi mungkin ada halaman yang menggunakan lebih sedikit tipuan MMU, yang sedikit lebih cepat tetapi membuang banyak ruang kecuali aplikasi benar-benar menggunakan blok memori yang sangat besar. Linux menyebut halaman-halaman besar ini .
Sumber dan informasi lebih lanjut untuk celah yang belum dipetakan: Mengapa gnome-panel menggunakan 290MB? oleh RJK. Lihat juga entri /proc/PID/maps
dalam dokumentasi kernel Linux , Memahami Linux / proc / id / maps dan / proc / $ pid / maps menunjukkan halaman tanpa izin rwx di x86_64 linux pada Stack Overflow.
Gilles 'SANGAT berhenti menjadi jahat'
sumber