Diferența dintre memoria virtuală și memoria cache

În lumea computerelor, memoria stabilește limita pe care ne bazăm dacă putem rula acel program sau nu. Dacă ați fost destul de ghinionat să fi experimentat DOS, atunci știți că este o limită a limitei de memorie de 640k. În prezent, memoria pare a fi aproape infinită și nimeni nu primește de fapt mesajele "insuficiente de memorie" de yester-an. Cum au realizat asta??

Răspunsul la aceasta este o procedură foarte inteligentă de gestionare a memoriei. Prin plasarea unor părți care ar trebui să fie în memorie în interiorul hard-disk-ului, acestea pot extinde capacitatea de memorie a unui computer mai mult decât ceea ce este instalat; aceasta se numește memorie virtuală. Deci, să presupunem că calculatorul dvs. are doar 1 GB de memorie și lansați câteva programe al căror consum total de memorie este de aproximativ 1,5 GB. Fără memorie virtuală, nu vi se permite să faceți asta. Dar cu memorie virtuală, sistemul de operare alocă o parte din hard disk ca parte a memoriei și păstrează datele acolo. Astfel, în exemplul de mai sus, să spunem că memoria virtuală este, de asemenea, de 1GB. Memorie reală de 1 GB + memorie virtuală de 1 GB = memorie de sistem de 2 GB. În acest fel, chiar dacă memoria dvs. este limitată, puteți utiliza în continuare aplicații de memorie extinse.

Există însă un dezavantaj pentru memoria virtuală. Citirea datelor de pe un hard disk este mult mai lentă decât citirea din memorie. Deci, cu cât mai multe informații sunt stocate pe hard-disk, cu atât sistemul dvs. va deveni lent.

Memoria cache, pe de altă parte, nu extinde cantitatea de memorie pe care o aveți, ci doar micșorează timpul necesar accesării datelor. Pentru a înțelege cu ușurință conceptul, să spunem că procesorul este un student care face un raport. Ori de câte ori are nevoie de date, el se duce la raft (raftul este memoria și cărțile sunt datele) și scoate o carte și o aduce înapoi pe scaun. Citește-l, apoi îl întoarce la raft înainte de a continua cu raportul său. Dacă erați elevul, ar fi cu adevărat nevoie de timp dacă trebuie să vă ridicați și să obțineți o carte de fiecare dată când aveți nevoie de o bucată de date. Practic, un student a primit câteva cărți de la raft și a pus-o pe masă. Deci, dacă el are nevoie de informații care sunt în cartea pe care a folosit-o recent, este doar în limite și nu trebuie să stea și să meargă să-l primească.

În această metaforă, tabela este memoria noastră de memorie cache. Ori de câte ori procesorul utilizează date, acesta pune cele mai recente date pe care le-a folosit în memoria cache pentru acces rapid în cazul în care este necesar din nou. Memoria cache este însă foarte limitată, la fel ca o tabelă cu spațiu limitat, astfel încât datele care nu au fost accesate cel mai mult sunt returnate în memorie pentru a elibera memoria cache pentru date mai recente.

Aflați mai multe despre memoria cache și memoria virtuală.