Unidad 2 AdministracióN De Procesos

45

Transcript of Unidad 2 AdministracióN De Procesos

Page 1: Unidad 2 AdministracióN De Procesos
Page 2: Unidad 2 AdministracióN De Procesos
Page 3: Unidad 2 AdministracióN De Procesos

DESCRIPCIÓN DEL PROCESO

Un proceso en UNIX es un conjunto más bien complejo de estructuras de datos que proporcionan al sistema operativo toda la información necesaria para administrarlo y expandirlo.

Page 4: Unidad 2 AdministracióN De Procesos

CONTROL DEL PROCESO

La creación de procesos en UNIX se hace por medio de la llamada fork ( ) al núcleo del sistema.

Page 5: Unidad 2 AdministracióN De Procesos
Page 6: Unidad 2 AdministracióN De Procesos

Un proceso es una instancia de ejecución de un programa, caracterizado por su contador de programa, su palabra de estado, sus registros del procesador, su segmento de texto, pila y datos,

Page 7: Unidad 2 AdministracióN De Procesos
Page 8: Unidad 2 AdministracióN De Procesos

El proceso se esta creando.

NUEVO (NEW)

Page 9: Unidad 2 AdministracióN De Procesos

Se están ejecutando instrucciones.

EN EJECUCION (RUNNING)

Page 10: Unidad 2 AdministracióN De Procesos

El proceso esta esperando que ocurra algún suceso (como la terminación de una operación de E/S o la recepción de una señal).

EN ESPERA (WAITING):

Page 11: Unidad 2 AdministracióN De Procesos

El proceso esta esperando que se le asigne a un procesador.

LISTO (READY)

Page 12: Unidad 2 AdministracióN De Procesos

El proceso termino su ejecución.

TERMINADO (TERMINATED)

Page 13: Unidad 2 AdministracióN De Procesos
Page 14: Unidad 2 AdministracióN De Procesos

La mayoría de los procesadores dan soporte para dos modos de ejecución por lo menos. Ciertas instrucciones pueden ejecutarse sólo en modo privilegiado. Entre éstas están la lectura o modificación de registros de control, instrucciones primitivas de E/S e instrucciones relativas a la gestión de memoria. Además, se puede acceder a ciertas regiones de memoria sólo en el modo más privilegiado.

Page 15: Unidad 2 AdministracióN De Procesos

2.5 PROCESOS E HILOS

Page 16: Unidad 2 AdministracióN De Procesos

Un hilo es básicamente una tarea que puede ser ejecutada en paralelo con otra tarea. Permiten dividir un programa en dos o mas tareas que corren simultáneamente, por medio de la multiprogramación.

Un hilo de ejecución, característica que permite a una aplicación realizar varias tareas a la vez. Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc.

Page 17: Unidad 2 AdministracióN De Procesos

A-El proceso está en ejecución y necesita algún elemento para poder ejecutarse. Pasa de Ejecución a Bloqueado.

B-Es la que pasa del Estado de Ejecución a activo. A terminado su proceso y pasa a activo para dejar paso a otras aplicaciones.

C-La tarea que está en Activo pasa a estar en Ejecución.

D-El proceso pasa de estar bloqueado a estar activo porque ya tiene lo que necesita.

Page 18: Unidad 2 AdministracióN De Procesos

El proceso sigue en ejecución mientras al menos uno de sus hilos de ejecución siga activo. Cuando el proceso finaliza, todos sus hilos de ejecución también han terminado. Asimismo en el momento en el que todos los hilos de ejecución finalizan, el proceso no existe más y todos sus recursos son liberados.

Page 19: Unidad 2 AdministracióN De Procesos

Puede verse la concurrencia de procesos como la ejecución simultánea de varios procesos. Si tenemos un multiprocesador o un sistema distribuido la concurrencia parece clara, en un momento dado cada procesador ejecuta un proceso.

Page 20: Unidad 2 AdministracióN De Procesos

2.6 CONCURRENCIA EXCLUSIÓN MUTUA Y

SINCRONIZACIÓN

Page 21: Unidad 2 AdministracióN De Procesos

En un sistema multiprogramado con un único procesador, los procesos se intercalan en el tiempo aparentando una ejecución simultánea. Aunque no se logra un procesamiento paralelo y produce una sobrecarga en los intercambios de procesos, la ejecución intercalada produce beneficios en la eficiencia del procesamiento y en la estructuración de los programas.

Page 22: Unidad 2 AdministracióN De Procesos

La concurrencia puede presentarse en tres contextos diferentes:

• Múltiples aplicaciones: la multiprogramación se creó para permitir que el tiempo de procesador de la máquina fuese compartido dinámicamente entre varias aplicaciones activas.

Page 23: Unidad 2 AdministracióN De Procesos

• Aplicaciones estructuradas: como ampliación de los principios del diseño modular y la programación estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes.

Page 24: Unidad 2 AdministracióN De Procesos

• Estructura del sistema operativo: las mismas ventajas de estructuración son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos están implementados como un conjunto de procesos o hilos.

Page 25: Unidad 2 AdministracióN De Procesos

2.7 PRINCIPIOS GENERALES DE LA

CONCURRENCIA

Page 26: Unidad 2 AdministracióN De Procesos

En un sistema multiprogramado con un único procesador, los procesos se intercalan en el tiempo aparentando una ejecución simultánea. Aunque no se logra un procesamiento paralelo y produce una sobrecarga en los intercambios de procesos, la ejecución intercalada produce beneficios en la eficiencia del procesamiento y en la estructuración de los programas.

