T: Pamięć wirtualna i plik wymiany.

Miejsce HDD, które rozszerza wielkość pamięci systemowej, obejmuje specjalny plik stronicowania (zwany także, jako plik wymiany, lub z angielskiego page file oraz swap file). Pamięć RAM oraz plik stronicowania tworzą specjalną przestrzeń adresową o nazwie pamięć wirtualna.

Pamięć wirtualna pozwala na rozszerzenie pamięci dostępnej dla systemu. Jest to cecha procesorów Intel 386 i późniejszych, polegająca na zapisie zawartości pamięci RAM na dysk poprzez proces stronicowania. Przy stronicowaniu, określony obszar pamięci RAM jest zapisywany na dysk, jako plik wymiany, używany w miarę potrzeby.

Początkowy plik wymiany jest tworzony automatycznie na dysku zawierającym system operacyjny. Inne dyski nie posiadają pliku wymiany, ale można go utworzyć ręcznie, jeśli istnieje taka potrzeba. Przy tworzeniu pliku wymiany określamy jego rozmiar początkowy i rozmiar maksymalny. Pliki wymiany są zapisywane w katalogu głównym danej partycji pod nazwą pagefile.sys.

W praktyce Microsoft doradza utworzenie pliku wymiany dla każdego fizycznego wolumenu w systemie. W większości systemów wiele plików wymiany pozwala zwiększyć wydajność pamięci wirtualnej. Posiadanie kilku małych plików wymiany jest korzystniejsze niż jeden duży plik. Należy pamiętać, że dyski wymienne nie potrzebują plików wymiany.

Zadanie1:
Odszukaj w serwisie internetowym Wikipedii informacje na temat pamięci operacyjnej, pamięci wirtualnej, stronicowania pamięci.

Ustawienia pamięci wirtualnej w systemie Windows:

Pamięć wirtualna jest techniką programową a także sprzętową gospodarowania pamięcią operacyjną RAM pozwalającą na przydzielanie pamięci dla wielu procesów, zwalnianie jej i powtórne przydzielanie. Mechanizm umożliwia przydzielenie procesom więcej pamięci niż rzeczywista ilość pamięci fizycznej zainstalowanej w komputerze poprzez przeniesienie danych z ostatnio nie używanej pamięci do pamięci masowej (np. twardego dysku), w sytuacji, gdy procesor odwołuje się do danych z pamięci przeniesionej na dysk przesuwa się te dane do pamięci w wolne miejsce, a gdy brak wolnej pamięci zwalnia się ją przez wyżej opisane przerzucenie jej na dysk.

Najczęściej spotykane są dwa sposoby przechowywania danych zrzuconych z pamięci fizycznej na dysk. Pierwszy, stosowany w systemach rodziny Windows polega na zapisie pamięci w pliku znajdującym się na ustalonej partycji komputera. Drugi, stosowany w systemach z rodziny UNIX to utworzenie osobnej partycji wymiany (partycji swap) przeznaczonej wyłącznie na pamięć wirtualną. Zapewnia to szybszy dostęp do danych niż pierwsze rozwiązanie (głównie ze względu na ominięcie obsługi systemu plików).

Pamięć wirtualna jest zarezerwowanym obszarem na dysku twardym komputera, który może być wykorzystywany przez system i programy, tak jak zwykła pamięć RAM. Ponieważ średni czas dostępu do dysku twardego jest 1000 razy większy niż do pamięci operacyjnej, trudno uznać pamięć wirtualną za funkcjonalny odpowiednik pamięci RAM. Optymalny rozmiar pliku pamięci wirtualnej możemy obliczyć na podstawie ilości zainstalowanej w komputerze pamięci operacyjnej, według wzoru:

Plik ten może być utworzony na dowolnej liczbie partycji dysku twardego. Aby nie dopuścić do fragmentacji tego pliku, należy ustawić rozmiar początkowy równy rozmiarowi maksymalnemu pliku. Użytkownicy, których komputery wyposażone są w jeden dysk twardy (niezależnie od liczby utworzonych na nim partycji), powinni umieścić plik wymiany na tej samej partycji, na której jest zainstalowany system Windows. Natomiast użytkownicy komputerów wyposażonych w kilka dysków twardych powinni przenieść plik wymiany na dysk (lub dyski) niezawierające systemu operacyjnego.

Pamięć wirtualna jest najczęściej zaimplementowana przy użyciu stronicowania. Procesor gospodaruje wówczas pamięcią w blokach będących wielokrotnością strony o jednakowej wielkości (w procesorach Pentium 4 kB lub 4 MB). Procesy (poza procesem zarządzania pamięcią) "widzą" pamięć poprzez adresy logiczne. Gdy proces rezerwuje pamięć proces rządzący pamięcią przydziela blok opisujący parametry tej pamięci w tablicy stron (adres logiczny, wielkość, adres fizyczny, warunki użycia i inne informacje umożliwiające gospodarowaniem pamięcią).

Adresy logiczne są tłumaczone na ich fizyczne odpowiedniki przy pomocy tablicy stron. Ta znajdująca się w RAM struktura zawiera informacje o tym, gdzie w danej chwili znajduje się dana strona. Tablica stron pamięci jest najczęściej buforowana poprzez bufor TLB (ang. Translation Lookaside Buffer), zawierający kilkadziesiąt (zwykle ok. 32) wpisów, do których w ostatnim czasie nastąpiło odwołanie.

Pamięć wirtualna może także działać w innych trybach - najpopularniejsze z nich to segmentacja i stronicowanie z segmentacją.

Pamięć wirtualną można skonfigurować w następujący sposób:

Zadanie2:
Sprawdź konfigurację pamięci wirtualnej przy twoim stanowisku komputerowym.

Ustawianie rozmiaru rejestru
Windows XP pozwala na sterowanie wielkością pamięci i przestrzeni dyskowej przeznaczonej dla rejestru. Ustawienie rozmiaru nie gwarantuje, że będzie on dostępny. Wielkość ta oznacza tylko maksymalny możliwy rozmiar. Ustawia się go następująco:

W systemach Windows można sprawdzić obciążenie danego dysku za pomocą następującego polecenia:

Na podstawie uzyskanych informacji można obciążać plikiem wymiany dyski mniej używane przez system.