You are on page 1of 22

ESTADOS Y TRANSICIONES DE LOS PROCESOS

Rosas Rodrguez Rubn A. Illescas Nava Jess

Diagrama de estados y transiciones de los procesos

Nuevo>Listo

Al crearse un proceso pasa inmediatamente al estado listo.


Listo>Ejecutando

En el estado listo, el proceso solo espera para que se le asigne un procesador para ejecutar (tener en cuenta que puede existir ms de un procesador en el sistema).Al liberarse un procesador el planificador (scheduler ) selecciona el prximo proceso, segn algn criterio definido a ejecutar.

Ejecutando>Listo

Ante una interrupcin que se gener, el proceso puede perder el recurso procesador y pasar al estado de listo. El planificador ser el encargado deseleccionar el prximo proceso a ejecutar.
Ejecutando>Bloqueado

A medida que el proceso ejecuta instrucciones realiza pedidos en distintos componentes (ej.: genera un pedido de E/S). Teniendo en cuenta que el pedido puede demorar y, adems, si est en un sistema multiprogramado, el proceso es puesto en una cola de espera hasta que se complete su pedido. De esta forma, se logra utilizar en forma ms eficiente el procesador

Bloqueado>Listo

Una vez que ocurre el evento que el proceso estaba esperando en la cola de espera, el proceso es puesto nuevamente en la cola de procesos listos.
Ejecutando->Terminado

Cuando el proceso ejecuta su ltima instruccin pasa al estado terminado. El sistema libera las estructuras que representan al proceso

Hilos

Qu es un hilo?
Memoria baja Contador de instrucciones

Memoria alta

Tiempo

Qu es un hilo?
O Un hilo de ejecucin o subproceso es la

unidad de procesamiento ms pequea que puede ser planificada por un sistema operativo. O Un hilo es bsicamente una tarea que puede ser ejecutada en paralelo con otra tarea.

Diferencia con procesos.


O Detenemos el hilo de la grafica.
O Guardamos en una tabla los datos que representan el

estado de la CPU (TCB).


O Iniciamos nuevamente
O Otra vez lo detenemos y guardamos en otra TCB.

O Volvemos al primer hilo y reanudamos su ejecucin. O Ventaja de lo hilos: Slo contamos con una copia del

programa y los datos en memoria.


O Slo almacenamos unos cuantos registros:
O Apuntador de instrucciones. O Apuntador de espacio de pila

Una sola linea de instruccion

Diferencia con procesos.


O Problema de comunicacin temporal.
O Un proceso no puede modificar el

contenido de la memoria de otro proceso.


O Con hilos no existe este problema.
O Son de un nico proceso. O Se ejecutan en el mismo espacio de

direcciones. O Comparten el mismo cdigo. O Tambin los datos.

Proceso ligero.
O Cuando iniciamos un segundo hilo, (el

primero el proceso), es independiente del SO, con el fin de dejar que el sistema realice ms trabajo sin tener la tarea adicional de un intercambio completo de contexto entre procesos.

Ejemplos.
O Procesador de palabras
O Manipulacin de golpes de teclado. O Actualizacin de la pantalla. O Verificador de ortografa. O Verificador de gramtica. O Guardado peridico.

Ejemplos.
O Servidor web. Un hilo espera solicitudes

de http.
O Anlisis sintctico de la solicitud de

O
O O O

O
O

entrada. Bsqueda del archivo solicitado. Lectura de la pgina. Formateo de la pgina. Formateo de la pgina para salida. Solicitar la transmisin de la pgina. Salir.

Hilos a nivel de usuario


O Intercambio de procesos aminoraba

velocidad y recursos. O SO de antes no contaban con hilos integrados. O Subrutinas de biblioteca. O Los hilos se ejecutaban en el modo de usuario SO no estaba al tanto del paralelismo.

Hilos a nivel ncleo.


O Diseadores de SO incorporaron hilos en

el ncleo. O SO ahora consiente de los hilos fue posible ejecutar hilos en distintas CPUs por separado. O Hilos ms fciles de implementar (no hay que preocuparse de las llamadas de boqueo).

Modelos de soporte multihilo.


O Cuando los SO incluyeron soporte.
O Programadores no estaban ansiosos. O SO incluyeron bibliotecas del nivel de

usuario al ncleo. O Tres mtodos.


O Uno a uno. O Muchos a uno.

O Muchos a muchos.

Uno a uno.
O Crea solo un hilo de ncleo por hilo que la

aplicacin solicita. O Son rpidos. O Fcil de desarrollar y entender.


Hilo al nivel de usuario Hilo al nivel de usuario Hilo al nivel de usuario . Hilo al nivel de ncleo

Hilo al nivel de ncleo

Hilo al nivel de ncleo

Muchos a uno
O Slo se crea un hilo a nivel de ncleo y

todos los hilos a nivel de usuario se mapean sobre el mismo hilo al nivel del ncleo. O Se utiliza cuando el SO careceal Hilo del Hilo al Hilo al nivel de soporte de hilos. de de nivel nivel
usuario usuario usuario .

Hilo al nivel de ncleo

O El programador indica cuntos hilos a nivel de usuario y

Muchos a muchos

cuntos hilos a nivel de ncleo sern necesarios y como mapearse. O Da un control ms fino sobre el comportamiento del sistema. O Est perdiendo simpatas.
Hilo al nivel de usuario Hilo al nivel de usuario Hilo al nivel de usuario .

Hilo al nivel de ncleo

Hilo al nivel de ncleo

Hilo al nivel de ncleo

Seguridad en hilos.
O Reentrante.
O Un hilo A llama a una subrutina de

biblioteca que usa una variable esttica local. O Un hilo B llama a una subrutina de biblioteca que usa la misma variable esttica local. O Solucin: Las subrutinas de bibliotecas deben asignar siempre variables locales a la pila.

Procesos vs hilos.
O Las aplicaciones suelen dividirse tpicamente en
O O

O O O

procesos durante su fase de diseo. En otras palabras son un concepto de diseo. Un hilo, por el contrario, es un tcnica de codificacin que no afecta la arquitectura de una aplicacin. Un proceso nico a menudo contiene mltiples hilos. Normalmente los hilos se crean para un uso a corto plazo. Suelen considerarse como una tarea en serie que no requiere ser ejecutada en secuencia.

Bibliografia
O Sistemas operativos. Un enfoque en

espiral O Autores: Ramez Elmasri, A. Gil Carrick y David Levine O Editorial: McGraw-Hill Interamericana Editores S.A de C. V. O Referencia:
O http://wwwdi.ujaen.es/~lina/TemasSO/index1.ht

ml O http://www.fing.edu.uy/inco/cursos/sistoper/recu rsosTeoricos/SO-Teo-Procesos.pdf

You might also like