Rangkuman

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:

  1. Pembebasan dan pengalokasian halaman/blok pada memori utama.

  2. 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:

  1. Zona DMA

  2. Zona NORMAL

  3. Zona HIGHMEM

Pada Linux, sebuah slab dapat berstatus:

  1. Full
  2. Empty
  3. Partial

Sistem memori virtual Linux berperan dalam mengatur beberapa hal:

  1. Mengatur ruang alamat supaya dapat dilihat oleh tiap proses.
  2. Membentuk halaman-halaman yang dibutuhkan.
  3. Mengatur lokasi halaman-halaman tersebut dari disk ke memori fisik atau sebaliknya, yang biasa disebut swapping

Sistem memori virtual Linux juga mengatur dua view berkaitan dengan ruang alamat:

  1. Logical View
  2. Physical View

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:

  1. 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.

  2. Link Dinamis.  Link dinamis menggunakan single loading, sehingga lebih efisien dalam penggunaan memori fisik dan pemakaian ruang disk.