Spisu treści:
Definicja - Co oznacza pamięć wirtualna (VM)?
Pamięć wirtualna (VM) to funkcja opracowana dla jądra systemu operacyjnego (OS), która symuluje dodatkową pamięć główną, taką jak RAM (pamięć o dostępie swobodnym) lub pamięć dyskowa. Ta technika obejmuje manipulowanie pamięcią i zarządzanie nią, umożliwiając ładowanie i wykonywanie większych programów lub wielu programów jednocześnie. Pozwala także na działanie każdego programu tak, jakby miał nieskończoną pamięć, i często uważa się go za bardziej opłacalny niż zakup dodatkowej pamięci RAM.
Pamięć wirtualna pozwala oprogramowaniu na użycie dodatkowej pamięci poprzez wykorzystanie dysku twardego (HDD) jako pamięci tymczasowej. Większość jednostek centralnych (CPU) zapewnia jednostki zarządzania pamięcią (MMU), które obsługują pamięć wirtualną. MMU obsługuje „tabele stron”, które służą do przekształcania „rzeczywistych” i „wirtualnych” adresów znajdujących się w pamięci i na dysku twardym.
System operacyjny korzystający z pamięci wirtualnej zwalnia miejsce, przesyłając dane z dysku twardego, co nie jest natychmiast wymagane. Gdy dane są potrzebne, są kopiowane z powrotem na dysk twardy. Gdy używana jest cała pamięć RAM, VM zamienia dane na dysk twardy, a następnie z powrotem. Zatem VM pozwala na większą całkowitą pamięć systemową; jednak wymagane jest skomplikowane pisanie kodu.
Techopedia wyjaśnia Virtual Memory (VM)
W latach 40. i 50. XX wieku, przed maszyną wirtualną, duże programy implementowały logikę do zarządzania pamięcią pierwotną i pomocniczą. Proces ten nazwano nakładaniem. Gdy program był większy niż pamięć, procedura pozwoliła traktować części programu, które nie były ciągle używane, jako nakładkę. Każda pojedyncza nakładka zastąpiłaby bieżącą nakładkę w pamięci. Programowanie do nakładania było obszerne. Jednym z głównych powodów tworzenia maszyn wirtualnych nie była dodatkowa pamięć podstawowa, ale łatwość programowania. Do 1969 r. Osiągnięto skuteczność pamięci wirtualnej; i został szeroko wdrożony.
Maszyna wirtualna dosłownie próbuje użyć więcej pamięci RAM lub pamięci dyskowej, niż faktycznie istnieje. Ten proces pozwala procesorowi na obsługę większych i wielu programów jednocześnie. VM to zwykły system operacyjny (OS) i program sprzętowy, który wykorzystuje dysk twardy do tymczasowego przechowywania i kontrolowania pamięci. Proces manipulowania pamięcią i zarządzania nią pozwala każdej aplikacji działać tak, jakby miała prawie nieskończoną pamięć. Tymczasowym magazynowaniem pamięci zarządza jednostka zarządzania pamięcią (MMU), znana również jako „jednostka zarządzania pamięcią stronicowaną” (PMMU).
„Rzeczywista” pamięć jest podzielona na małe sekcje zwane „stronami”. Strony mają zazwyczaj rozmiar 4 kilobajtów. Gdy używana jest cała pamięć RAM lub pamięć dysku, każda nieużywana strona jest zapisywana w pamięci wirtualnej w tak zwanym pliku wymiany. Gdy potrzebny jest plik wymiany, jest on następnie tłumaczony z powrotem do „prawdziwej” pamięci, proces nazywany zamianą stron.
Jedną z niewielu wad korzystania z maszyny wirtualnej jest to, że może wystąpić nadmierna zamiana stron, szczególnie jeśli użytkownik ma wiele otwartych aplikacji. Może to spowodować radykalne spowolnienie programów, ponieważ procesor spędza dużo czasu na zapisie na dysku twardym. Znaczące obniżenie wydajności nazywa się thrashingiem.
