Prinsip manajemen memori digunakan oleh Linux


Jawaban:


7

Linux menggunakan keduanya. Ini menggunakan segmentasi untuk memetakan semua ruang alamat yang tersedia sambil memberikan hak akses yang berbeda: pada dasarnya tampilan kernel dan ruang pengguna. Anda dapat melihat kode sumber Linux untuk KERNEL_DS (segmen data kernel) untuk beberapa contoh.

Paging kemudian digunakan untuk mengimplementasikan memori virtual (Grep untuk "struct gdt_page" di kernel, untuk titik awal)


6

Manajemen memori di Linux bekerja secara eksklusif dengan paging.

Linux mendukung halaman "kecil" (biasanya 4kB) dan "besar" (2M). Yang pertama "hanya bekerja" tanpa Anda ketahui atau melakukan sesuatu yang istimewa, dan yang terakhir perlu perlakuan khusus (harus dipesan pada saat boot dan dipetakan melalui perangkat khusus).

Satu-satunya konteks di mana "segmen" muncul di Linux adalah brk () syscall yang digunakan untuk meningkatkan segmen data dari suatu proses (Anda biasanya tidak membutuhkan ini, malloc melakukannya tanpa Anda harus peduli). Namun demikian, memori datang dalam halaman dan dikelola dalam halaman, dan itu tidak ada hubungannya dengan segmentasi x86.


Segmentasi X86 sudah usang ketika i386 keluar. Linux tidak pernah menggunakan segmentasi untuk manajemen memori. Beberapa turunan seperti ELKS dan (mungkin) uClinux mungkin.
LawrenceC
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.