lunes, 1 de septiembre de 2014

2.2 Estados y transiciones de los procesos

Definición de Proceso
Ø  El principal concepto en cualquier sistema operativo es el de proceso.
Ø  Un proceso es un programa en ejecución, incluyendo el valor del program counter, los registros y las variables.
Ø  Conceptualmente, cada proceso tiene un hilo (thread) de ejecución que es visto como un CPU virtual.
Ø  El recurso procesador es alternado entre los diferentes procesos que existan en el sistema, dando la idea de que ejecutan en paralelo (multiprogramación)

Memoria de los procesos
Ø  Un proceso en memoria se constituye de varias secciones:
·         Código (text): Instrucciones del proceso.
·         Datos (data): Variables globales del proceso.
·         Memoria dinánica (heap): Memoria dinámica que genera el proceso.
·         Pila (stack): Utilizado para preservar el estado en la invocación anidada de procedimientos y funciones.

Estados de los procesos
El estado de un proceso es definido por la actividad corriente en que se encuentra.
Los estados de un proceso son:
Ø  Nuevo (new): Cuando el proceso es creado.
Ø  Ejecutando (running): El proceso tiene asignado un procesador y está ejecutando sus instrucciones.
Ø  Bloqueado (waiting): El proceso está esperando por un evento (que se complete un pedido de E/S o una señal).
Ø  Listo (ready): El proceso está listo para ejecutar, solo necesita del recurso procesador.
Ø  Finalizado (terminated): El proceso finalizó su ejecución.


Diagrama de estados y transiciones de los procesos.


Transiciones entre estados
 Ø  Nuevo Listo
    ·         Al crearse un proceso pasa inmediatamente al estado listo. 
 Ø  Listo Ejecutando
    ·         En el estado de listo, el proceso solo espera para que se le asigne un procesador para ejecutar (tener en cuenta que puede existir más de un procesador en el sistema). Al liberarse un procesador el planificador (scheduler) selecciona el próximo proceso, según algún criterio definido, a ejecutar.

No hay comentarios:

Publicar un comentario