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 />
Descriptores <strong>de</strong> bloques <strong>de</strong> disco.<br />
• Entrada <strong>de</strong>l <strong>de</strong>scriptor <strong>de</strong> bloques <strong>de</strong> disco (<strong>de</strong>scribe copia <strong>de</strong> disco <strong>de</strong> la página virtual): (1) Número<br />
<strong>de</strong> dispositivo <strong>de</strong> swap, indica el número <strong>de</strong> dispositivo lógico <strong>de</strong>l dispositivo secundario que contiene<br />
la página correspondiente (se pue<strong>de</strong> utilizar más <strong>de</strong> un dispositivo para el intercambio); (2) Número <strong>de</strong><br />
bloque <strong>de</strong>l dispositivo, indica la posición <strong>de</strong>l bloque que contiene la página en el dispositivo swap; (3)<br />
Tipo <strong>de</strong> almacenamiento, el almacenamiento pue<strong>de</strong> ser la unidad <strong>de</strong> swap o un archivo ejecutable, en<br />
este último caso, existe un indicador <strong>de</strong> si <strong>de</strong>be borrarse primero la memoria virtual a asignar.<br />
• Los procesos que comparten una misma región ⇒ Entradas comunes para la tabla <strong>de</strong> páginas y los<br />
<strong>de</strong>scriptores <strong>de</strong> bloques <strong>de</strong> disco.<br />
Región<br />
Entrada Tabla Páginas<br />
Descriptor Bloque Disco<br />
Entrada en la Tabla <strong>de</strong> Páginas<br />
Dirección física <strong>de</strong> la página Edad Cp/wrt Mod Ref Val Prot<br />
Descriptor <strong>de</strong> Bloque <strong>de</strong> Disco<br />
Dispositivo Swap Número <strong>de</strong> Bloque Tipo (swap, archivo, poner 0, llenar en <strong>de</strong>manda)<br />
Figura <strong>3.</strong>6. Entrada en la tabla <strong>de</strong> Páginas y <strong>de</strong>l <strong>de</strong>scriptor <strong>de</strong> bloques <strong>de</strong> disco.<br />
Contenidos <strong>de</strong> una página virtual: (1) Bloque particular <strong>de</strong>l dispositivo <strong>de</strong> swap ⇒ <strong>de</strong>scriptor <strong>de</strong> bloques <strong>de</strong><br />
disco contiene el número <strong>de</strong> dispositivo lógico y el número <strong>de</strong> bloque que contiene la página; (2) Archivo<br />
ejecutable ⇒ <strong>de</strong>scriptor <strong>de</strong> bloques <strong>de</strong> disco contiene el número <strong>de</strong> bloque lógico que contiene la página<br />
virtual; (3) No está en swap (página sin contenido) ⇒ <strong>de</strong>scriptor <strong>de</strong> bloques <strong>de</strong> disco indica condiciones<br />
especiales.<br />
Tabla <strong>de</strong> Marcos <strong>de</strong> Páginas (pfdata).<br />
• Describe páginas <strong>de</strong> memoria física y se in<strong>de</strong>xa por número <strong>de</strong> página.<br />
• Entrada <strong>de</strong> la tabla <strong>de</strong> marcos <strong>de</strong> página: (1) Estado <strong>de</strong> la página, indica si el marco <strong>de</strong> página está<br />
disponible (pue<strong>de</strong> ser asignado) o tiene una página asociada, en este último caso, especifica el estado<br />
<strong>de</strong> la página: en el dispositivo <strong>de</strong> swap, en un archivo ejecutable o en una operación <strong>de</strong> DMA<br />
pendiente); (2) Contador <strong>de</strong> referencias, indica el número <strong>de</strong> procesos que hacen referencia a la<br />
página ⇒ es igual al número entradas válidas en la tabla <strong>de</strong> páginas referenciando a la página, aunque<br />
pue<strong>de</strong> ser distinto <strong>de</strong>l número <strong>de</strong> procesos que comparten regiones que contengan la página; (3)<br />
Dispositivo lógico (swap), indica el dispositivo lógico que contiene una copia <strong>de</strong> la página; (4) Número<br />
<strong>de</strong> bloque, que indica la posición <strong>de</strong>l bloque <strong>de</strong> la copia <strong>de</strong> la página en el dispositivo; (5) Punteros a<br />
marco <strong>de</strong> página, es un puntero a otras entradas <strong>de</strong> la tabla <strong>de</strong> marcos (pfdata) en una lista <strong>de</strong><br />
páginas libres y lista hash <strong>de</strong> páginas.<br />
• Lista <strong>de</strong> páginas libres: (1) Caché <strong>de</strong> páginas disponibles para reasignar, (2) El proceso provoca falta<br />
<strong>de</strong> página y pue<strong>de</strong> encontrarla intacta en lista <strong>de</strong> páginas libres; (3) Permite al kernel evitar<br />
operaciones <strong>de</strong> lectura innecesarias; (4) Or<strong>de</strong>n asignación páginas libres es LRU (menos utilizada<br />
recientemente).<br />
• Lista hash <strong>de</strong> páginas: (1) Función hash <strong>de</strong>pen<strong>de</strong> <strong>de</strong>l número <strong>de</strong> dispositivo lógico y <strong>de</strong>l número <strong>de</strong><br />
bloque <strong>de</strong> la página ⇒ localización rápida <strong>de</strong> la página si está en memoria.<br />
Departamento <strong>de</strong> Lenguajes y Computación. <strong>Universidad</strong> <strong>de</strong> Almería Página <strong>3.</strong>14