Recomandat, 2020

Alegerea Editorului

Diferența dintre memoria virtuală și memoria cache în sistemul de operare

Memoria este un dispozitiv hardware care este utilizat pentru a stoca informațiile fie temporar, fie permanent. În acest articol, am discutat despre diferențele dintre memoria virtuală și memoria cache. O memorie cache este o memorie de mare viteză care este utilizată pentru a reduce timpul de acces pentru date. Pe celelalte mâini, memoria virtuală nu este o memorie fizică, ci o tehnică care extinde capacitatea memoriei principale dincolo de limita ei.

Diferența majoră dintre memoria virtuală și memoria cache este că o memorie virtuală permite unui utilizator să execute programe care sunt mai mari decât memoria principală, în timp ce memoria cache permite accesul mai rapid la datele care au fost utilizate recent. Vom discuta mai multe diferențe cu ajutorul graficului de comparație prezentat mai jos.

Diagramă de comparație

Bazele comparațieiMemorie virtualaMemoria cache
De bazăMemoria virtuală extinde capacitatea memoriii principale pentru utilizator.Memoria cache facilitează viteza de accesare a datelor din CPU.
NaturăMemoria virtuală este tehnica.Memoria cache este o unitate de stocare.
FuncţieMemoria virtuală permite executarea programului care este mai mare decât memoria principală.Memoria cache stochează copii ale datelor originale care au fost utilizate recent.
Gestionarea memorieiMemoria virtuală este gestionată de sistemul de operare.Memoria cache este gestionată integral de hardware.
mărimeaMemoria virtuală este mult mai mare decât memoria memorată în cache.Memoria cache a limitat dimensiunea.
CartografiereaMemoria virtuală necesită structuri de mapare pentru a mapa adresa virtuală la adresa fizică.Nu sunt necesare structuri de mapare ca atare într-o memorie cache.

Definiția Virtual Memory

Memoria virtuală nu este exact o memorie fizică a unui computer, ci o tehnică care permite executarea unui program mare care nu poate fi complet plasat în memoria principală . Acesta permite programatorului să execute programele mai mari decât memoria principală.

Acum, să înțelegem cum funcționează memoria virtuală? Programul are adresa sa de memorie virtuală, care este împărțită într-un număr de pagini . Memoria principală este de asemenea împărțită într-un număr de pagini . Acum, după cum vedem, adresa virtuală a unui program este mai mare decât memoria principală disponibilă. Deci, harta de memorie este utilizată pentru a mapa adresa virtuală în memoria principală.

Paginile 0, 1, 2 sunt cartografiate în memoria principală și memoria principală se umple. Acum, când pagina 3 a memoriei virtuale solicită spațiu în memoria principală, cea mai veche pagină plasată, adică pagina 0, se transferă pe hard disk și evacuează locul pentru pagina 3, în memoria principală și procesul continuă. În cazul în care pagina 0 este din nou necesară, atunci din nou pagina cea mai veche plasată în acel moment este transferată pe hard disk, făcând loc pentru pagina 0.

Dacă cele două programe au nevoie de aceleași date, plasate în memoria principală, unitatea de mapare a memoriei permite atât programelor să partajeze același spațiu de adresă din memoria principală unde sunt stocate datele partajate . Acest lucru facilitează partajarea fișierelor.

Beneficiile memoriei virtuale sunt:

  • Programele nu mai sunt constrânse de limita memoriei principale.
  • Memoria virtuală mărește gradul de multiprogramare.
  • Creste utilizarea procesorului.
  • Mai puțin unitatea de I / O va necesita încărcarea sau schimbarea programelor în memorie.

Dar există un dezavantaj al memoriei virtuale, plasarea mai multor pagini ale unui program pe hard disk va încetini performanța deoarece accesarea datelor de pe hard disk durează mai mult timp în comparație cu accesarea datelor din memoria principală.

Definiția Cache Memory

Spre deosebire de memoria virtuală, Cache-ul este un dispozitiv de stocare implementat chiar pe procesor . Acesta poartă copii ale datelor originale care au fost accesate recent. Datele originale pot fi plasate în memoria principală sau într-o memorie secundară. Memoria cache-ului facilitează viteza de accesare a datelor, dar cum? Să înțelegem.

Putem spune că viteza de accesare a procesorului este limitată la viteza de acces a memoriei principale . Ori de câte ori un program urmează să fie executat de procesor, acesta îl încarcă din memoria principală. Dacă o copie a programului este deja prezentă în memoria cache implementată pe procesor. Procesul ar putea accesa aceste date mai repede, ceea ce va duce la o execuție mai rapidă.

Diferențele cheie între memoria virtuală și memoria cache

  1. Memoria virtuală extinde capacitatea de memorie principală practic pentru utilizator. Cu toate acestea, memoria cache face accesarea mai rapidă a datelor pentru CPU.
  2. Cache-ul este o unitate de memorie , în timp ce memoria virtuală este o tehnică .
  3. Memoria virtuală permite ca execuțiile programului să fie mai mari decât memoria principală. Pe celelalte mâini, memoria cache stochează copii ale datelor originale utilizate recent.
  4. Gestionarea memoriei virtuale se face de sistemul de operare . Pe celelalte mâini, gestionarea memoriei cache se face de hardware .
  5. Memoria virtuală este mult mai mare decât dimensiunea memorie cache.
  6. Tehnica de memorie virtuală necesită structurile de mapare pentru a mapa adresa virtuală la adresa fizică, în timp ce memoria cache nu necesită structuri de mapare.

Concluzie:

Memoria virtuală este o tehnică pentru a extinde capacitatea de memorie principală practic pentru utilizatori. Memoria de arhivă este o unitate de stocare care stochează datele accesate recent, ceea ce îi permite procesorului să acceseze mai repede.

Top