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
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