Różnica między fragmentacją wewnętrzną a zewnętrzną

Spisu treści:

Różnica między fragmentacją wewnętrzną a zewnętrzną
Różnica między fragmentacją wewnętrzną a zewnętrzną

Wideo: Różnica między fragmentacją wewnętrzną a zewnętrzną

Wideo: Różnica między fragmentacją wewnętrzną a zewnętrzną
Wideo: Graniczny poziom ceny kosztu zmiennego KS i kosztów kredytu wraz z marginesami bezpieczeństwa 2024, Lipiec
Anonim

Wewnętrzna i zewnętrzna fragmentacja

Różnica między fragmentacją wewnętrzną i zewnętrzną jest tematem zainteresowania wielu osób, które chcą poszerzyć swoją wiedzę komputerową. Zanim poznamy tę różnicę, musimy zobaczyć, czym jest fragmentacja. Fragmentacja to zjawisko występujące w pamięci komputera, takiej jak pamięć o dostępie swobodnym (RAM) lub dyski twarde, które powoduje marnotrawstwo i nieefektywne wykorzystanie wolnego miejsca. Chociaż efektywne wykorzystanie dostępnej przestrzeni jest utrudnione, powoduje to również problemy z wydajnością. Fragmentacja wewnętrzna występuje, gdy alokacja pamięci opiera się na partycjach o stałym rozmiarze, gdzie po przypisaniu do gniazda aplikacji o małym rozmiarze pozostałe wolne miejsce w tym gnieździe jest marnowane. Zewnętrzna fragmentacja występuje, gdy pamięć jest przydzielana dynamicznie, gdzie po załadowaniu i rozładowaniu kilku gniazd tu i tam wolne miejsce jest dystrybuowane, a nie ciągłe.

Co to jest fragmentacja wewnętrzna?

Różnica między fragmentacją wewnętrzną i zewnętrzną_Fragmentacja wewnętrzna
Różnica między fragmentacją wewnętrzną i zewnętrzną_Fragmentacja wewnętrzna
Różnica między fragmentacją wewnętrzną i zewnętrzną_Fragmentacja wewnętrzna
Różnica między fragmentacją wewnętrzną i zewnętrzną_Fragmentacja wewnętrzna

Rozważ powyższy rysunek, na którym zastosowano mechanizm alokacji pamięci o stałym rozmiarze. Początkowo pamięć jest pusta, a alokator podzielił pamięć na partycje o stałym rozmiarze. Później trzy programy o nazwach A, B, C zostały załadowane do pierwszych trzech partycji, podczas gdy czwarta partycja jest nadal wolna. Program A pasuje do rozmiaru partycji, więc nie ma na niej marnotrawstwa, ale Program B i Program C są mniejsze niż rozmiar partycji. Tak więc w partycji 2 i partycji 3 pozostało wolne miejsce. Jednak to wolne miejsce jest bezużyteczne, ponieważ alokator pamięci przypisuje tylko pełne partycje do programów, ale nie przypisuje ich części. To marnotrawstwo wolnej przestrzeni nazywa się fragmentacją wewnętrzną.

W powyższym przykładzie są to partycje o stałej wielkości, ale może się to zdarzyć nawet w sytuacji, gdy dostępne są partycje o różnych stałych rozmiarach. Zwykle pamięć lub najtrudniejsza przestrzeń jest dzielona na bloki, które zwykle mają rozmiar potęg 2, na przykład 2, 4, 8, 16 bajtów. Tak więc program lub 3-bajtowy plik zostanie przypisany do 4-bajtowego bloku, ale jeden bajt tego bloku stanie się bezużyteczny, powodując wewnętrzną fragmentację.

Co to jest fragmentacja zewnętrzna?

Różnica między fragmentacją wewnętrzną i zewnętrzną_Fragmentacja zewnętrzna
Różnica między fragmentacją wewnętrzną i zewnętrzną_Fragmentacja zewnętrzna
Różnica między fragmentacją wewnętrzną i zewnętrzną_Fragmentacja zewnętrzna
Różnica między fragmentacją wewnętrzną i zewnętrzną_Fragmentacja zewnętrzna

