12.10.2014 Views

TEMA 2. GESTIÓN DE PROCESOS - Universidad de Almería

TEMA 2. GESTIÓN DE PROCESOS - Universidad de Almería

TEMA 2. GESTIÓN DE PROCESOS - 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>2.</strong> Gestión <strong>de</strong> Procesos<br />

Parado<br />

señal<br />

señal<br />

creación<br />

planificación<br />

terminación<br />

Listo En Ejecución Zombie<br />

señal o<br />

suceso<br />

suceso<br />

No Interrumpible<br />

E/S<br />

E/S<br />

Interrumpible<br />

Figura <strong>2.</strong><strong>2.</strong> Diagrama <strong>de</strong> transición <strong>de</strong> estados <strong>de</strong> un proceso en un sistema Linux.<br />

<strong>2.</strong><strong>2.</strong> ESTRUCTURAS <strong>DE</strong> DATOS <strong>DE</strong>L SIS<strong>TEMA</strong> PARA LA GESTIÓN <strong>DE</strong><br />

<strong>PROCESOS</strong>.<br />

Todo proceso tiene asociada una entrada en la Tabla <strong>de</strong> Procesos y un Área <strong>de</strong> Usuario (u-Area). Estas dos<br />

estructuras van a <strong>de</strong>scribir el estado <strong>de</strong>l proceso y le van a permitir al kernel su control. La Tabla <strong>de</strong> Procesos<br />

tiene campos que van a ser accesibles <strong>de</strong>s<strong>de</strong> el kernel, pero los campos <strong>de</strong>l Área <strong>de</strong> Usuario sólo necesitan<br />

ser visibles por el proceso. Una posición (entrada) por proceso.<br />

Las Áreas <strong>de</strong> Usuario se reservan cuando se crea un proceso y no es necesario que una entrada <strong>de</strong> la Tabla <strong>de</strong><br />

Procesos que no aloja a ningún proceso tenga reservada un área <strong>de</strong> usuario.<br />

<strong>2.</strong><strong>2.</strong>1. Tabla <strong>de</strong> Procesos.<br />

Cada proceso se referencia por un <strong>de</strong>scriptor (<strong>de</strong>scriptor <strong>de</strong>l proceso). Este <strong>de</strong>scriptor contiene los atributos<br />

<strong>de</strong>l proceso, así como la información que permite gestionarlo.<br />

Campos que siempre <strong>de</strong>ben ser accesibles por el kernel y que tiene cada una <strong>de</strong> las entradas<br />

(<strong>de</strong>scriptor <strong>de</strong> un proceso) <strong>de</strong> la Tabla <strong>de</strong> Procesos.<br />

• Campo <strong>de</strong> estado, que i<strong>de</strong>ntifica el estado <strong>de</strong>l proceso (9 posibles valores estudiados previamente).<br />

• Campos que permiten al kernel localizar al proceso y su área <strong>de</strong> usuario (u-Area) en memoria<br />

principal o en memoria secundaria.<br />

− El kernel usa esta información para realizar los cambios <strong>de</strong> contexto cuando el proceso pasa<br />

<strong>de</strong> un estado a otro.<br />

+ Listo para ejecutarse en memoria (cambio <strong>de</strong> contexto) ⇒ ejecutándose en modo<br />

kernel.<br />

+ Requisado (cambio <strong>de</strong> contexto) ⇒ ejecutándose en modo usuario.<br />

− El kernel también utiliza esta información cuando traslada el proceso <strong>de</strong> la memoria<br />

principal al área <strong>de</strong> swap, y viceversa ⇒ Intercambio <strong>de</strong> procesos <strong>de</strong>s<strong>de</strong> o hacia la memoria<br />

principal.<br />

− En estos campos también hay información sobre el tamaño <strong>de</strong>l proceso, para que el kernel<br />

sepa cuánto espacio <strong>de</strong> memoria <strong>de</strong>be reservar para él.<br />

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

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

Saved successfully!

Ooh no, something went wrong!