GESTION
   DE
PROCESOS
Procesos y tareas


• Uno de los módulos más importantes de un
sistema operativo es la de administrar los
procesos y tareas del sistema de cómputo.


• El sistema realiza varias actividades
simultáneamente que compiten por la utilización
de determinados recursos, entre los que destaca
la CPU, estas actividades se denominan
procesos.
• El proceso es una unidad de trabajo del sistema y el
sistema operativo es el responsable de realizar un
seguimiento de todas las actividades del sistema en
conexión con los procesos generados.
División implícita y explicita de
tareas
• Dependiendo del SO y del entorno objetivo de
ejecución de programas.


• La división de un trabajo en tareas que serán ejecutadas
como procesos independientes así como la asignación
inicial de los atributos de esos procesos pueden ser
efectuadas o bien por el SO o bien por el desarrollador de
la aplicación
En otras palabras lo que constituirá un proceso
independiente es :



• División implícita de tareas definida por el sistema



• División explicita de tareas definida por el desarrollador
Tipos de procesos y relación
entre procesos concurrentes

• En principio podemos realizar una clasificación muy
general de los procesos entre procesos de usuario y
procesos de sistema
• Un proceso de usuario es aquel creado por el SO.
• Un proceso de sistema es un proceso que forma parte
del propio SO y que desempeña alguna de sus labores
características
Creación y terminación de
procesos
• El sistema de operación debe crear un mecanismo para
la creación y terminación de procesos.


• Creación de procesos Cuando un nuevo proceso se
agrega el sistema de operación construye las estructuras
de datos que son usadas para administrar los procesos y le
asigna espacio de direcciones. Estas acciones constituyen
la creación de un nuevo proceso.
Los eventos comunes para la
creación de procesos

• En un ambiente batch, un proceso es creado en
respuesta al sometimiento a ejecución de un trabajo.
• En un ambiente interactivo, un proceso es creado
cuando un nuevo usuario entra al sistema.
• El sistema de operación puede crear un proceso para
que realice una función en respuesta a una petición de un
programa usuario, sin que el usuario tenga que esperar.
• Creación de procesos hijos por parte de procesos
usuarios ya existentes el proceso que crea se llama
proceso padre.
Terminación de procesos

• Un proceso termina cuando ejecuta su última instrucción
y pide al sistema operativo que lo elimine. En este
momento, el proceso puede devolver un valor de estado
a su proceso padre.
• El sistema operativo libera la asignación de todos los
recursos del proceso, incluyendo las memorias física y
virtual, los archivos abiertos y los búferes de E/S.
• La terminación puede producirse también en otras
circunstancias.
Terminación de procesos
• Un proceso puede causar la terminación de otro
proceso a través de la adecuada llamada al sistema.


• Dicha llamada al sistema sólo puede ser invocada por el
padre del proceso que va a terminar.


