Pok-13-wyk-Slajd40
Z Studia Informatyczne
Środowisko czasu wykonania – system DPP(1)
W systemie DPP część pamięci jest tracona w wyniku dwóch typów fragmentacji:
- wewnętrznej – pamięć jest tracona wewnątrz bloków zajętych, ponieważ system przydziela bloki tylko o określonym rozmiarze, np. tylko o wielokrotności rozmiaru słowa procesora lub naturalnych potęg 2
- zewnętrznej – pamięć jest tracona między blokami zajętymi, nie ma możliwości przydzielenia żądanej ilości pamięci, bo choć bloki wolne sumarycznie mają dostateczny rozmiar, to żaden z nich oddzielnie nie jest dostatecznie duży.
Problem fragmentacji zewnętrznej można rozwiązać wykorzystując scalanie (defragmentację) sterty. Konieczne jest wtedy jednak rozbudowanie systemu DPP o dodatkowe mechanizmy (tablicę adresów pośrednich albo listy zmiennych referencyjnych) co skutkuje dodatkowymi kosztami czasowymi i pamięciowymi. W przypadku systemów wykorzystujących zbieranie nieużytków można połączyć scalanie z usuwaniem niedostępnych bloków.