Zalecane, 2019

Wybór Redakcji

Różnica między pamięcią wirtualną a pamięcią podręczną w systemie operacyjnym

Pamięć to urządzenie sprzętowe, które służy do przechowywania informacji tymczasowo lub na stałe. W tym artykule omówiłem różnice między pamięcią wirtualną a pamięcią podręczną. Pamięć podręczna to pamięć o dużej szybkości, która służy do skrócenia czasu dostępu do danych. Z drugiej strony pamięć wirtualna nie jest dokładnie pamięcią fizyczną, jest techniką, która rozszerza pojemność pamięci głównej poza jej granice.

Główną różnicą między pamięcią wirtualną a pamięcią podręczną jest to, że pamięć wirtualna umożliwia użytkownikowi uruchamianie programów większych niż pamięć główna, podczas gdy pamięć podręczna umożliwia szybszy dostęp do danych, które były ostatnio używane. Omówimy więcej różnic za pomocą poniższej tabeli porównawczej.

Wykres porównania

Podstawa do porównaniaPamięć wirtualnaPamięć buforowana
PodstawowyPamięć wirtualna zwiększa pojemność pamięci głównej dla użytkownika.Pamięć podręczna zapewnia szybkość dostępu do CPU.
NaturaPamięć wirtualna jest techniką.Pamięć cache to jednostka pamięci.
FunkcjonowaćPamięć wirtualna umożliwia wykonanie programu większego niż pamięć główna.Pamięć podręczna przechowuje kopie oryginalnych danych, które były ostatnio używane.
Zarządzanie pamięciąPamięć wirtualna jest zarządzana przez system operacyjny.Pamięć cache jest w pełni zarządzana przez sprzęt.
RozmiarPamięć wirtualna jest znacznie większa niż pamięć podręczna.Pamięć podręczna ma ograniczony rozmiar.
MapowaniePamięć wirtualna wymaga struktur odwzorowania do odwzorowania adresu wirtualnego na adres fizyczny.Żadne struktury odwzorowania nie są wymagane jako takie w pamięci podręcznej.

Definicja pamięci wirtualnej

Pamięć wirtualna nie jest dokładnie fizyczną pamięcią komputera, ale jest techniką, która pozwala na wykonanie dużego programu, który może nie być całkowicie umieszczony w pamięci głównej . Umożliwia programiście wykonywanie programów większych niż pamięć główna.

Teraz daj nam zrozumieć, jak działa pamięć wirtualna? Program ma swój wirtualny adres pamięci, podzielony na kilka stron . Główna pamięć jest również podzielona na kilka stron . Teraz, jak widzimy, adres wirtualny programu jest większy niż dostępna pamięć główna. Tak więc mapa pamięci służy do mapowania adresu wirtualnego na pamięć główną.

Strona 0, 1, 2 jest mapowana w pamięci głównej, a pamięć główna zapełnia się. Teraz, gdy strona 3 pamięci wirtualnej prosi o miejsce w pamięci głównej, najstarsza umieszczona strona, tj. Strona 0, zostaje przeniesiona na dysk twardy i ewakuuje miejsce na stronie 3, w pamięci głównej, a proces trwa. W przypadku, gdy strona 0 jest znowu potrzebna, to ponownie najstarsza umieszczona strona w tym czasie jest przenoszona na twardy dysk, tworząc miejsce dla strony 0.

Jeśli te dwa programy wymagają tych samych danych, umieszczonych w pamięci głównej, jednostka odwzorowania pamięci umożliwia obu programom współdzielenie tej samej przestrzeni adresowej w pamięci głównej, w której przechowywane są dane wspólne . Ułatwia to udostępnianie plików.

Zalety pamięci wirtualnej to:

  • Programy nie są już ograniczone limitem pamięci głównej.
  • Pamięć wirtualna zwiększa stopień multiprogramowania.
  • Zwiększa wykorzystanie procesora.
  • Mniejsza jednostka I / O będzie wymagać załadowania lub zamiany programów w pamięci.

Ale jest wada pamięci wirtualnej, umieszczenie większej liczby stron programu na dysku twardym spowolni wydajność, ponieważ dostęp do danych z dysku twardego zabiera więcej czasu w porównaniu do dostępu do danych z pamięci głównej.

Definicja pamięci podręcznej

W przeciwieństwie do pamięci wirtualnej, pamięć podręczna to urządzenie pamięci masowej zaimplementowane w samym procesorze . Przenosi kopie oryginalnych danych, do których ostatnio uzyskano dostęp. Oryginalne dane mogą zostać umieszczone w pamięci głównej lub pamięci dodatkowej. Pamięć podręczna zapewnia szybkość dostępu do danych, ale w jaki sposób? Rozumiem.

Można powiedzieć, że prędkość dostępu do CPU jest ograniczona do prędkości dostępu do pamięci głównej . Ilekroć program ma być wykonywany przez procesor, pobiera go z pamięci głównej. Jeśli kopia programu jest już obecna w pamięci podręcznej zaimplementowanej na procesorze. Proces będzie miał szybszy dostęp do danych, co spowoduje szybsze wykonanie.

Kluczowe różnice między pamięcią wirtualną i pamięcią podręczną

  1. Pamięć wirtualna zwiększa pojemność pamięci głównej wirtualnie dla użytkownika. Jednak pamięć podręczna sprawia, że ​​dostęp do danych jest szybszy w przypadku procesora.
  2. Pamięć podręczna jest jednostką pamięci, podczas gdy pamięć wirtualna jest techniką .
  3. Pamięć wirtualna umożliwia wykonanie programu większego niż pamięć główna. W pozostałych rękach pamięć podręczna przechowuje kopie oryginalnych danych, które były ostatnio używane.
  4. Zarządzanie pamięcią wirtualną jest realizowane przez system operacyjny . Z drugiej strony zarządzanie pamięcią podręczną odbywa się za pomocą sprzętu .
  5. Pamięć wirtualna jest znacznie większa niż pamięć podręczna.
  6. Technika pamięci wirtualnej wymaga, aby struktury odwzorowujące mapowały adres wirtualny na adres fizyczny, podczas gdy pamięć podręczna nie wymaga żadnych struktur mapujących.

Wniosek:

Pamięć wirtualna jest techniką zwiększania pojemności głównej pamięci wirtualnie dla użytkowników. Pamięć cache to jednostka pamięci, która przechowuje ostatnio dostępne dane, co umożliwia procesorowi dostęp do niego szybciej.

Top