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

Ejecutándose en modo usuario<br />

interrupción,<br />

vuelta interrupción.<br />

llamada al sistema,<br />

interrupción<br />

1<br />

volver<br />

volver a<br />

usuario<br />

9<br />

exit<br />

2<br />

Ejec. modo kernel<br />

requisar<br />

7<br />

Zombie<br />

4<br />

Durmien<br />

do en<br />

memoria<br />

dormir<br />

<strong>de</strong>spertar<br />

sacar <strong>de</strong> memoria<br />

principal (swap<br />

out)<br />

swap out<br />

or<strong>de</strong>n <strong>de</strong>l.<br />

scheduler<br />

3<br />

swap in<br />

Requisado,<br />

cambio <strong>de</strong><br />

contexto<br />

Listo ejec. en memoria<br />

memoria suficiente<br />

Creado<br />

8<br />

fork<br />

6<br />

Durmiendo, intercambiado<br />

(área <strong>de</strong> swap)<br />

<strong>de</strong>spertar<br />

5<br />

memoria. insuficiente<br />

(sólo en sist. con<br />

intercambio)<br />

Listo para ejecución,<br />

intercambiado (área <strong>de</strong> swap)<br />

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

Recor<strong>de</strong>mos que existen dos niveles <strong>de</strong> ejecución para un proceso: modo kernel (2) y modo usuario (1).<br />

• Modo kernel (modo privilegiado). En este modo no se impone ninguna restricción al kernel <strong>de</strong>l<br />

sistema. El kernel podrá:<br />

− Utilizar todas las instrucciones <strong>de</strong>l procesador.<br />

− Manipular toda la memoria.<br />

− Dialogar directamente con todos los controladores (drivers) <strong>de</strong> dispositivos, ...<br />

• Modo usuario. Modo <strong>de</strong> ejecución normal <strong>de</strong> un proceso. En este modo el proceso no posee ningún<br />

privilegio.<br />

− Ciertas instrucciones están prohibidas.<br />

− Sólo tiene acceso a las zonas que se le han asignado al proceso.<br />

− No pue<strong>de</strong> interactuar con la máquina físicas (hardware).<br />

− Sólo efectúa operaciones en su entorno, sin interferir con los <strong>de</strong>más procesos.<br />

− Pue<strong>de</strong> ser interrumpido en cualquier momento, pero esto no obstaculiza su funcionamiento.<br />

Recor<strong>de</strong>mos también que un proceso que se ejecute en modo usuario no pue<strong>de</strong> acce<strong>de</strong>r directamente a los<br />

recursos <strong>de</strong> la máquina, para ello <strong>de</strong>be efectuar “llamadas al sistema”. Una llamada al sistema es una petición<br />

transmitida por un proceso al kernel. El kernel trata la petición en modo kernel, con todos los privilegios, y<br />

envía el resultado al proceso, que prosigue su ejecución en modo usuario. Una llamada al sistema provoca un<br />

cambio: (1) el proceso ejecuta una instrucción <strong>de</strong>l procesador que le hace pasar a modo kernel (interfaz <strong>de</strong><br />

llamadas al sistema), (2) el kernel ejecuta una función <strong>de</strong> tratamiento vinculada a la llamada al sistema que<br />

ha efectuado, y (3) el proceso vuelve a modo usuario para proseguir con su ejecución. De este modo, el<br />

propio proceso trata su llamada al sistema, ejecutando una llamada al kernel. Esta función que ejecuta el<br />

kernel, se supone que es fiable y pue<strong>de</strong> ejecutarse en modo kernel.<br />

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

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

Saved successfully!

Ooh no, something went wrong!