estados y transiciones de un proceso

19
SEP SNEST DGEST CARRERA: Ingeniería en Informática MATERIA: Sistemas Operativos CATEDRÁTICO: Ing. .Toledo Torres Jacinto ALUMNO: Gazga Marquez Jhovani Trabajo: Estados Y Transiciones De Un Proceso SEMESTRE: GRUPO: “4” “S” Heroica Cd. De Juchitán De Zaragoza Oaxaca A 2abril del 2017

Upload: jhovani189612gazga

Post on 21-Apr-2017

26 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Estados y transiciones de un proceso

SEP SNEST DGEST

CARRERA:Ingeniería en Informática

MATERIA:Sistemas OperativosCATEDRÁTICO:

Ing. .Toledo Torres Jacinto ALUMNO:

Gazga Marquez JhovaniTrabajo:

Estados Y Transiciones De Un ProcesoSEMESTRE: GRUPO:“4” “S”

Heroica Cd. De Juchitán De Zaragoza Oaxaca A 2abril del 2017

Page 2: Estados y transiciones de un proceso

ESTADOS Y

TRANSICIONES

DE

UN PROCESO

Page 3: Estados y transiciones de un proceso

Un proceso puede estar en cualquiera de los siguientes tres estados: Listo, En ejecución y Bloqueado. Los procesos en el estado listo son los que pueden pasar a estado de ejecución si el planificador los selecciona. Los procesos en el estado ejecución son los que se están ejecutando en el procesador en ese momento dado. Los procesos que se encuentran en estado bloqueado están esperando la respuesta de algún otro proceso para poder continuar con su ejecución. Por ejemplo operación de E/S.Un proceso puede variar entre 5 distintos estado New: cuando el proceso esta siendo creado.Running: cuando el proceso se esta ejecutando.Waiting: cuando el proceso esta esperando que se cumpla algún otro evento.Ready: cuando el proceso esta pronto para ejecutar, esperando por la CPU.Terminated: cuando el proceso esta terminado.

Page 4: Estados y transiciones de un proceso

ESTADO DE LOS PROCESOSLos bloques de control de los procesos se almacenan en colas, cada una de las cuales representa un estado particular de los procesos, existiendo en cada bloque, entre otras informaciones. Los estados de los procesos son internos del sistema operativo y transparentes al usuario.

Page 5: Estados y transiciones de un proceso

LOS ESTADOS DE LOS PROCESOS SE PUEDEN DIVIDIR EN DOS

TIPOS: ACTIVOS E INACTIVOS.1.- Estados activosSon aquellos que compiten con el procesador o están en condiciones de hacerlo. Se dividen en: Ejecución: Estado en el que se encuentra un proceso cuando tiene el control del procesador. En un sistema monoprocesador este estado sólo lo puede tener un proceso.Preparado: Aquellos procesos que están dispuestos para ser ejecutados, pero no están en ejecución por alguna causa (Interrupción, haber entrado en cola estando otro proceso en ejecución, etc.).Bloqueado: Son los procesos que no pueden ejecutarse de momento por necesitar algún recurso no disponible (generalmente recursos de entrada/salida). 2.- Estados inactivosSon aquellos que no pueden competir por el procesador, pero que pueden volver a hacerlo por medio de ciertas operaciones. En estos estados se mantiene el bloque de control de proceso aparcado hasta que vuelva a ser activado. Se trata de procesos que no han terminado su trabajo que lo han impedido y que pueden volver a activarse desde el punto en que se quedaron sin que tengan que volver a ejecutarse desde el principio. 

Page 6: Estados y transiciones de un proceso

SON DE DOS TIPOS:Suspendido bloqueado: Es el proceso que fue suspendido en espera de un evento, sin que hayan desaparecido las causas de su bloqueo. Suspendido programado: Es el proceso que han sido suspendido, pero no tiene causa parta estar bloqueado.Información asociada con cada proceso:Estado del proceso.Program counter.Registros del CPU.Información de planificación del CPU.Memoria.Información para administración.Información de estatus de E/S. 

Page 7: Estados y transiciones de un proceso

