Pamięć wirtualna: Różnice pomiędzy wersjami

[wersja przejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
→‎Historia: źródła/przypisy
Nie podano opisu zmian
Linia 1:
[[Plik:Virtual memory.svg|thumb|Z lewej pamięć wirtualna jednego z procesów, z prawej jej rozmieszczenie w pamięci fizycznej.]]
'''Pamięć wirtualna''' –to mechanizmwirus zarządzaniakomputerowy pamięciąktóry komputerausuwa zapewniającyi [[Procesformatuje (informatyka)|procesowi]]dysk wrażeniec pracyoraz w jednym, dużym, ciągłym obszarze pamięci operacyjnej podczas, gdy fizycznie może być ona pofragmentowana,tworzy nieciągła i częściowo przechowywana na urządzeniach pamięci masowej. Systemy korzystające z tej techniki ułatwiają tworzenie rozbudowanych aplikacji oraz poprawiają wykorzystanie fizycznej pamięci [[RAM]] w systemach [[Wielozadaniowość|wielozadaniowych]]. Często popełnianym błędem jest utożsamianie pamięci wirtualnej z wykorzystaniem [[Pamięć masowa|pamięci masowej]] do rozszerzenia dostępnej pamięci operacyjnej. Rozszerzenie pamięci na dyski twarde w rzeczywistości jest tylko naturalną konsekwencją zastosowania techniki pamięci wirtualnej, lecz może być osiągnięte także na inne sposoby, np. nakładki lub całkowite przenoszenie pamięci procesów na dysk, gdy znajdują się w stanie uśpienia. Pamięć wirtualna działa na zasadzie przedefiniowania adresów pamięci (fizycznych) na adresy używane przez procesy (logiczne) tak, aby "oszukać" procesy i dać im wrażenie pracy w ciągłej przestrzeni adresowej. Pamięć wirtualna oznacza znacznie większą ilość pamięci RAM dla procesu niż fizycznie dostępna w systemie<ref>{{Cytuj książkę | tytuł=Leksykon techniki mikrokomputerowej | imię=Andrzej | nazwisko=Markowski | imię2=Andrzej | nazwisko2=Rydzewski | imię3=Henryk | nazwisko3=Kruszyński | miejsce=Warszawa | rok=1989 | seria=Mikrokomputery | wydawca=[[Wydawnictwo SIGMA-NOT|Wydawnictwo Czasopism i Książek Technicznych NOT-SIGMA]] | isbn=83-85001-28-X}}</ref>.
 
Obecnie wszystkie systemy operacyjne ogólnego przeznaczenia wykorzystują techniki pamięci wirtualnej dla procesów uruchamianych w ich obrębie. Wcześniejsze systemy takie, jak [[DOS]], wydania [[Microsoft Windows]]<ref>[http://support.microsoft.com/kb/32905 Windows Version History]</ref> z lat 80. oraz oprogramowanie komputerów mainframe z lat 60. nie pozwalały pracować w środowisku z pamięcią wirtualną. Godnymi odnotowania wyjątkami były komputery [[ATLAS (komputer)|Atlas]], [[B5000]] oraz [[Lisa|Apple Lisa]].
Linia 15:
Pamięć wirtualna została zaprojektowana między rokiem 1959 a 1962 na Uniwersytecie Manchester dla komputera Atlas, który został ukończony w 1962 roku<ref>[http://www.computer50.org/kgill/atlas/atlas.html Opis techniczny komputera ATLAS na stronie WWW Uniwersytetu Manchester]</ref>. Jednak niemiecki informatyk [[Fritz-Rudolf Güntsch]], późniejszy twórca komputera [[Telefunken]] TR 440 twierdzi, że zaproponował tę technikę w roku 1957 w swojej pracy doktorskiej ''Logischer Entwurf eines digitalen Rechengerätes mit mehreren asynchron laufenden Trommeln und automatischem Schnellspeicherbetrieb''.
 
W roku 1961 ukazał się B5000 firmy [[Burroughs]], pierwszy komercyjny komputer z pamięcią wirtualną<ref>Harvey G. Cragon, ''Memory Systems and Pipelined Processors'', Jones and Bartlett Publishers, ss. 113, [[1996]], ISBN 0-86-720474-5.</ref>. Zamiast stronicowania, korzystał z mechanizmu segmentacji pamięci.
Harvey G. Cragon, ''Memory Systems and Pipelined Processors'', Jones and Bartlett Publishers, ss. 113, [[1996]], ISBN 0-86-720474-5.</ref>. Zamiast stronicowania, korzystał z mechanizmu segmentacji pamięci.
 
Stronicowanie pamięci, podobnie jak wiele innych nowych technologii w historii informatyki, wzbudzało początkowo wiele kontrowersji. Zanim zaczęło być stosowane na szerszą skalę, konieczne było stworzenie szeregu modeli, eksperymentów i teorii w celu rozwiązania nowo napotkanych problemów. Dynamiczne tłumaczenie adresów wymagało zastosowania specjalistycznych, drogich i ciężkich do zbudowania układów elektronicznych, a ponadto początkowo znacznie spowalniało dostęp do pamięci. Pojawiały się obawy, że nowe algorytmy zarządzania pamięcią dyskową będą dużo mniej efektywne od dotychczasowych, dostosowanych do potrzeb konkretnych aplikacji. Do roku 1969 debata została zakończona. Ekipa badawcza IBM pod przewodnictwem Davida Sayre jednoznacznie wykazała, że systemy z pamięcią wirtualną działają sprawniej, niż najlepsze systemy z własnymi mechanizmami.