Memorie virtuală în sistem de operare: Ce este, cerere de paginare, avantaje

Cuprins:

Anonim

Ce este memoria virtuală?

Memoria virtuală este un mecanism de stocare care oferă utilizatorului o iluzie de a avea o memorie principală foarte mare. Se face tratând o parte a memoriei secundare ca memorie principală. În memoria virtuală, utilizatorul poate stoca procese cu o dimensiune mai mare decât memoria principală disponibilă.

Prin urmare, în loc de a încărca un proces lung în memoria principală, sistemul de operare încarcă diferitele părți ale mai multor procese în memoria principală. Memoria virtuală este în mare parte implementată cu paginarea cererii și segmentarea cererii.

În acest tutorial privind sistemul de operare, veți afla:

  • Ce este memoria virtuală?
  • Cum funcționează memoria virtuală?
  • Ce este cererea de paginare?
  • Tipuri de metode de înlocuire a paginilor
  • Înlocuirea paginii FIFO
  • Algoritm optim
  • Înlocuirea paginii LRU
  • Avantajele memoriei virtuale
  • Dezavantaje ale memoriei virtuale

De ce aveți nevoie de memorie virtuală?

Iată, sunt motive pentru utilizarea memoriei virtuale:

  • Ori de câte ori computerul dvs. nu are spațiu în memoria fizică, scrie ceea ce trebuie să-și amintească pe hard disk într-un fișier swap ca memorie virtuală.
  • Dacă un computer care rulează Windows are nevoie de mai multă memorie / RAM, atunci instalat în sistem, acesta folosește o mică parte din hard disk în acest scop.

Cum funcționează memoria virtuală?

În lumea modernă, memoria virtuală a devenit destul de obișnuită în zilele noastre. Este utilizat ori de câte ori unele pagini necesită încărcarea în memoria principală pentru executare, iar memoria nu este disponibilă pentru acele numeroase pagini.

Deci, în acest caz, în loc să împiedice intrarea paginilor în memoria principală, sistemul de operare caută spațiul RAM care este minim utilizat în ultimii ani sau care nu sunt menționate în memoria secundară pentru a face spațiul pentru noile pagini din memoria principală.

Să înțelegem gestionarea memoriei virtuale cu ajutorul unui exemplu.

De exemplu:

Să presupunem că un sistem de operare necesită 300 MB de memorie pentru a stoca toate programele care rulează. Cu toate acestea, în prezent există doar 50 MB de memorie fizică disponibilă stocată pe RAM.

  • Sistemul de operare va configura apoi 250 MB de memorie virtuală și va utiliza un program numit Virtual Memory Manager (VMM) pentru a gestiona acei 250 MB.
  • Deci, în acest caz, VMM va crea un fișier pe hard disk care are o dimensiune de 250 MB pentru a stoca memoria suplimentară necesară.
  • Sistemul de operare va proceda acum la adresarea memoriei, deoarece consideră 300 MB de memorie reală stocată în RAM, chiar dacă este disponibil doar 50 MB spațiu.
  • VMM are sarcina de a gestiona 300 MB de memorie, chiar dacă sunt disponibili doar 50 MB de spațiu real de memorie.

Ce este cererea de paginare?

Un mecanism de paginare a cererii este foarte similar cu un sistem de paginare cu swaping în care procesele stocate în memoria secundară și paginile sunt încărcate numai la cerere, nu în avans.

Deci, atunci când are loc un comutator de context, sistemul de operare nu copiază niciodată nici o pagină a programului vechi de pe disc sau niciuna dintre paginile noului program în memoria principală. În schimb, va începe să execute noul program după încărcarea primei pagini și va prelua paginile programului, la care se face referință.

În timpul execuției programului, dacă programul face referire la o pagină care poate să nu fie disponibilă în memoria principală deoarece a fost schimbată, atunci procesorul o consideră o referință de memorie nevalidă. Acest lucru se datorează faptului că defecțiunile paginii și transferurile trimit controlul înapoi de la program la sistemul de operare, care necesită stocarea paginii înapoi în memorie.

Tipuri de metode de înlocuire a paginilor

Iată câteva metode importante de înlocuire a paginii

  • FIFO
  • Algoritm optim
  • Înlocuirea paginii LRU

Înlocuirea paginii FIFO

FIFO (First-in-first-out) este o metodă simplă de implementare. În această metodă, memoria selectează pagina pentru o înlocuire care a fost în adresa virtuală a memoriei pentru cel mai mult timp.

Caracteristici:

  • Ori de câte ori s-a încărcat o pagină nouă, pagina care intră recent în memorie este eliminată. Deci, este ușor să decideți ce pagină trebuie eliminată, deoarece numărul său de identificare este întotdeauna în stiva FIFO.
  • Cea mai veche pagină din memoria principală este una care ar trebui selectată mai întâi pentru înlocuire.

Algoritm optim

Metoda optimă de înlocuire a paginii selectează acea pagină pentru o înlocuire pentru care timpul până la următoarea referință este cel mai lung.

