12.10.2014 Views

TEMA 3. GESTIÓN DE MEMORIA - Universidad de Almería

TEMA 3. GESTIÓN DE MEMORIA - Universidad de Almería

TEMA 3. GESTIÓN DE MEMORIA - Universidad de Almería

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Diseño <strong>de</strong> Sistemas Operativos<br />

Tema <strong>3.</strong> Gestión <strong>de</strong> Memoria<br />

• Cache <strong>de</strong> intercambio o swap . Sólo las páginas que han<br />

sido modificadas (dirty) se guardan en el dispositivo <strong>de</strong> intercambio. Mientras no vuelvan a ser<br />

modificadas <strong>de</strong>spués <strong>de</strong> haber sido guardadas en el dispositivo <strong>de</strong> intercambio, la próxima vez que<br />

necesiten ser <strong>de</strong>scartadas (swap out) no será necesario copiarlas al dispositivo <strong>de</strong> intercambio pues ya<br />

están allí. Simplemente se las elimina. En un sistema con mucho trasiego <strong>de</strong> páginas, esto evita muchas<br />

operaciones <strong>de</strong> disco innecesarias y costosas.<br />

• Caches Hardware. Es un caché normalmente implementada en el propio procesador; la caché <strong>de</strong><br />

entradas <strong>de</strong> tabla <strong>de</strong> página. En este caso, el procesador no necesita siempre leer la tabla <strong>de</strong> páginas<br />

directamente, sino que guarda en este caché las traducciones <strong>de</strong> las páginas conforme las va<br />

necesitando. Estos son los Translation Lookasi<strong>de</strong> Buffers (TLB) que contienen copias <strong>de</strong> las entradas<br />

<strong>de</strong> la tabla <strong>de</strong> páginas <strong>de</strong> uno o más procesos <strong>de</strong>l sistema. Cuando se hace la referencia a una<br />

dirección virtual, el procesador intenta encontrar en el TLB la entrada para hacer la traducción a<br />

memoria física. Si la encuentra, directamente realiza la traducción y lleva a cabo la operación. Si el<br />

procesador no pue<strong>de</strong> encontrar la página buscada, entonces tiene que pedir ayuda al sistema operativo.<br />

Esto lo hace enviando una señal al sistema operativo indicando que se ha producido un fallo <strong>de</strong> TLB.<br />

Un mecanismo específico al sistema se utiliza para enviar esta excepción al código <strong>de</strong>l sistema<br />

operativo que pue<strong>de</strong> arreglar la situación. El sistema operativo genera una nueva entrada <strong>de</strong> TLB para<br />

la dirección que se estaba traduciendo. Cuando la excepción termina, el procesador hace un nuevo<br />

intento <strong>de</strong> traducir la dirección virtual. Esta vez tendrá éxito puesto que ahora ya hay una entrada en la<br />

TLB para esa dirección.<br />

El inconveniente <strong>de</strong> utilizar memorias caché, tanto hardware como <strong>de</strong> otro tipo, es que para evitar esfuerzos<br />

Linux tiene que utilizar más tiempo y espacio para mantenerlas y, si se corrompe su contenido, el sistema<br />

<strong>de</strong>jará <strong>de</strong> funcionar.<br />

Departamento <strong>de</strong> Lenguajes y Computación. <strong>Universidad</strong> <strong>de</strong> Almería Página <strong>3.</strong>51

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!