jueves, 30 de octubre de 2008

2.2 Estados y Transiciones de Procesos

Durante su existencia un proceso pasa por una serie de estados discretos, siendo varias las circunstancias que pueden hacer que el mismo cambie de estado. Debido a ello se puede establecer una “Lista de Listos” para los procesos “listos” y una “Lista de Bloqueados” para los “bloqueados”.

La “Lista de Listos” se mantiene en orden prioritario y la “Lista de Bloqueados” está desordenada, ya que los procesos se desbloquean en el orden en que tienen lugar los eventos que están esperando. Al admitirse un trabajo en el sistema se crea un proceso equivalente y es insertado en la última parte de la “Lista de Listos”.

La asignación de la CPU al primer proceso de la “Lista de Listos” se denomina “Despacho”, que es ejecutado por una entidad del Sistema Operativo llamada “Despachador”. El “Bloqueo” es la única transición de estado iniciada por el propio proceso del usuario, puesto que las otras transiciones son iniciadas por entidades ajenas al proceso.

La manifestación de un proceso en un Sistema Operativo es un “Bloque de Control de Proceso” (PCB) con información que incluye [7, Deitel]:

· Estado actual del proceso.
· Identificación única del proceso.
· Prioridad del proceso.
· Apuntadores para localizar la memoria del proceso.

Los sistemas que administran los procesos deben poder crear, destruir, suspender, reanudar, cambiar la prioridad, bloquear, despertar y despachar un proceso.

La “creación” de un proceso significa:
Dar nombre al proceso.
Insertar un proceso en la lista del sistema de procesos conocidos.
Determinar la prioridad inicial del proceso.
Crear el bloque de control del proceso.
Asignar los recursos iníciales del proceso.

Un proceso puede “crear un nuevo proceso”, en cuyo caso el proceso creador se denomina “proceso padre” y el proceso creado “proceso hijo” y se obtiene una “estructura jerárquica de procesos”.

La “destrucción” de un proceso implica:
Borrarlo del sistema.
Devolver sus recursos al sistema.
Purgarlo de todas las listas o tablas del sistema.
Borrar su bloque de control de procesos.

La “destrucción” de un proceso puede o no significar la destrucción de los procesos hijos, según el Sistema Operativo. Generalmente se denomina “Tabla de Procesos” al conjunto de información de control sobre los distintos procesos.
Brueckner, L.J. y Bond, G.L. (1984). Diagnóstico y planificacion de las dificultades en los procesos (10 ed.). Madrid: Rialp.

No hay comentarios: