Memoria virtuală este o schemă de stocare care oferă utilizatorului iluzia de a avea o memorie principală foarte mare. Acest lucru se face prin tratarea unei părți a memoriei secundare ca memorie principală.
În această schemă, utilizatorul poate încărca procese de dimensiune mai mare decât memoria principală disponibilă, având iluzia că memoria este disponibilă pentru a încărca procesul.
În loc să încarce un proces mare în memoria principală, sistemul de operare încarcă diferitele părți ale mai multor procese în memoria principală.
Procedând astfel, gradul de multiprogramare va fi crescut și, prin urmare, va crește și utilizarea procesorului.
Cum funcționează memoria virtuală?
În cuvântul modern, memoria virtuală a devenit destul de comună în zilele noastre. În această schemă, ori de câte ori unele pagini trebuie să fie încărcate în memoria principală pentru execuție și memoria nu este disponibilă pentru acele multe pagini, atunci în acest caz, în loc să oprească intrarea paginilor în memoria principală, sistemul de operare caută zona RAM care sunt mai puțin utilizate în ultima vreme sau care nu sunt referite și copiați-o în memoria secundară pentru a face spațiu pentru noile pagini în memoria principală.
Deoarece toată această procedură are loc automat, de aceea face computerul să simtă că are RAM nelimitată.
Paging la cerere
Demand Paging este o metodă populară de gestionare a memoriei virtuale. În paginarea la cerere, paginile unui proces care sunt cel mai puțin utilizate sunt stocate în memoria secundară.
O pagină este copiată în memoria principală atunci când este solicitată sau când apare o eroare a paginii. Există diferiți algoritmi de înlocuire a paginilor care sunt utilizați pentru a determina paginile care vor fi înlocuite. Pe fiecare dintre ele vom discuta mai târziu în detaliu.
Instantaneu al unui sistem de gestionare a memoriei virtuale
Să presupunem că 2 procese, P1 și P2, conține 4 pagini fiecare. Dimensiunea fiecărei pagini este de 1 KB. Memoria principală conține 8 cadre de câte 1 KB fiecare. Sistemul de operare se află în primele două partiții. În a treia partiție, 1Sfpagina P1 este stocată și celelalte cadre sunt, de asemenea, afișate ca fiind umplute cu diferitele pagini de procese din memoria principală.
Tabelele de pagini ale ambelor pagini au dimensiunea de 1 KB fiecare și, prin urmare, pot fi încadrate într-un cadru fiecare. Tabelele de pagină ale ambelor procese conțin diverse informații care sunt afișate și în imagine.
CPU conține un registru care conține adresa de bază a tabelului de pagini care este 5 în cazul lui P1 și 7 în cazul lui P2. Această adresă de bază a tabelului de pagini va fi adăugată la numărul de pagină al adresei logice atunci când vine vorba de accesarea intrării corespunzătoare reale.
Avantajele memoriei virtuale
- Gradul de Multiprogramare va fi crescut.
- Utilizatorul poate rula aplicații mari cu mai puțină memorie RAM reală.
- Nu este nevoie să cumpărați mai multe RAM-uri de memorie.
Dezavantajele memoriei virtuale
- Sistemul devine mai lent, deoarece schimbarea necesită timp.
- Este nevoie de mai mult timp pentru a comuta între aplicații.
- Utilizatorul va avea spațiu mai mic pe hard disk pentru utilizarea sa.