8
ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES DECANATURA DE INGENIERÍA Técnico Profesional en sistemas e Ingeniería de Sistemas TALLER CONCURRENCIA Y EXCLUSION MUTUA SISTEMAS OPERATIVOS DOCENTE OSCAR W. MENDOZA M. Ivonne Mayorga 2011152161 Celly Andrea Bohórquez 2010152116 ¿Qué es concurrencia? Dos o más procesos decimos que son concurrentes, paralelos, o que se ejecutan concurrentemente, cuando son procesados al mismo tiempo, es decir, que para ejecutar uno de ellos, no hace falta que se haya ejecutado otro. Determine las causas posibles de la concurrencia: La concurrencia se puede presentar por causa como la Multiprogramación, donde el tiempo del procesador es compartido dinámicamente entre varios procesos activos. Aplicaciones Estructuradas: debido a los procesos de diseño modular y programación estructurada y por ultimo por la estructura del sistema operativo sistemas monoprocesadores, multiprocesadores y distribuidos. ¿Qué elementos de gestión y diseño surgen por causa de la concurrencia? El sistema operativo debe ser capaz de seguir la pista de los distintos procesos activos. Esto lo hace por medio del Bloque de control de Procesos. El sistema operativo debe asignar y quitar distintos recursos a cada proceso activo. Entre estos recursos incluyen. * Tiempo de procesador: Es la función de la

Taller concurrencia y exclusión mutua

  • Upload
    andrea

  • View
    631

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Taller concurrencia y exclusión mutua

ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALESDECANATURA DE INGENIERÍA

Técnico Profesional en sistemase Ingeniería de Sistemas

TALLER CONCURRENCIA Y EXCLUSION MUTUA

SISTEMAS OPERATIVOS

DOCENTEOSCAR W. MENDOZA M.

Ivonne Mayorga 2011152161Celly Andrea Bohórquez 2010152116

¿Qué es concurrencia?

Dos o más procesos decimos que son concurrentes, paralelos, o que se ejecutan concurrentemente, cuando son procesados al mismo tiempo, es decir, que para ejecutar uno de ellos, no hace falta que se haya ejecutado otro.

 Determine las causas posibles de la concurrencia:

La concurrencia se puede presentar por causa como la Multiprogramación, donde el tiempo del procesador es compartido dinámicamente entre varios procesos activos. Aplicaciones Estructuradas: debido a los procesos de diseño modular y programación estructurada y por ultimo por la estructura del sistema operativo sistemas monoprocesadores, multiprocesadores y distribuidos.

¿Qué elementos de gestión y diseño surgen por causa de la concurrencia?

El sistema operativo debe ser capaz de seguir la pista de los distintos procesos activos. Esto lo hace por medio del Bloque de control de Procesos.

El sistema operativo debe asignar y quitar distintos recursos a cada proceso activo. Entre estos recursos incluyen.  * Tiempo de procesador: Es la función de la planificación.  * Memoria: Se emplea esquemas de memoria virtual.  * Archivos  * Dispositivos de entrada y salida.

El S.O debe de proteger los datos y los recursos físicos de cada proceso contra injerencias no intencionadas de otros procesos.

Los resultados de un proceso deben ser independientes de la velocidad relativa a la que se realiza la ejecución con respecto a otros procesos.

Defina: Interacción, Competencia y cooperación

Page 2: Taller concurrencia y exclusión mutua

ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALESDECANATURA DE INGENIERÍA

Técnico Profesional en sistemase Ingeniería de Sistemas

TALLER CONCURRENCIA Y EXCLUSION MUTUA

SISTEMAS OPERATIVOS

DOCENTEOSCAR W. MENDOZA M.

Interacción: Es cuando varios procesos se encuentran en la memoria y dependiendo del conocimiento que tenga entre ellas, se dirá, si hay relaciones entre ellas.

Competencia: Es la enfrentamiento entre los procesos por el uso de un recurso en especifico y al igual que en cualquier competencia, gane el primero en llegar al uso del recurso.