CREACIÓN DE PROCESOSCrear un proceso implica operaciones como: Dar un nombre a un proceso.Insertarlo en la lista de procesos conocidos del sistema ( o tabla de procesos)Determinar la prioridad inicial de proceso.Crear el bloque de control de proceso.Asignar los recursos iniciales al proceso. Un proceso puede crear un nuevo proceso. Si lo hace el proceso creador se denomina proceso padre, y el proceso creado, proceso hijo. Sólo se necesita un padre para crear un hijo. Tal creación origina una estructura jerárquica de procesos. No se puede destruir un proceso cuando este ha creado otros procesos. Destruir un proceso implica eliminarlo del sistema. Se le remueve de la tabla o listas del sistema, sus recursos se devuelven al sistema y su bloque de control de proceso se borra (es decir, el espacio de memoria ocupado por su PCB se devuelve al espacio de memoria disponible.

Page 8: Estados y transiciones de un proceso

O P E R A C I O N E S D E P R O C E S O S Y R E C U R S O S.  Los sistemas operativos poseen una serie de funciones cuyo objetivo es el de la manipulación de los procesos. En general las operaciones que se pueden hacer sobre un proceso son las siguientes:

Crear el proceso. Se produce con la orden de ejecución del programa y suele     necesitar    varios argumentos, como el nombre y la prioridad del proceso.

La creación de un proceso puede ser de dos tipos:

Jerárquica.  En  ella  cada proceso que se crea es hijo del proceso creador y hereda el entorno  de ejecución de su padre.  El primer proceso que ejecuta un usuario será hijo del intérprete  de comandos con el que interactúa.

 No jerárquico. Cada proceso creado por otro proceso se ejecuta independientemente de su creador con un entorno diferente. Es un tipo de creación que no suele darse en los sistemas operativos actuales.

Page 9: Estados y transiciones de un proceso

Además de los dos tipos anteriores se pueden realizar las operaciones siguientes:

Destruir un proceso. Se trata de la orden de eliminación del proceso con la cual el sistema operativo destruye su PCB ( Proces control Block).

Suspender un proceso. Es una operación de alta prioridad que paraliza un proceso que puede ser reanudado posteriormente. Suele utilizarse en ocasiones de mal funcionamiento o sobrecarga del sistema.

                      1. Reanudar un proceso. Trata de activar  un proceso que ha sido previamente suspendido.

                     2. Cambiar la prioridad de un proceso.

Temporizar la ejecución de un proceso. Hace que un determinado proceso se ejecute cada  cierto tiempo (segundos, minutos, horas,...) por etapas o de una sola vez, pero transcurrido un periodo de tiempo fijo.

Despertar un proceso. Es una forma de desbloquear un proceso que habrá sido bloqueado previamente por temporización o cualquier otra causa.

Page 10: Estados y transiciones de un proceso

DESCRIPTOR DE PROCESOS Y RECURSOS

Es una estructura de datos asociada a una entidad informática ya sea un (Recurso o Proceso), en la cual se indica y actualiza todas las informaciones relativas a dicha entidad.

En el caso de un proceso la información general  que contiene es:

1) Identificador: Que puede ser interno y externo.

Interno: Sistemas.

Externo: Usuario.

2) Descripción de la máquina virtual asociada: como espacio virtual asignado, tipo de mapeo, tipo de acceso.

3) Descripción de los recursos de la máquina que usa como: Lista de recursos que el proceso tiene  derecho a solicitar, dirección real en la memoria principal, estado de las  variables internas  del CPU, prioridad, etc.

4) Estados funcionales del proceso:    Los  estados  de  los  procesos  son  internos  del sistema operativo  y  transparente  al   usuario.  Para  éste,  su proceso  estará  siempre en ejecución independientemente  del   estado  en que se encuentre internamente el sistema.

Page 11: Estados y transiciones de un proceso

TRANSICIONES

Un proceso puede encontrarse en estado de ejecución, bloqueado o listo (que también se llama ejecutable).  De estos estados de los procesos se derivan las siguientes transiciones y estados:

