Alokasi memori pada Linux menggunakan dua buah alokasi utama, yaitu algoritma buddy dan slab. Manajemen memori pada Linux mengandung dua komponen utama yang berkaitan dengan:
Pembebasan dan pengalokasian halaman/blok pada memori utama.
Penanganan memori virtual.
Linux memisahkan memori fisik ke dalam tiga zona berbeda, dimana tiap zona mengindentifikasikan blok-blok yang berbeda pada memori fisik. Ketiga zona tersebut adalah:
Zona DMA
Zona NORMAL
Zona HIGHMEM
Pada Linux, sebuah slab dapat berstatus:
Sistem memori virtual Linux berperan dalam mengatur beberapa hal:
Sistem memori virtual Linux juga mengatur dua view berkaitan dengan ruang alamat:
Eksekusi dari Kernel Linux dilakukan oleh panggilan
terhadap system call
exec().
System call
exec() memerintahkan kernel
untuk menjalankan program baru di dalam proses yang
sedang berlangsung atau
current process, dengan
cara meng-
overwrite current execution
dengan initial context
dari program baru yang akan dijalankan.
Terdapat dua cara untuk mendapatkan fungsi-fungsi yang terdapat di sistem pustaka, yaitu:
Link Statis. Kerugian link statis adalah setiap program yang dibuat harus meng-copy fungsi-fungsi dari sistem pustaka, sehingga tidak efisien dalam penggunaan memori fisik dan pemakaian ruang disk.
Link Dinamis. Link dinamis menggunakan single loading, sehingga lebih efisien dalam penggunaan memori fisik dan pemakaian ruang disk.