ESTADOS Y TRANSICIONES DE LOS PROCESOS
Página 1 de 1.
ESTADOS Y TRANSICIONES DE LOS PROCESOS
2.2 ESTADOS Y TRANCISIONES DE LOS PROCESOS
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).
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.
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.
Ejecutando ⇒ Listo
– Ante una interrupción que se genere, el proceso puede perder el recurso procesador y pasar al estado de listo. El planificador será el encargado de seleccionar el próximo 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, además, 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 más 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 instrucción pasa al estado terminado. El sistema libera las estructuras que representan al proceso.
Todo proceso se describe mediante su estado, nombre, recursos asignados, información contable, etc.
Para ello se utiliza una estructura de datos que será el operando de las operaciones sobre procesos, recursos y del planificador (scheduler).
Los campos de esta estructura son:
Estado CPU: El contenido de esta estructura estará indefinido toda vez que el proceso está en estado ejecutando (puesto que estará almacenado en la CPU indicada por procesador). Registro de flags.
Procesador: [1..#CPU]: Contendrá el número de CPU que está ejecutando al proceso (si está en estado ejecutando), sino su valor es indefinido.
Memoria: Describe el espacio virtual y/o real de direccionamiento según la arquitectura del sistema. Contendrá las reglas de protección de memoria así como cual es compartida, etc.
Estado del proceso: ejecutando, listo, bloqueado, etc.
– Recursos: Recursos de software (archivos, semáforos, etc.) y hardware (dispositivos, etc.).
– Planificación: Tipo de planificador.
– Prioridad: Podrá incluir una prioridad externa de largo aliento, o en su defecto una prioridad interna dinámica de alcance reducido.
– Contabilización: Información contable como ser cantidad de E/S, fallos de páginas (page faults), consumo de procesador, memoria utilizada, etc.
– Ancestro: Indica quién creó este proceso.
– Descendientes: Lista de punteros a PCBs de los hijos de este proceso
CREACION DE UN PROCESO
Los procesos de un sistema son creados a partir de otro proceso. Al creador se le denomina padre y al nuevo proceso hijo. Esto genera una jerarquía de procesos en el sistema.
En el diseño del sistema operativo se debe decidir, en el momento de creación de un nuevo proceso, cuales recursos compartirán el proceso padre e hijo. Las opciones son que compartan todo, algo o nada.
También se debe determinar que sucede con los hijos cuando muere el padre. Pueden morir también o cambiar de padre.
Una vez creado el nuevo proceso tendrán un hilo (program counter) de ejecución propia. El sistema genera un nuevo PCB para el proceso creado.
INTEGRANTES DEL EQUIPO:
EZEQUIEL TORRES LEON
RAMON VILLA MOJICA
ULISES DIAZ ACUÑA
CESAR ADAN RIVERA AGUIRRE
ADRIAN PEREZ BERNABE
JOHOBANY HERNANDEZ MERCADO
EZEQUIEL TORRES LEON- Mensajes : 9
Fecha de inscripción : 16/02/2014
Temas similares
» 2.- ADMINISTRACIÓN DE PROCESOS Y DEL PROCESADOR.
» 2.- Administracion De Procesos y Del Procesador
» Tema 2.- Procesos y Comunicación
» 3.- Procesos y Procesadores En Los Sistemas Operativos Distribuidos
» Unidad 2.- La Investigacion como un proceso de construccion social
» 2.- Administracion De Procesos y Del Procesador
» Tema 2.- Procesos y Comunicación
» 3.- Procesos y Procesadores En Los Sistemas Operativos Distribuidos
» Unidad 2.- La Investigacion como un proceso de construccion social
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.