logo

Co to jest pamięć wirtualna w systemie operacyjnym (systemie operacyjnym)?

Pamięć wirtualna to schemat przechowywania, który zapewnia użytkownikowi złudzenie posiadania bardzo dużej pamięci głównej. Odbywa się to poprzez traktowanie części pamięci dodatkowej jako pamięci głównej.

W tym schemacie użytkownik może załadować procesy o większym rozmiarze niż dostępna pamięć główna, mając złudzenie, że pamięć jest dostępna do załadowania procesu.

Zamiast ładować jeden duży proces do pamięci głównej, system operacyjny ładuje różne części więcej niż jednego procesu do pamięci głównej.

W ten sposób zwiększy się stopień wieloprogramowości, a co za tym idzie, zwiększy się również wykorzystanie procesora.

Jak działa pamięć wirtualna?

We współczesnym świecie pamięć wirtualna stała się obecnie dość powszechna. W tym schemacie, ilekroć do wykonania konieczne jest załadowanie niektórych stron do pamięci głównej, a pamięć nie jest dostępna dla tak wielu stron, w takim przypadku zamiast powstrzymywać strony przed zapisaniem się do pamięci głównej, system operacyjny wyszukuje obszar RAM, który jest ostatnio najmniej używany lub do którego nie ma odniesień, i skopiuj go do pamięci dodatkowej, aby zwolnić miejsce na nowe strony w pamięci głównej.

Ponieważ cała ta procedura odbywa się automatycznie, komputer wydaje się mieć nieograniczoną ilość pamięci RAM.

Stronicowanie popytu

Demand Paging to popularna metoda zarządzania pamięcią wirtualną. W przypadku stronicowania na żądanie strony procesu, które są najmniej używane, są przechowywane w pamięci dodatkowej.

Strona jest kopiowana do pamięci głównej, gdy zostanie zażądana lub gdy wystąpi błąd strony. Istnieją różne algorytmy zastępowania stron, które służą do określenia stron, które zostaną zastąpione. Każdy z nich omówimy szczegółowo później.

Migawka systemu zarządzania pamięcią wirtualną

Załóżmy, że 2 procesy, P1 i P2, zawierają po 4 strony każdy. Rozmiar każdej strony wynosi 1 KB. Pamięć główna zawiera 8 klatek po 1 KB każda. System operacyjny znajduje się na pierwszych dwóch partycjach. W trzeciej partycji 1ulstrona P1 jest przechowywana, a pozostałe ramki są również pokazane jako wypełnione różnymi stronami procesów w pamięci głównej.

Tabele stron obu stron mają rozmiar 1 KB każda i dlatego można je zmieścić w jednej ramce. Tabele stron obu procesów zawierają różne informacje, które również pokazano na obrazku.

CPU zawiera rejestr, który zawiera adres bazowy tablicy stron, czyli 5 w przypadku P1 i 7 w przypadku P2. Ten adres bazowy tabeli stron zostanie dodany do numeru strony adresu logicznego, jeśli chodzi o dostęp do odpowiedniego wpisu.


Pamięć wirtualna systemu operacyjnego

Zalety pamięci wirtualnej

  1. Stopień wieloprogramowania zostanie zwiększony.
  2. Użytkownik może uruchomić dużą aplikację przy mniejszej ilości rzeczywistej pamięci RAM.
  3. Nie ma potrzeby kupowania większej ilości pamięci RAM.

Wady pamięci wirtualnej

  1. System staje się wolniejszy, ponieważ zamiana wymaga czasu.
  2. Przełączanie między aplikacjami zajmuje więcej czasu.
  3. Użytkownik będzie miał do wykorzystania mniejszą ilość miejsca na dysku twardym.