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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

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

Ejemplo. Figura <strong>3.</strong>5, operaciones <strong>de</strong> intercambio. (1) Procesos A, B, C, D y E; (2) Todos son intensivos en<br />

CPU (misma prioridad); (3) Swapper tiene la mayor prioridad ⇒ se ejecutará cada segundo si hay carga <strong>de</strong><br />

trabajo; (3) Todos los procesos tienen igual tamaño; (4) Pue<strong>de</strong> haber en memoria sólo dos procesos<br />

simultáneamente; (5) Situación inicial: A y B en memoria y los <strong>de</strong>más intercambiados (en swap).<br />

Tiempo Proceso A Proceso B Proceso C Proceso<br />

Proceso E<br />

D<br />

0<br />

1<br />

0 ejecución<br />

1<br />

0<br />

1 ejecución<br />

0 intercambiado<br />

1<br />

0 intercambiado<br />

1<br />

0 intercambiado<br />

1<br />

2<br />

2 intercambiado<br />

0<br />

2 intercambiado<br />

0<br />

2 intercambiado<br />

en memoria<br />

0 ejecución<br />

2 intercambiado<br />

en memoria<br />

0<br />

2<br />

3<br />

1 1 1 1 ejecución<br />

3<br />

4<br />

2 intercambiado<br />

en memoria<br />

0<br />

2 2 intercambiado 2 intercambiado 4 intercambiado<br />

0<br />

0 en memoria<br />

0 ejecución<br />

5<br />

1 ejecución 3 1 1 1<br />

6<br />

2 intercambiado<br />

0<br />

4 intercambiado<br />

en memoria<br />

0 ejecución<br />

2 intercambiado<br />

0<br />

2<br />

2 intercambiado<br />

0<br />

Figura <strong>3.</strong>5. Ejemplo <strong>de</strong> operaciones <strong>de</strong> intercambio.<br />

Problemas:<br />

1. El swapper intercambia fuera en función <strong>de</strong> prioridad, tiempo <strong>de</strong> permanencia en memoria y valor nice<br />

⇒ Proceso elegido pue<strong>de</strong> no suministrar suficiente memoria. Alternativa: intercambiar fuera grupos<br />

sólo si dan suficiente memoria.<br />

2. Si el swapper duerme porque no pudo encontrar suficiente memoria para traer un proceso, cuando<br />

<strong>de</strong>spierta, busca otra vez un proceso para traerse al memoria aunque ya había encontrado uno antes<br />

porque pudo <strong>de</strong>spertar proceso más elegible ⇒ Proceso sigue en el dispositivo <strong>de</strong> swap. Alternativa: el<br />

swapper intenta intercambiar fuera muchos procesos más pequeños para hacer sitio al proceso más<br />

gran<strong>de</strong>, que estamos intentando intercambiar a memoria, antes <strong>de</strong> buscar otro proceso para<br />

intercambiar a memoria.<br />

<strong>3.</strong> El swapper pue<strong>de</strong> elegir un proceso que esté en estado “listo para ejecutarse”, para intercambiarlo<br />

fuera <strong>de</strong> memoria (swap) en caso <strong>de</strong> que no se hubiera ejecutado nunca.<br />

4. El swapper intenta intercambiar fuera un proceso y no encuentra espacio en swap ⇒ <strong>de</strong>adlock.<br />

Condiciones: (1) Todos los procesos en memoria principal están dormidos; (2) Todos los procesos<br />

“listos para ejecutarse” están intercambiados fuera <strong>de</strong> memoria principal; (3) No hay sitio en el<br />

dispositivo <strong>de</strong> swap para nuevos procesos.<br />

<strong>3.</strong><strong>3.</strong>2. Paginación por Demanda<br />

<strong>3.</strong><strong>3.</strong>2.1. Visión General<br />

Hardware: arquitectura basada en páginas y CPU instrucciones rearrancables ⇒ Soporta que el kernel<br />

implemente un algoritmo <strong>de</strong> <strong>de</strong>manda <strong>de</strong> páginas. Un proceso no tiene que caber entero en memoria física<br />

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

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

Saved successfully!

Ooh no, something went wrong!