Caracteristici:

  • Algoritmul optim are ca rezultat cel mai mic număr de erori de pagină. Acest algoritm este dificil de implementat.
  • O metodă optimă de algoritm de înlocuire a paginii are cea mai mică rată de defecțiune a paginii dintre toți algoritmii. Acest algoritm există și care ar trebui să fie numit MIN sau OPT.
  • Înlocuiți pagina care, spre deosebire de cea utilizată, pentru o perioadă mai lungă de timp. Folosește doar timpul în care trebuie folosită o pagină.

Înlocuirea paginii LRU

Forma completă a LRU este pagina Cel mai recent folosit. Această metodă ajută sistemul de operare să găsească utilizarea paginii pe o perioadă scurtă de timp. Acest algoritm ar trebui implementat prin asocierea unui contor cu o pagină pară.

Cum functioneazã?

  • Pagina, care nu a fost folosită pentru cel mai mult timp în memoria principală, este cea care va fi selectată pentru înlocuire.
  • Ușor de implementat, păstrați o listă, înlocuiți paginile privind înapoi în timp.

Caracteristici:

  • Metoda de înlocuire LRU are cel mai mare număr. Acest contor este, de asemenea, numit registre de îmbătrânire, care specifică vârsta lor și cât de mult ar trebui să se facă referire și paginile asociate.
  • Pagina care nu a fost folosită pentru cel mai mult timp în memoria principală este cea care ar trebui selectată pentru înlocuire.
  • De asemenea, păstrează o listă și înlocuiește paginile privind înapoi în timp.

Rata de defecțiune

Rata de eroare este o frecvență cu care un sistem sau o componentă proiectată eșuează. Se exprimă în eșecuri pe unitate de timp. Este notată cu litera greacă λ (lambda).

Avantajele memoriei virtuale

Iată care sunt avantajele / avantajele utilizării memoriei virtuale:

  • Memoria virtuală ajută la creșterea vitezei atunci când este necesar doar un anumit segment al programului pentru executarea programului.
  • Este foarte util în implementarea unui mediu multiprogramare.
  • Vă permite să rulați mai multe aplicații simultan.
  • Vă ajută să încadrați multe programe mari în programe mai mici.
  • Datele sau codul comun pot fi partajate între memorie.
  • Procesul poate deveni chiar mai mare decât toată memoria fizică.
  • Datele / codul trebuie citite de pe disc ori de câte ori este necesar.
  • Codul poate fi plasat oriunde în memoria fizică fără a necesita relocare.
  • Mai multe procese ar trebui menținute în memoria principală, ceea ce crește utilizarea eficientă a procesorului.
  • Fiecare pagină este stocată pe un disc până când este necesară după aceea, va fi eliminată.
  • Permite rularea mai multor aplicații în același timp.
  • Nu există o limită specifică a gradului de multiprogramare.
  • Ar trebui scrise programe mari, deoarece spațiul de adresă virtual disponibil este mai mult comparativ cu memoria fizică.

Dezavantaje ale memoriei virtuale

Iată dezavantajele / dezavantajele utilizării memoriei virtuale:

  • Aplicațiile pot rula mai lent dacă sistemul utilizează memorie virtuală.
  • Probabil va dura mai mult timp pentru a comuta între aplicații.
  • Oferă mai puțin spațiu pe hard disk pentru utilizare.
  • Reduce stabilitatea sistemului.
  • Permite aplicații mai mari să ruleze în sisteme care nu oferă suficientă memorie RAM fizică pentru a le rula.
  • Nu oferă aceleași performanțe ca RAM.
  • Afectează negativ performanța generală a unui sistem.
  • Ocupați spațiul de stocare, care poate fi utilizat în caz contrar pentru stocarea datelor pe termen lung.

Rezumat:

  • Memoria virtuală este un mecanism de stocare care oferă utilizatorului o iluzie de a avea o memorie principală foarte mare.
  • Memoria virtuală este necesară ori de câte ori computerul dvs. nu are spațiu în memoria fizică
  • Un mecanism de paginare a cererii este foarte similar cu un sistem de paginare cu swaping în care procesele stocate în memoria secundară și paginile sunt încărcate numai la cerere, nu în avans.
  • Metodele importante de înlocuire a paginii sunt 1) FIFO 2) Algoritm optim 3) Înlocuirea paginii LRU.
  • În metoda FIFO (First-in-first-out), memoria selectează pagina pentru un înlocuitor care a fost în adresa virtuală a memoriei pentru cel mai mult timp.
  • Metoda optimă de înlocuire a paginii selectează acea pagină pentru o înlocuire pentru care timpul până la următoarea referință este cel mai lung.
  • Metoda LRU ajută sistemul de operare să găsească utilizarea paginii pe o perioadă scurtă de timp.
  • Memoria virtuală ajută la creșterea vitezei atunci când este necesar doar un anumit segment al programului pentru executarea programului.
  • Aplicațiile pot rula mai lent dacă sistemul utilizează memorie virtuală.