• En caso contrario, los usuarios podrían terminar
arbitrariamente los trabajos de otros usuarios.
ESTADOS DE UNPROCESO
• El S.O gestiona los recursos
disponibles(memoria, CPU, etc.) entre los procesos que en
ese momento trabajan en el sistema, de tal forma
que, para ellos, el sistema se comporte como si fuera
monousuario. Así que, en un sistema monoprocesador, la
CPU será parte entre los procesos que se tengan en ese
momento.
Modelo de dos estados
• Se trata de la utilización de dos archivos, un objeto
ejecutable y una biblioteca del sistema, que después se
colocan en la imagen del proceso dentro de la memoria
RAM y posteriormente también se dan de alta dentro de
la tabla de procesos, bloqueo de control del proceso.
EXPEDIR ENTRAR SALIR EJECUCION NO EJECUCION PAUSAR
Modelo de dos estados
En ese modelo, un proceso puede estar ejecutándose o
no. Cuando se crea un nuevo proceso, se pone en estado
de No ejecución. En algún momento el proceso que se
está ejecutando pasará al estado No ejecución y otro
proceso se elegirá de la lista de procesos listos para
ejecutar para ponerlo en estado Ejecución. Es necesario q
el SO pueda seguirle la pista a los procesos, conociendo
su estado y el lugar que ocupa en memoria, y procesos
que no se están ejecutando deben guardarse en algún
tipo de cola mientras esperan su turno para ejecutar.
18. Modelo de cinco estados NUEVO TERMINADO LISTO
ESPERA EJECUCION
Modelo de dos estados
El modelo anterior de dos estados funcionaría bien con
una cola FIFO y planificación por turno rotatorio para los
procesos que no están en ejecución, si los procesos
estuvieran siempre listos para ejecutar, se deba esperar
algún suceso antes de continuar. Es por esto que se
necesita un estado donde los procesos permanezcan
esperando la realización de la operación de
Entrada/Salida por parte del Sistema Operativo hasta que
puedan proseguir. Se divide entonces al estado No
ejecución en dos estados: Listo y Espera
ESTADOS DE UN PROCESO
DESISTEMAS
• Preparado (R).- Proceso que está listo para ejecutarse•
Ejecutando (O).- Sólo uno de los procesos preparados se
está ejecutando en cada momento
• Suspendido (S).- Se esta suspendido si no entra en el
reparto de CPU, el proceso pasa a formar parte del
conjunto de procesos preparados.
• PARADO (T).- Será cuando pasarán a estar preparados
cuando reciban una señal determinada que les permita
continuar.
• Zombie (Z).- Todo proceso al finalizar avisa a su proceso
padre. En vaso de que el padre no lo reciba, el proceso
hijo queda en estado zombie, y continua consumiendo
recursos del sistema .
Transiciones de estado de los
procesos
• De ejecución á Bloqueado: Se realiza esta transición cuando
queda en espera cuando por la concesión de sus recursos o por la
determinación de un suceso.
• De ejecución á Listo: Cuando el proceso que ocupa la CPU lleva
demasiado tiempo ejecutándose ,el sistema operativo decide que
otro proceso ocupe la CPU, pasando el proceso que ocupaba la
CPU a estado listo.
• De Listo á en ejecución: Cuando lo requiere el planificador de la
CPU.
• De Bloqueado á Listo: Se dispone del recurso por el que se había
bloqueado el proceso.
• De Nuevo a Preparado: Es cuando el SO acepta o admite un
proceso mas.
• De Preparado a Terminado: Ocurre cuando cuando el proceso
padre decide finalizar la ejecución del hijo.
• De Bloqueado a Terminado: Ocurre cuándo el proceso supere el
tiempo máximo de espera de un recurso y el SO decida terminarlo.
BLOQUE DE CONTROL
DEPROCESOS

(BCP)Cada vez que se crea un proceso, el SO crea uno de
estos bloques, Cuando el proceso termina, su BCP es
liberado y devuelto al deposito de celdas libres del cual se
extraen nuevos BCPs. La información del BCP se agrupa
generalmente en las siguientes categorías
gestion de procesos

