Slab

Alokasi slab bertujuan untuk mengalokasikan struktur data (obyek) kernel yang dibutuhkan di memori fisik untuk menjalankan proses tertentu. Alokasi slab menggunakan algoritma slab. Slab dibentuk dari halaman-halaman memori fisik yang berdekatan serta digunakan terutama untuk kegiatan pengalokasian memori fisik. Sebuah cache pada disk terdiri dari satu atau lebih slab, dan diisi oleh beberapa obyek. Obyek merupakan bentuk instansiasi dari struktur data kernel yang direpresentasikan oleh cache yang bersangkutan.

Ketika sebuah cache dibentuk, maka semua obyek di dalam cache tersebut berstatus free, dan ketika terjadi sebuah permintaan dari suatu proses, maka obyek-obyek yang dibutuhkan untuk memenuhi permintaan tersebut akan diset berstatus used. Kemudian obyek-obyek yang berstatus used tersebut yang telah dikelompokkan ke dalam slab-slab akan dipetakan dari cache ke dalam memori fisik.

Sebuah slab dapat berstatus:

  1. FullSemua obyek di dalam slab tersebut adalah used.

  2. EmptySemua obyek di dalam slab tersebut adalah free.

  3. PartialAda obyek yang used dan ada pula yang free.

Keuntungan algoritma slab:

  1. Tidak terdapatnya fragmentasi pada memori fisik, karena ukuran obyek-obyek tersebut telah ditetapkan sesuai dengan yang dibutuhkan proses dalam membantu melakukan kerjanya di memori fisik.

  2. Permintaan oleh memori cepat terpenuhi dengan mendayagunakan kerja dari cache yang dibentuk pada disk.

Gambar 9.2. Contoh Alokasi Slab

Contoh Alokasi Slab