Rozważ powyższy rysunek, gdzie alokacja pamięci odbywa się dynamicznie. W dynamicznej alokacji pamięci alokator przydziela tylko dokładnie potrzebny rozmiar dla tego programu. Pierwsza pamięć jest całkowicie darmowa. Następnie programy A, B, C, D i E o różnych rozmiarach są ładowane jeden po drugim i są umieszczane w pamięci w sposób ciągły w tej kolejności. Później, Program A i Program C zamykają się i są usuwane z pamięci. Teraz w pamięci są trzy wolne obszary, ale nie sąsiadują ze sobą. Teraz zostanie załadowany duży program o nazwie Program F, ale żaden z bloków wolnej przestrzeni nie jest wystarczający dla Programu F. Dodanie wszystkich wolnych spacji jest zdecydowanie wystarczające dla Programu F, ale ze względu na brak sąsiedztwa ta przestrzeń jest bezużyteczne dla Programu F. Nazywa się to fragmentacją zewnętrzną.

Jaka jest różnica między fragmentacją wewnętrzną a zewnętrzną?

• Wewnętrzna fragmentacja występuje, gdy używana jest technika alokacji pamięci o stałym rozmiarze. Zewnętrzna fragmentacja występuje, gdy używana jest technika dynamicznej alokacji pamięci.

• Wewnętrzna fragmentacja występuje, gdy partycja o stałym rozmiarze jest przypisana do programu/pliku o mniejszym rozmiarze niż partycja, przez co reszta miejsca na tej partycji nie nadaje się do użytku. Zewnętrzna fragmentacja jest spowodowana brakiem wystarczającej ilości sąsiedniego miejsca po załadowaniu i wyładowaniu programów lub plików przez pewien czas, ponieważ wtedy całe wolne miejsce jest dystrybuowane tu i tam.

• Zewnętrzną fragmentację można wydobyć przez zagęszczenie, w którym przypisane bloki są przesuwane na jedną stronę, dzięki czemu uzyskuje się ciągłą przestrzeń. Jednak ta operacja wymaga czasu, a także niektórych krytycznych przypisanych obszarów, na przykład usług systemowych, nie można bezpiecznie przenieść. Ten krok kompaktowania możemy zaobserwować na dyskach twardych podczas uruchamiania defragmentatora dysków w systemie Windows.

• Zewnętrznej fragmentacji można zapobiec za pomocą mechanizmów takich jak segmentacja i stronicowanie. Tutaj podana jest logiczna ciągła przestrzeń pamięci wirtualnej, podczas gdy w rzeczywistości pliki/programy są dzielone na części i umieszczane tu i tam.

• Wewnętrzną fragmentację można okaleczyć, tworząc partycje o kilku rozmiarach i przypisując program na podstawie najlepszego dopasowania. Jednak nadal wewnętrzna fragmentacja nie jest całkowicie wyeliminowana.

Podsumowanie:

Wewnętrzna i zewnętrzna fragmentacja

Zarówno fragmentacja wewnętrzna, jak i fragmentacja zewnętrzna to zjawiska, w których pamięć jest marnowana. Fragmentacja wewnętrzna występuje w alokacji pamięci o stałym rozmiarze, podczas gdy fragmentacja zewnętrzna występuje w alokacji pamięci dynamicznej. Gdy przydzielona partycja jest zajęta przez program, który jest mniejszy niż partycja, pozostałe miejsce marnuje się, powodując wewnętrzną fragmentację. Gdy po załadowaniu i wyładowaniu programów nie można znaleźć wystarczającej ilości sąsiedniego miejsca, ze względu na fakt, że wolne miejsce jest rozprowadzane tu i tam, powoduje to zewnętrzną fragmentację. Fragmentacja może wystąpić w dowolnym urządzeniu pamięci, takim jak pamięć RAM, dysk twardy i dyski flash.

Zalecana: