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

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

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

Saved successfully!

Ooh no, something went wrong!