gestion de procesos

  • 1.
    GESTION DE PROCESOS
  • 2.
    Procesos y tareas •Uno de los módulos más importantes de un sistema operativo es la de administrar los procesos y tareas del sistema de cómputo. • El sistema realiza varias actividades simultáneamente que compiten por la utilización de determinados recursos, entre los que destaca la CPU, estas actividades se denominan procesos.
  • 3.
    • El procesoes una unidad de trabajo del sistema y el sistema operativo es el responsable de realizar un seguimiento de todas las actividades del sistema en conexión con los procesos generados.
  • 4.
    División implícita yexplicita de tareas • Dependiendo del SO y del entorno objetivo de ejecución de programas. • La división de un trabajo en tareas que serán ejecutadas como procesos independientes así como la asignación inicial de los atributos de esos procesos pueden ser efectuadas o bien por el SO o bien por el desarrollador de la aplicación
  • 5.
    En otras palabraslo que constituirá un proceso independiente es : • División implícita de tareas definida por el sistema • División explicita de tareas definida por el desarrollador
  • 6.
    Tipos de procesosy relación entre procesos concurrentes • En principio podemos realizar una clasificación muy general de los procesos entre procesos de usuario y procesos de sistema • Un proceso de usuario es aquel creado por el SO. • Un proceso de sistema es un proceso que forma parte del propio SO y que desempeña alguna de sus labores características
  • 7.
    Creación y terminaciónde procesos • El sistema de operación debe crear un mecanismo para la creación y terminación de procesos. • Creación de procesos Cuando un nuevo proceso se agrega el sistema de operación construye las estructuras de datos que son usadas para administrar los procesos y le asigna espacio de direcciones. Estas acciones constituyen la creación de un nuevo proceso.
  • 8.
    Los eventos comunespara la creación de procesos • En un ambiente batch, un proceso es creado en respuesta al sometimiento a ejecución de un trabajo. • En un ambiente interactivo, un proceso es creado cuando un nuevo usuario entra al sistema. • El sistema de operación puede crear un proceso para que realice una función en respuesta a una petición de un programa usuario, sin que el usuario tenga que esperar. • Creación de procesos hijos por parte de procesos usuarios ya existentes el proceso que crea se llama proceso padre.
  • 9.
    Terminación de procesos •Un proceso termina cuando ejecuta su última instrucción y pide al sistema operativo que lo elimine. En este momento, el proceso puede devolver un valor de estado a su proceso padre. • El sistema operativo libera la asignación de todos los recursos del proceso, incluyendo las memorias física y virtual, los archivos abiertos y los búferes de E/S. • La terminación puede producirse también en otras circunstancias.
  • 10.
    Terminación de procesos •Un proceso puede causar la terminación de otro proceso a través de la adecuada llamada al sistema. • Dicha llamada al sistema sólo puede ser invocada por el padre del proceso que va a terminar. • En caso contrario, los usuarios podrían terminar arbitrariamente los trabajos de otros usuarios.
  • 12.
    ESTADOS DE UNPROCESO •El S.O gestiona los recursos disponibles(memoria, CPU, etc.) entre los procesos que en ese momento trabajan en el sistema, de tal forma que, para ellos, el sistema se comporte como si fuera monousuario. Así que, en un sistema monoprocesador, la CPU será parte entre los procesos que se tengan en ese momento.
  • 13.
    Modelo de dosestados • Se trata de la utilización de dos archivos, un objeto ejecutable y una biblioteca del sistema, que después se colocan en la imagen del proceso dentro de la memoria RAM y posteriormente también se dan de alta dentro de la tabla de procesos, bloqueo de control del proceso. EXPEDIR ENTRAR SALIR EJECUCION NO EJECUCION PAUSAR
  • 15.
    Modelo de dosestados En ese modelo, un proceso puede estar ejecutándose o no. Cuando se crea un nuevo proceso, se pone en estado de No ejecución. En algún momento el proceso que se está ejecutando pasará al estado No ejecución y otro proceso se elegirá de la lista de procesos listos para ejecutar para ponerlo en estado Ejecución. Es necesario q el SO pueda seguirle la pista a los procesos, conociendo su estado y el lugar que ocupa en memoria, y procesos que no se están ejecutando deben guardarse en algún tipo de cola mientras esperan su turno para ejecutar. 18. Modelo de cinco estados NUEVO TERMINADO LISTO ESPERA EJECUCION
  • 16.
    Modelo de dosestados El modelo anterior de dos estados funcionaría bien con una cola FIFO y planificación por turno rotatorio para los procesos que no están en ejecución, si los procesos estuvieran siempre listos para ejecutar, se deba esperar algún suceso antes de continuar. Es por esto que se necesita un estado donde los procesos permanezcan esperando la realización de la operación de Entrada/Salida por parte del Sistema Operativo hasta que puedan proseguir. Se divide entonces al estado No ejecución en dos estados: Listo y Espera
  • 17.
    ESTADOS DE UNPROCESO DESISTEMAS • Preparado (R).- Proceso que está listo para ejecutarse• Ejecutando (O).- Sólo uno de los procesos preparados se está ejecutando en cada momento • Suspendido (S).- Se esta suspendido si no entra en el reparto de CPU, el proceso pasa a formar parte del conjunto de procesos preparados. • PARADO (T).- Será cuando pasarán a estar preparados cuando reciban una señal determinada que les permita continuar. • Zombie (Z).- Todo proceso al finalizar avisa a su proceso padre. En vaso de que el padre no lo reciba, el proceso hijo queda en estado zombie, y continua consumiendo recursos del sistema .
  • 19.
    Transiciones de estadode los procesos • De ejecución á Bloqueado: Se realiza esta transición cuando queda en espera cuando por la concesión de sus recursos o por la determinación de un suceso. • De ejecución á Listo: Cuando el proceso que ocupa la CPU lleva demasiado tiempo ejecutándose ,el sistema operativo decide que otro proceso ocupe la CPU, pasando el proceso que ocupaba la CPU a estado listo. • De Listo á en ejecución: Cuando lo requiere el planificador de la CPU. • De Bloqueado á Listo: Se dispone del recurso por el que se había bloqueado el proceso. • De Nuevo a Preparado: Es cuando el SO acepta o admite un proceso mas. • De Preparado a Terminado: Ocurre cuando cuando el proceso padre decide finalizar la ejecución del hijo. • De Bloqueado a Terminado: Ocurre cuándo el proceso supere el tiempo máximo de espera de un recurso y el SO decida terminarlo.
  • 21.
    BLOQUE DE CONTROL DEPROCESOS (BCP)Cadavez que se crea un proceso, el SO crea uno de estos bloques, Cuando el proceso termina, su BCP es liberado y devuelto al deposito de celdas libres del cual se extraen nuevos BCPs. La información del BCP se agrupa generalmente en las siguientes categorías