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.
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:
Tidak terdapatnya fragmentasi pada memori fisik. Dengan alokasi slab, tidak ada lagi masalah fragmentasi karena ketika kernel me-request memori untuk sebuah object, memori yang diberikan adalah tepat sebesar ukuran object tersebut.
Kebutuhan memori dapat terpenuhi dengan cepat. Proses pengalokasian dan pembebasan memori bisa memakan banyak waktu. Tapi dengan alokasi slab, ketika object pertama kali dibuat, object tersebut langsung dialokasikan ke dalam caches, lalu setelah object tersebut selesai digunakan, object tersebut diset statusnya menjadi free dan langsung dikembalikan ke dalam caches, sehingga ketika object tersebut dibutuhkan lagi, tidak perlu ada penginisialisasian ulang object. Hal ini membuat object tersedia setiap saat kernel membutuhkannya.