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 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.
4. 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
5. 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
6. 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
7. 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.
8. 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.
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.
11.
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 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
14.
15. 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
16. 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
17. 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 .
18.
19. 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.
20.
21. 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