Guies

El concepte de memòria virtual a l'arquitectura de computadors

La memòria virtual és un concepte valuós en l'arquitectura d'ordinadors que permet executar programes grans i sofisticats en un ordinador, fins i tot si té una quantitat relativament petita de RAM. Un ordinador amb memòria virtual fa malabarisme amb les demandes conflictives de diversos programes en una quantitat fixa de memòria física. Un PC amb poca memòria pot executar els mateixos programes que un amb molta memòria RAM, encara que més lentament.

Adreces físiques vs virtuals

Un ordinador accedeix al contingut de la seva memòria RAM mitjançant un sistema d’adreces, que són essencialment números que localitzen cada byte. Com que la quantitat de memòria varia d'un ordinador a un altre, és complicat determinar quin programari funcionarà en un ordinador determinat. La memòria virtual resol aquest problema tractant cada equip com si tingués una gran quantitat de RAM i cada programa com si fes servir exclusivament el PC. El sistema operatiu, com Microsoft Windows o OS X d'Apple, crea un conjunt d'adreces virtuals per a cada programa. El sistema operatiu tradueix les adreces virtuals en altres físiques, ajustant dinàmicament els programes a la memòria RAM a mesura que estigui disponible.

Paginació

La memòria virtual divideix els programes en blocs de mida fixa anomenats pàgines. Si un ordinador té molta memòria física, el sistema operatiu carrega totes les pàgines d’un programa a la memòria RAM. Si no, el sistema operatiu s’adapta al màxim i executa les instruccions d’aquestes pàgines. Quan l’ordinador s’acaba amb aquestes pàgines, carrega la resta del programa a la memòria RAM, possiblement sobreescrivint les pàgines anteriors. Com que el sistema operatiu gestiona aquests detalls automàticament, allibera el desenvolupador de programari de concentrar-se en les funcions del programa i no preocupar-se pels problemes de memòria.

Multiprogramació

La memòria virtual amb paginació permet a un ordinador executar molts programes alhora, gairebé independentment de la memòria RAM disponible. Aquest avantatge, anomenat multiprogramació, és una característica clau dels sistemes operatius moderns de PC, ja que s’adapta a molts programes d’utilitat com ara controladors d’impressora, administradors de xarxa i escanejadors de virus al mateix temps que les vostres aplicacions: navegadors web, processadors de text, correu electrònic i suports jugadors.

Fitxer de paginació

Amb la memòria virtual, l'ordinador escriu pàgines del programa que no s'han utilitzat recentment en una àrea del disc dur anomenada fitxer de paginació. El fitxer desa les dades contingudes a les pàgines; si el programa ho necessita de nou, el sistema operatiu el recarrega quan la RAM estigui disponible. Quan molts programes competeixen per la memòria RAM, el fet d’intercanviar pàgines al fitxer pot alentir la velocitat de processament d’un ordinador, ja que dedica més temps a fer tasques de gestió de memòria i menys temps a fer un treball útil. L’ideal seria que un ordinador tingui prou memòria RAM per atendre les demandes de molts programes, reduint al mínim el temps que l’ordinador passa a gestionar les seves pàgines.

Protecció de memòria

Un ordinador sense memòria virtual encara pot executar molts programes alhora, tot i que un programa pot canviar, accidentalment o deliberadament, les dades d’un altre si les seves adreces apunten a un programa incorrecte. La memòria virtual impedeix aquesta situació perquè un programa mai "veu" les seves adreces físiques. El gestor de memòria virtual protegeix les dades d’un programa dels canvis d’un altre.

$config[zx-auto] not found$config[zx-overlay] not found