Technikę zwaną nakładkami (ang. overlays) stosuje się, aby zwiększyć wymiary procesu ponad ilość przydzielonej mu pamięci [2]. Idea nakładek opiera się na zasadzie przechowywania w pamięci tylko tych informacji, które są niezbędne. Pozostałe dane/rozkazy wprowadzane są na miejsce już (w danej chwili) niepotrzebnych.


Aby zrozumieć sens stosowania nakładek przeprowadźmy pewien eksperyment myślowy. Niech więc będzie dany program, który musi wykonać sekwencyjnie dwie operacje: Operację 1 i Operację 2. Kod tego programu zajmuje 250 KB, ale my dysponujemy jedynie przestrzenią 200 KB. Ponadto załóżmy, że na całkowity kod programu składają się: Ponieważ operacje mają wykonać się sekwencyjnie, kody obu operacji nie muszą znajdować się w tym samym czasie w pamięci. Tworzymy więc nakładki.
Nakładka 1 to: kod Operacji 1, Tablica z danymi i Wspólne podprogramy.
Nakładka 2 to: kod Operacji 2, Tablica z danymi i Wspólne podprogramy.
Dodajemy do tego moduł obsługi nakładek (np. 10 KB) i dysponując naszymi 200 KB pamięci jesteśmy w stanie sekwencyjnie wykonać obie operacje.

Konstruowanie nakładek nie jest jednak tak proste, jak mogłoby to wynikać z powyższego eksperymentu. Do ich konstrukcji używane są specjalne algorytmy konsolidacji i przemieszczania [2]. Nakładki nie wymagają wsparcia od systemu operacyjnego, jednakże stworzenie nakładki na duży program na pewno nie jest zadaniem trywialnym.

Warto wspomnieć, że w chwili obecnej, użycie nakładek ogranicza się głównie do systemów o ograniczonej pamięci fizycznej, których środki sprzętowe nie pozwalają na zastosowanie bardziej zaawansowanych technik.

NASTĘPNA