Transición: El paso de un estado a otro.

                1. El proceso se bloquea en la entrada.

                2. El planificador elige otro proceso.

                3. El planificador elige este proceso.

                4. La entrada se vuelve disponible.

 Estados:

                1. Ejecución (que en realidad hace uso del CPU en ese instante).

                2. Bloqueado (incapaz de correr hasta que suceda algún evento externo.

                 3. Listo (ejecutable; se detiene temporalmente para permitir que se ejecute otro proceso).

 

Page 12: Estados y transiciones de un proceso

E N E S T O S T R E S E S T A D O S S O N P O S I B L E S C U A T R O T R A N S I C I O N E S :

1. Ocurre cuando un proceso descubre que no puede continuar. En algún sistema el proceso debe ejecutar una llamada al sistema, BLOCK, para entrar en estado bloqueado.

2 y 3.  Son ocasionadas por el planificador del proceso, que es parte del sistema operativo sin que el proceso llegue a saber de ella.

2.  Ocurre cuando el planificador decide que el proceso en ejecución ya ha corrido el tiempo suficiente y es tiempo de permitir que otro proceso tome tiempo de CPU.

3. Ocurre cuando todos los procesos han utilizado su parte del tiempo y es hora de que el primer proceso vuelva a correr.

4. Ocurre cuando aparece el evento externo que estaba esperando un proceso (como el arribo de alguna entrada). Si ningún otro proceso corre en ese instante, la transición  3 se  activará de inmediato y el proceso iniciara su ejecución, de lo contrario tendrá que esperar, en estado listo.

Page 13: Estados y transiciones de un proceso

TRANSICIONES DE ESTADO

Despacho (nombre del proceso): Listo  en   ejecución.

Mientras el proceso tenga CPU,  se dice que esta en ejecución. Para prevenir que cualquier  proceso monopolice el sistema, ya sea de manera accidental o maliciosamente el sistema operativo ajusta un reloj de interrupción del hardware para permitir al usuario ejecutar su proceso durante un intervalo de tiempo especifico o cuanto. Si el proceso no abandona voluntariamente el CPU, antes de que expire el intervalo, el reloj genera una interrupción, haciendo que el sistema operativo recupere el control. El sistema operativo hace que el proceso que anteriormente  se hallaba en estado de ejecución pase al de listo, y hace que el primer proceso de la lista de listos pase al estado de ejecución.

Page 14: Estados y transiciones de un proceso

Estas transiciones de estado se indican como:

                

- tiempo excedido (nombre del proceso): en ejecución                Listo

- bloqueado (nombre del proceso): en ejecución                         bloqueado

 

                El proceso cambia del estado bloqueado al estado listo:

 - despertar ( nombre del proceso): bloqueado                                 Listo.

Page 15: Estados y transiciones de un proceso

CON   ESTO TENEMOS DEFINIDAS   4    TRANSACCIONES DE

ESTADO

 

 - despacho ( nombre del proceso): Listo                                               en ejecución

 - tiempo excedido ( nombre del proceso): en ejecución                    Listo

- bloqueado ( nombre del proceso): en ejecución                                        bloqueado

- despertar ( nombre del proceso ): bloqueado                                             Listo.

 

Page 16: Estados y transiciones de un proceso

SUSPENSIÓN Y REANUDACIÓN

Un proceso suspendido no puede proseguir sino hasta que lo reanuda otro proceso. Reanudar (o activar) un proceso implica reiniciarlo a partir del punto en el que se suspendió.

 Las operaciones de suspensión y reanudación son importantes por diversa razones:

 Si un sistema está funcionando mal y es probable que falle, se puede suspender los      procesos activos para reanudarlos cuando se haya corregido el problema.

Un usuario que desconfíe de los resultados parciales de un proceso puede suspenderlo (en vez de abortarlo) hasta que verifique si el proceso funciona correctamente o no.

Algunos procesos se puede suspender como respuesta a las fluctuaciones a corto plazo  de la carga del sistema y reanudarse cuando las cargas regresen a niveles normales.

Page 17: Estados y transiciones de un proceso

TRANSICIONES DE ESTADOS DE LOS PROCESOS CON SUSPENSIÓN Y

REANUDACIÓN Muestra el diagrama de transiciones de estado de los procesos, modificado para incluir las operaciones de suspensión y reanudación. Se han añadido dos nuevos estados, denominados suspendido-listo y suspendido bloqueado; no hay necesidad de un estado suspendido-ejecutado. Sobre la línea discontinua se encuentran los estados activos, y debajo de ella los estados suspendidos.

 Una suspensión puede ser iniciada por el propio proceso o por otro. En un sistema con un solo procesador el proceso en ejecución puede suspenderse a si mismo; ningún otro proceso podría  estar en ejecución al mismo tiempo para realizar la suspensión (aunque otro proceso sí podría solicitar la suspensión cuando se ejecute). En un sistema de múltiples procesadores, un proceso en ejecución puede suspender a otro que se esté ejecutando en ese mismo momento en un procesador diferente.

 Solamente otro proceso puede suspender un proceso listo. La transición correspondiente es:

1) Suspender (nombre_del_proceso): Listo                              Suspendido-Listo.

Page 18: Estados y transiciones de un proceso

Un proceso puede hacer que otro proceso que se encuentre en el estado suspendido-listo pase al estado listo. La transición correspondiente es:

 2) reanudar ( nombre_del_proceso): Suspendido-Listo           Listo.

Un  proceso puede suspender a otro proceso que esté bloqueado. La transición correspondiente es:

 3) suspender ( nombre_del_proceso): Bloqueado                   Suspendido-Bloqueado.

Un proceso puede reanudar otro proceso que esté suspendido-bloqueado. La transición correspondiente es:

 4) reanudar ( nombre_del_proceso): Suspendido-Bloqueado      Bloqueado.

Como la suspensión es por lo general una actividad de alta prioridad, se debe realizar de inmediato. Cuando se presenta finalmente el término de la operación ( si es que termina), el proceso suspendido-bloqueado realiza la siguiente transición.

 5)completar(nombre_del _proceso): suspendido-bloqueado        suspendido-listo.

Page 19: Estados y transiciones de un proceso

6) suspender (nombre_del_proceso): Ejecución                           Suspendido-Listo.

En conclusión los sistemas que administran procesos deben ser capaces de realizar ciertas operaciones sobre procesos y con ellos. Tales operaciones incluyen:

 Crear un proceso.

Destruir un proceso.

Suspender un proceso.

Reanudar un proceso.

Cambiar la prioridad de un proceso.

Bloquear un proceso.

Despertar un proceso.

Despachar un proceso.

Permitir que un proceso se comunique con otro (esto se denomina  comunicación entre procesos).