<<<<<<<<<<
>>>>>>>>>>
Algorytm "Bliźniaków" - Alokacja
-
Znajdź najmniejszy wolny blok B pamięci, nie mniejszy od żądanego
(jeśli nie ma takiego, to zwróć błąd)
-
Usuń go z listy wolnych bloków
-
Dopóki B jest za duży
-
Podziel go na dwie równe części B1 i B2
-
Wstaw B1 do listy wolnych bloków o odpowiednim rozmiarze
-
B := B2
-
Zwróć B
Koszt algorytmu to O(ilość list), gdyż znalezienie wolnego bloku danego
rozmiaru polega na wzięciu dowolnego elementu listy wolnych bloków o tym
rozmiarze.
Dla samego algorytmu nie ma znaczenia, czy na listę wkładamy blok B1,
a zwracamy B2, czy odwrotnie. W linuksie jest akurat tak jak na slajdzie.