Współczesne systemy operacyjne (a także sprzęt komputerowy) pozwalają na implementację zaawansowanych metod zarządzania pamięcią. Do tej grupy zalicza się wymiana (ang. swapping). Wymieniany jest proces znajdujący się w pamięci operacyjnej (wykonywany), na proces znajdujący się w pamięci pomocniczej, zaś proces znajdujący się w pamięci pomocniczej, wymieniany jest na proces z pamięci operacyjnej. Przy czym proces może być wysłany do pamięci pomocniczej, a następnie przywołany z powrotem w celu kontynuowania działania [2].

Dla środowiska sterowanego rotacyjnym algorytmem planowania przydziału procesora cykl wymiany wygląda następująco:

[Wymiana procesów]

Rysunek 4.6. Wymiana dwóch procesów pomiędzy pamięcią operacyjną a pomocniczą [2]

Po wyczerpaniu przez proces X przeznaczonego mu kwantu czasu procesora, a więc tymczasowego zakończenia działania, system operacyjny wymienia go na proces Y, któremu również przydzielany jest kwant czasu procesora. Po upływie tego czasu również ten proces zostanie wymieniony.

Przy procedurach wymiany istotną rolę odgrywa pamięć pomocnicza (ang. backing store). Mousi być ona dostatecznie pojemna, aby pomieścić kopie obrazów pamięci wszystkich użytkowników oraz umożliwić bezpośredni dostęp do tych obrazów pamięci. Wszystkie procesy gotowe do działania, których obrazy pamięci znajdują się w pamięci pomocniczej lub operacyjnej, przechowywane są przez system operacyjny w kolejce procesów gotowych (ang. ready queue). Za każdym razem, gdy system operacyjny chce wykonać proces, wywołuje ekspedytora. Ekspedytor (ang. dispatcher) sprawdza dostępność procesu (nazwijmy go X) w pamięci operacyjnej. Jeżeli proces (X) nie znajduje się w pamięci operacyjnej oraz brak jest wolnego miejsca w tejże pamięci, to dispatcher wysyła na dysk jeden z procesów znajdujących się w pamięci operacyjnej (np. Y). Na zwolnione w ten sposób miejsce wprowadzany jest potrzebny proces (X). Na koniec ekspedytor uaktualnia rejestry i przekazuje sterowanie do wprowadzonego procesu (X).

Wadą wymiany jest dość długi czas potrzebny na przełączenie zadania, w stosunku do krótkiego czasu na ich wykonanie. Z tego względu klasyczna technika wymiany jest stosowana coraz rzadziej przez systemy operacyjne.

NASTĘPNA