next up previous
Next: Proponowane rozwiązania zadań Up: Algorytm zwalniania bloków pamięci Previous: Wskazówki

Zadania

  1. Jeżeli maksymalny zamówienia wnosi $2^{MAX\_ORDER}$ ramek, ilość pamięci w badanej strefie - $2^{MEM\_SIZE}$ ramek - ile operacji łączenia bliźniaczych bloków moźe maksymalnie wystąpić przy zwalnianiu bloku pamięci o rozmiarze $2^{k}$ ramek (0 <= k <= min(MAX_ORDER, MEM_SIZE))?
  2. Algorytm bliźniakow podczas alokowania spójnego bloku pamięci wielkości $2^{order}$ rozpoczyna poszukiwania od blokow o wielkosci $2^{order}$, a gdy nie ma takowych wolnych zaczyna poszukiwać bloków o podwojonej wielkości. Czy taka polityka jest zawsze lepsza niż próba "wyrwaniaadanego bloku z maksymalnie dużego bloku pamięci? Które rozwiazanie jest lepsze w średnim przypyadku? Jakie mogą być konsekwencje zastosowania drugiego rozwiazania ?


Kuba Gorski 2001-12-12