Sistem Buddy
Sistem Buddy
Sistem buddy merupakan algoritma pengelolaan alokasi memori dimana pengalokasian memori
untuk suatu proses dilakukan dengan memecah satu blok memori bebas menjadi dua bagian yang
sama besar. Pemecahan dilakukan secara rekursif sehingga didapat blok yang besarnya sesuai
kebutuhan.
Dilihat dari mekanisme pengelolaan alokasi memorinya sistem buddy mempunyai keunggulan
dalam dealokasi memori. Dibandingkan dengan algoritma-algoritma yang mengurutkan blok
berdasarkan ukuran, sistem buddy mempunyai keunggulan ketika misalnya ada blok berukuran
2^k dibebaskan, maka manajer memori hanya mencari blok 2^k untuk diperiksa apakah dapat
dilakukan penggabungan. Pada algoritma lain yang memungkinkan blok-blok memori dipecah
dalam sembarang ukuran, keseluruhan blok harus dicari.
Tapi walaupun proses dealokasi mudah dilakukan. Sistem buddy mempunyai kelemahan, yaitu
utilisasi memori sangat tidak efisien. Masalah ini muncul karena semua permintaan dibulatkan
ke dalam 2^k terdekat yang dapat memuat. Misal jika ada proses berukuran 35 KB,
pengalokasian dilakukan di 64 KB. Maka terdapat 29 KB yang disiakan. Ini disebut fragmentasi
internal karena memori yang disiakan adalah internal terhadap segmen-segmen yang
dialokasikan.