next up previous
Next: About this document ... Up: Algorytm zwalniania bloków pamięci Previous: Zadania

Proponowane rozwiązania zadań

  1. Wzór na maksymalną liczbę operacji łączenia bloków prezentuje się następująco:

    liczba operacji = min(MAX_ORDER, MEM_SIZE) - k
    Największy spójny blok pamięci może mieć rozmiar $2^{min(\texttt{MAX\_ORDER}, \texttt{MEM\_SIZE})}$, rozmiar zwalnianego bloku to $2^k$, przy każdym złączeniu rozmiar bloku zwiększa się dwukrotnie tak więc, aby osiągnść maksymalny rozmiar potrzebuje liczba operacji łączeń.

  2. Standardowy algorytm bliźniaków z reguły działa lepiej aniżeli wersja z szukaniem wolnych obszarów od największych "w dół". Istnieją jednak scenariusze kiedy proponowana wersja wypada lepiej. Początkowa stan pamięci :
    \includegraphics[width=0.7\textwidth,height=0.2\textheight]{zad3_1.eps}
    Do systemu zgłaszają się 3 procesy. Oto ich żądania dotyczące pamięci : p1, p2, p3 żądają po 4j. pamięci, następnie procesy p1 i p2 oddają zaalokowaną pamięć. W ostatecznym kroku proces p1 żąda 8j. pamięci. Konsekwencje stosowania 2. rozwiązania : szybko może dojść do dużej fragmentacji pamięci, będzie bardzo ciężko znaleźć większy spójny blok.

next up previous
Next: About this document ... Up: Algorytm zwalniania bloków pamięci Previous: Zadania
Kuba Gorski 2001-12-12