Alokasi Slab

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

Gambar 8.3. Hubungan antara caches, slab, dan kernel objects

Hubungan antara caches, slab, dan kernel objects

Algoritmanya adalah sebagai berikut:

     
     if (there is an object in the cache)
      take it (no construction required);
     else {
      allocate a new slab and assign it to a cache;
      construct the object;}
  

Jika object yang diperlukan sudah terdapat dalam caches, maka ambil saja object tersebut tanpa harus dibuat ulang. Namun jika object yang dibutuhkan belum ada, alokasikanlah sebuah slab baru, berikan ke dalam caches, lalu buatlah object tersebut.

Keuntungan algoritma slab: