Unidad 2 AdministracióN De Procesos

Post on 03-Jul-2015

14.067 views 0 download

Transcript of 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.

CONTROL DEL PROCESO

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

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,

El proceso se esta creando.

NUEVO (NEW)

Se están ejecutando instrucciones.

EN EJECUCION (RUNNING)

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):

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

LISTO (READY)

El proceso termino su ejecución.

TERMINADO (TERMINATED)

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.

2.5 PROCESOS E HILOS

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.

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.

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.

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.

2.6 CONCURRENCIA EXCLUSIÓN MUTUA Y

SINCRONIZACIÓN

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.

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.

• 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.

• 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.

2.7 PRINCIPIOS GENERALES DE LA

CONCURRENCIA

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.

2.8 EXCLUSIÓN MUTUA; SOLUCIÓN POR

HARDWARE Y SOFTWARE

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.

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

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

2.10 MONITORES

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)

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.

2.11 PASO DE MENSAJES

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.

2.12 CONCURRENCIA E INTERBLOQUEO (DEADLOCK)

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.

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.

2.13 PRINCIPIOS DEL INTERBLOQUEO

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.

2.14 ACCIONES A REALIZAR ANTE UN INTERBLOQUEO PREVENCIÓN,

DETECCIÓN, PREDICCIÓN Y EVITAR

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

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.

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.