Cooperación: es el nexo entre dos o más procesos actual que entran a un mismo recurso, esto por medio de algoritmos, dando una guía para que estos accedan a otro recursos.

¿Qué es exclusión mutua?

Se refiere al problema de asegurar que no hay dos procesos o hilos (en adelante referido únicamente como procesos) puede estar en su sección crítica al mismo tiempo. Aquí, una sección crítica se refiere a un período de tiempo en el proceso de acceso a un recurso compartido, como la memoria compartida. El problema de la exclusión mutua fue identificado por primera vez y resueltos por Edsger W. Dijkstra en su seminal artículo de 1965 titulado: Solución de un problema en el control de la programación concurrente

Mediante ejemplos describa el Algoritmo de Dekker:

El algoritmo de dekker se refiere principalmente a la programación concurrente donde se especifica en la ejecución de dos procesos o dos hilos, donde comparte el mismo recurso sin conflictos, fue uno de los primeros algoritmos con exclusión mutua, y se crearon cinco intentos de algoritmos donde los primeros cuatro provoca algo de conflictos aunque el quinto intento no provoco nada de conflictos.

Versión 1: Alternancia estricta. Garantiza la exclusión mutua, pero su desventaja es que acopla los procesos fuertemente, esto significa que los procesos lentos atrasan a los procesos rápidos.

Page 3: Taller concurrencia y exclusión mutua

ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALESDECANATURA DE INGENIERÍA

Técnico Profesional en sistemase Ingeniería de Sistemas

TALLER CONCURRENCIA Y EXCLUSION MUTUA

SISTEMAS OPERATIVOS

DOCENTEOSCAR W. MENDOZA M.

Versión 2: Problema interbloqueo. No existe la alternancia, aunque ambos procesos caen a un mismo estado y nunca salen de ahí.

Versión 3: Colisión región crítica no garantiza la exclusión mutua. Este algoritmo no evita que dos procesos puedan acceder al mismo tiempo a la región crítica.Versión 4: Postergación indefinida. Aunque los procesos no están en interbloqueo, un proceso o varios se quedan esperando a que suceda un evento que tal vez nunca suceda.El último intento es la Combinación entre:

• Primer intento y cuarto intento• Cuando P0 quiere entrar en su sección crítica pone Señal [0]=cierto; y comprueba la señal de P1.• Si está a falso, entra inmediatamente.• Si está a cierto, consulta turno:• Si turno==0; sigue verificando la señal de P1.• Si turno==1; desactiva su señal y espera hasta que turno==0;

Proceso 0 Proceso 1… …señal[0] = cierto; señal[1]=cierto;while (señal[1]) while (señal[0])if (turno==1){ if (turno==0){señal[0]=falso; señal[1]=falso;while (turno==1); while (turno==0);/*esperar*/ /*esperar*/señal[0]=cierto; señal[1]=cierto;} } /*sección crítica*/ /*sección crítica*/turno=1; turno=0;señal[0] = falso; señal[1] = falso;... …

Mediante ejemplos describa Algoritmo de Peterson:

Más simple que el de Dekker, garantiza la exclusión mutua:• Cada proceso tiene un turno para entrar en la sección crítica.

Page 4: Taller concurrencia y exclusión mutua

ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALESDECANATURA DE INGENIERÍA

Técnico Profesional en sistemase Ingeniería de Sistemas

TALLER CONCURRENCIA Y EXCLUSION MUTUA

SISTEMAS OPERATIVOS

DOCENTEOSCAR W. MENDOZA M.

• Si un proceso desea entrar en la sección crítica, debe activar su señal y puede que tenga que esperar a que llegue su turno.„ Impide el interbloqueo ya que si un proceso se encuentra esperando en el “while”, entonces la señal y el turno del otro proceso están activadas. El proceso que está esperando entrará en su sección crítica cuando la señal o el turno del otro se desactiven.

Proceso 0 Proceso 1... …while(cierto){ while(cierto){señal[0] = cierto; señal[1]=cierto;turno=1; turno=0; while (señal[1]&&turno==1); while (señal[0]&&turno==0);/*esperar*/ /*esperar*//*sección crítica*/ /*sección crítica*/señal[0]=falso; señal[1]=falso; ... ...} }

