La memòria virtual és un esquema d'emmagatzematge que proporciona a l'usuari la il·lusió de tenir una memòria principal molt gran. Això es fa tractant una part de la memòria secundària com a memòria principal.
En aquest esquema, l'usuari pot carregar processos de mida més gran que la memòria principal disponible tenint la il·lusió que la memòria està disponible per carregar el procés.
En lloc de carregar un gran procés a la memòria principal, el sistema operatiu carrega les diferents parts de més d'un procés a la memòria principal.
En fer-ho, augmentarà el grau de multiprogramació i, per tant, també augmentarà la utilització de la CPU.
Com funciona la memòria virtual?
En paraules modernes, la memòria virtual s'ha tornat força comú en aquests dies. En aquest esquema, sempre que calgui carregar algunes pàgines a la memòria principal per a l'execució i la memòria no està disponible per a aquestes tantes pàgines, en aquest cas, en lloc d'aturar que les pàgines entrin a la memòria principal, el sistema operatiu cerca l'àrea de RAM que s'utilitzen menys en els últims temps o que no estan referenciades i copieu-la a la memòria secundària per fer espai per a les noves pàgines a la memòria principal.
Com que tot aquest procediment es fa automàticament, fa que l'ordinador se senti com si tingués la memòria RAM il·limitada.
Paginació de la demanda
La paginació de demanda és un mètode popular de gestió de memòria virtual. En la paginació de demanda, les pàgines d'un procés que s'utilitzen menys s'emmagatzemen a la memòria secundària.
Una pàgina es copia a la memòria principal quan es fa la seva demanda o es produeix un error de pàgina. Hi ha diversos algorismes de substitució de pàgines que s'utilitzen per determinar les pàgines que seran substituïdes. Més endavant parlarem de cadascun d'ells amb detall.
Instantània d'un sistema de gestió de memòria virtual
Suposem que 2 processos, P1 i P2, conté 4 pàgines cadascun. La mida de cada pàgina és d'1 KB. La memòria principal conté 8 fotogrames d'1 KB cadascun. El sistema operatiu resideix a les dues primeres particions. A la tercera partició, 1sts'emmagatzema la pàgina de P1 i els altres marcs també es mostren plens amb les diferents pàgines de processos de la memòria principal.
Les taules de pàgines d'ambdues pàgines tenen una mida d'1 KB cadascuna i, per tant, es poden encaixar en un marc cadascuna. Les taules de pàgines d'ambdós processos contenen informació diversa que també es mostra a la imatge.
La CPU conté un registre que conté l'adreça base de la taula de pàgines que és 5 en el cas de P1 i 7 en el cas de P2. Aquesta adreça base de la taula de pàgines s'afegirà al número de pàgina de l'adreça lògica quan es tracti d'accedir a l'entrada real corresponent.
Avantatges de la memòria virtual
- S'incrementarà el grau de Multiprogramació.
- L'usuari pot executar una aplicació gran amb menys memòria RAM real.
- No cal comprar més memòria RAM.
Inconvenients de la memòria virtual
- El sistema es torna més lent ja que l'intercanvi requereix temps.
- Es necessita més temps per canviar entre aplicacions.
- L'usuari tindrà el menor espai al disc dur per al seu ús.