Page 27: Unidad 2 AdministracióN De Procesos

2.8 EXCLUSIÓN MUTUA; SOLUCIÓN POR

HARDWARE Y SOFTWARE

Page 28: Unidad 2 AdministracióN De Procesos

Podemos comprender que los botones de exclusión mutua son similares a los botones de activación excepto que se agrupan, de tal forma que sólo uno puede estar seleccionado/pulsado en un momento dado. Ejemplo de ello es para aquellos usuarios que necesita seleccionar un valor entre una pequeña lista de opciones.

Page 29: Unidad 2 AdministracióN De Procesos
Page 30: Unidad 2 AdministracióN De Procesos

Un semáforo binario es un indicador de condición (S) que registra si un recurso está disponible o no. Un semáforo binario sólo puede tomar dos valores: O y 1. Si, para un semáforo binario. S=1 entonces el recurso está disponible y la tarea lo puede utilizar; si S=0 el recurso no está disponible y el proceso debe esperar. =

= 0 ó 1

Page 31: Unidad 2 AdministracióN De Procesos

Los semáforos sólo permiten tres operaciones sobre ellos:      Espera.      Señal.      Inicializar.wait (variable)begin   while (variable)>=0 do {esperar}   variable=variable-1endsignal (variable)begin   variable=variable+1end

Page 32: Unidad 2 AdministracióN De Procesos

2.10 MONITORES

Page 33: Unidad 2 AdministracióN De Procesos

Un monitor es una estructura formada por una cabecera que los identifica, un conjunto de variables globales a todos los procedimientos del monitor, un conjunto de procedimientos y un bloque de inicialización, el cual se ejecuta una única vez, cuando se crea el monitor.

{    nombre{   variables globales accesibles desde todos los

procedimientos

{   procedimiento A{   procedimiento B

{   

{   inicialización (solo se ejecuta una vez)

Page 34: Unidad 2 AdministracióN De Procesos

La intercalación y la superposición pueden contemplarse como ejemplos de procesamiento concurrente en un sistema monoprocesador, los problemas son consecuencia de la velocidad de ejecución de los procesos que no pueden predecirse y depende de las actividades de otros procesos, de la forma en que el sistema operativo trata las interrupciones surgen las siguientes dificultades:

Compartir recursos globales es riesgoso Para el sistema operativo es difícil gestionar la asignación

óptima de recursos.

Page 35: Unidad 2 AdministracióN De Procesos

2.11 PASO DE MENSAJES

Page 36: Unidad 2 AdministracióN De Procesos

Entiendo que Paso de Mensajes es un estándar que se establece para la comunicación entre los nodos que se ejecutan en un programa. Son un conjunto de bibliotecas de rutinas que pueden ser utilizadas en programas escritos en los lenguajes de programación C, C++, Fortran y Ada. Una de las ventajas es que los programas que utilizan estás bibliotecas son portables. Un ejemplo claro de paso de mensajes es como se hace con los semáforos, monitores, etc.

Page 37: Unidad 2 AdministracióN De Procesos

2.12 CONCURRENCIA E INTERBLOQUEO (DEADLOCK)

Page 38: Unidad 2 AdministracióN De Procesos

Interbloqueo. Bloqueo permanente de un conjunto de procesos que juntos compiten por recursos del sistema ose comunican entre ellos.Se dice que dos procesos se encuentran en estado de deadlock (interbloqueo, bloqueo mutuo o abrazo mortal) cuando están esperando por condiciones que nunca se van a cumplir. Se podría hablar de deadlock como el estado permanente de bloqueo de un conjunto de procesos que están compitiendo por recursos del sistema.

Page 39: Unidad 2 AdministracióN De Procesos

La concurrencia comprende un gran número de cuestiones de diseño incluyendo la comunicación entre procesos, la compartición y competencia por los recursos, la sincronización de la ejecución de varios procesos y la asignación del procesador a los procesos.

Page 40: Unidad 2 AdministracióN De Procesos

2.13 PRINCIPIOS DEL INTERBLOQUEO

Page 41: Unidad 2 AdministracióN De Procesos

Tiene lugar cuando ninguno de los procesos que compiten por los recursos del sistema o interactúan entre si puede avanzar por carecer de algún recurso o esperar a que se produzca algún tipo de evento.

Page 42: Unidad 2 AdministracióN De Procesos

2.14 ACCIONES A REALIZAR ANTE UN INTERBLOQUEO PREVENCIÓN,

DETECCIÓN, PREDICCIÓN Y EVITAR

Page 43: Unidad 2 AdministracióN De Procesos

La estrategia de prevención consiste, a grandes rasgos, en diseñar un sistema de maneraque esté excluida a priori la posibilidad de interbloqueo.

PREVENCIÓN DE INTERBLOQUEOS

Page 44: Unidad 2 AdministracióN De Procesos

DETECCIÓN DE INTERBLOQUEOS

Las estrategias de detección de interbloqueos no limitan el acceso a los recursos ni restringen las acciones de los procesos como ocurría con las estrategias de prevención de interbloqueos, mediante las estrategias de detección de interbloqueos se concederán los recursos que los procesos necesitan siempre que sea posible.

Page 45: Unidad 2 AdministracióN De Procesos

PREDICCIÓN DE INTERBLOQUEO

En la predicción de interbloqueo, se decide dinámicamente si la petición actual de un recurso podría, de concederse, llevar potencialmente a un interbloqueo. La predicción de interbloqueo necesita, por tanto, conocer las peticiones futuras de recursos.