Describa el propósito de las soluciones al problema de concurrencia por hardware:En los monoprocesadores se debe asegurar que un proceso no sea suspendido en un sector crítico de su código de ejecución, pues esto generaría un error y estropearía cualquier acción realizada por este proceso.En el caso de multiprocesador son utilizadas instrucciones de maquina, se podría respaldar el ingreso a su sección critica, entre el código y una pequeña parte de la posición de memoria. Durante la ejecución de la sección critica los demás procesos están en espera activa, hasta que este termine para poder acceder a esta posición de memoria.

¿Defina qué son los semáforos?

Mecanismo frente a problemas de concurrencia. „ Funcionamiento basado en la cooperación entre procesos. „ Uso de señales, podemos obligar a un proceso a detenerse hasta que

reciba una señal.

Page 5: Taller concurrencia y exclusión mutua

ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALESDECANATURA DE INGENIERÍA

Técnico Profesional en sistemase Ingeniería de Sistemas

TALLER CONCURRENCIA Y EXCLUSION MUTUA

SISTEMAS OPERATIVOS

DOCENTEOSCAR W. MENDOZA M.

Los semáforos se pueden considerar variables enteras sobre las que se definen las siguientes operaciones:• Un semáforo puede iniciarse con un valor no negativo.• La operación wait() reduce el valor del semáforo. Si el valor se hace negativo, el proceso que la ejecuta se bloquea.• La operación signal() incrementa el valor del semáforo. Si el valor no es positivo, se desbloquea un proceso.

Describa en sus palabras el problema del Productor/Consumidor y la solución respectiva:Permite el acceso por parte de los procesos productores y procesos consumidores donde un recurso común es un buffer de elementos y los productores intentan ingresar elementos en el buffer de uno en uno, y los consumidores tratan de sacar elementos de uno en uno.Su consistencia permite que la información almacenada en el buffer, muestre un acceso

a los productores y consumidores pues estos deben hacer una exclusión mutua. Además de esto el buffer tiene una capacidad limitada por lo que el acceso por parte de un productor para ingresar un elemento en el buffer lleno debe causar la detención del proceso productor. A si mismo sucede para el consumidor que intente sacar un elemento del buffer vacío.

Establezca las características más importantes de la solución al problema de la concurrencia a través de la exclusión mutua utilizando Monitores:

Defina: Paso de mensajes: Proporcionan una solución al problema de la concurrencia de procesos que integra la sincronización y la comunicación entre ellos y resulta adecuado tanto para sistemas centralizados como para distribuidos. La comunicación mediante mensajes necesita siempre de un proceso emisor y otro proceso receptor, y la información debe intercambiarse. Las operaciones básicas para una comunicación mediante mensajes que proporciona todo sistema operativo son: enviar (mensaje) y recibir (mensaje). La comunicación por mensajes requiere que se establezca un enlace entre emisor y receptor.

Page 6: Taller concurrencia y exclusión mutua

ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALESDECANATURA DE INGENIERÍA

Técnico Profesional en sistemase Ingeniería de Sistemas

TALLER CONCURRENCIA Y EXCLUSION MUTUA

SISTEMAS OPERATIVOS

DOCENTEOSCAR W. MENDOZA M.

Direccionamiento: Es la forma de hacer el envió de mensajes de un proceso a otro. Hay dos tipos de direccionamientoDirecto: Es cuando el proceso receptor sabe el origen del mensaje.Indirecto: cuando el proceso receptor tiene un buzón al cual llegan todos los demás mensajes.

Comente los aspectos más relevantes del problema de Lectores y Escritores:

Este problema consiste en tener varios lectores al mismo tiempo, cuando un escritor se encuentra cambiando la información, no puede haber mas escritores utilizándolo. Si no fuera de esta manera todos los escritores saturarían el sistema. El tener muchos lectores es realmente que solo un lector acceda a la información, pero en el momento en que el escritor ingresa, los lectores se marchan y el escritor puede modificar la información.