Exclusión Mutua Repaso Tema relacionado a la sesión anterior: Sincronización del reloj.

Slides:



Advertisements
Presentaciones similares
Construcción de Sistemas Distribuidos “Transacciones Distribuidas”
Advertisements

SINCRONIZACIÓN EN SISTEMAS DISTRIBUIDOS Tema # III Sept-Dic 2008 Yudith Cardinale.
Tipos de Sistemas Operativos. Proceso de transmisión y recepción de ideas, información, etc. Lenguaje. Símbolos y alfabetos. Transmisor, receptor y medio.
Sincronización de Relojes
Bd NoSQL Técnicas II PROFA. MERCY OSPINA
Bd NoSQL Técnicas II PROFA. MERCY OSPINA
ALGORITMOS DE SUSTITUCIÓN DE PÁGINAS. Idea Cuando ocurre una falla de página, el sistema operativo tiene que escoger la página que sacará de la memoria.
Resumen de Sistemas Operativos I Msc./Ing. Antonio Mena.
MANEJO DE CUENTAS DE CORREO ELECTRÓNICO Computación Kenya Lavín Caballero 5to semestre Esperanza Mendoza.
Seguridad Informática. Índice ● Métodos de protección – Protección local ● Antivirus – ¿Qué es? – ¿Qué hace? – Protección perimetral ● Firewall – ¿Qué.
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre.
MUTEX. QUE ES CONCURRENCIA - MUTEX  Son el mecanismo que nos ayuda en la sincronización para proteger una sección crítica en nuestro código.  Estas.
Sistemas de Comunicación Magistral Nro. 1
SISTEMAS OPERATIVOS Sección Crítica.
UNIDAD III: LAS TIC COMO FUENTES DE INVESTIGACION y DIFUSION DE INFORMACION Objetivo: Conocer y aplicar adecuadamente los principios básicos de estructura.
Procesos Concurrentes
Protocolo de comunicación
Planificación de Procesos
MODELO CLIENTE -SERVIDOR
ADMINISTRACíON DE LA MEMORIA EN SISTEMAS RECIENTES
Exclusión mutua de secciones
Comunicación de redes informáticas
REDES DE COMPUTADORAS SEGÚN TOPOLOGIA
Sistema Distribuido para entidad bancaria
Planificación de uso del procesador
Sistemas Distribuidos
TRANSACCIONES ATÓMICAS: ING. WALTER ZULOAGA CONTRERAS ALUMNOS: SHARON Y. CONZA CASTILLO BEKER MONTERROSO VALVERDE.
Tema 6. Conceptos básicos de programación (Clase 2)
Novell Netware Autores: Cerrina Maria Josefina, Coto Marcelo,
L.I. Gerardo Ortiz Rivera
SISTEMAS DISTRIBUÍDOS
Enginyería de Xarxes Alberto Guerrero Raúl Moreno Carlos Rodríguez
Definición de un Sistema Distribuido
Proceso de resolución de un nombre de dominio
LÓGICA DE PROGRAMACIÓN
Sesiones 06 de Mayo de 2004 Fernando Alonso Blázquez.
Exclusión mutua Un Algoritmo Centralizado Algoritmo Descentralizado
Comunicaciones I / Comunicación Electrónica
PROCESOS COMENZAR.
Un sistema distribuido debe permitir el apropiado uso de los recursos, debe encargarse de un buen desempeño y de la consistencia de los datos, además de.
Clientes DNS (Resolutores –“resolvers” de nombres)
Sistemas Operativos Semáforos II.
A RQUITECTURA C LIENTE - SERVIDOR La arquitectura del cliente servidor se divide en dos partes Los promovedores de recursos o servicios llamados servidores.
INGENIERÍA INFORMÁTICA Y DE SISTEMAS Docente: Mg Ing. Jesús Ocaña Velásquez ARQUITECTURA DEL COMPUTADOR.
LA META Cuando eres productivo estas logrando algo en relación a tu meta Hay solo una meta, no importa cual sea la compañía No se puede comprender el significado.
Transferencias de zona.
CURSO PROGRAMACIÓN BÁSICA SEMANA 3 ¿Qué es un programa?
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS.
Instituto Tecnológico Superior de la Región Sierra
ETAPAS DE LA INVESTIGACIÓN EN SALUD
Curso: fundamentos de redes Profesor: Miguel farfan Sesion: 03
M2-TECNOLOGIA Y TELECOMUNICACIONES NOMBRE: ÓSCAR ALIAS RUIZ VARGAS CARRERA: MECÁNICA AUTOMOTRIZ PAGINA 17.
Concurrencia: exclusión mutua y sincronización Capítulo 5.
METODOS DE ORDENAMIENTO CHRISTIAN MICHAEL OBANDO GARCES JOAO ADRIAN BARIONUEVO.
ALGORITMOS DE ELECCION
Tema 6. Conceptos básicos de programación (Clase 2)
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Redes I Magistral Nro. 1 Comunicación de Datos. Es el proceso de comunicar información en forma binaria entre dos o más puntos. Requiere cuatro elementos.
Diagramas de Interacción. Escuela de Ingeniería en Sistemas Computacionales Facultad de Ciencias Matemáticas y Físicas Universidad Estatal
REDES MESH Las redes mesh, también llamadas redes inalámbricas malladas, redes acopladas, o redes inalámbricas de infraestructura, para definirlas de una.
1 TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS Introducción Hardware Software Aspectos de diseño.
PRUEBAS DE CAJA NEGRA. -Internationa Software Testing Qualification Board (ISTQB) Internationa Software Testing Qualification Board (ISTQB) Técnica de.
Procesos Lic. Gonzalo Pastor.
Maestro: Oscar Medina Espinosa REDES CONVERGENTES Unidad II. Calidad de Servicio (QoS).
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE SISTEMAS OPERATIVOS - ROY CANEPA JUAN FABIO
SISTEMAS OPERATIVOS En el mundo de la informática se denomina sistema operativo al programa, o conjunto de ellos, que gestiona los recursos físicos de.
Cliente Servidor Petición Respuesta Aplicaciones Cliente-Servidor.
ING. NANCY BASILIO MARCELO ADMINISTRACIÓN REDES DE COMPUTADORAS.
Transcripción de la presentación:

Exclusión Mutua

Repaso Tema relacionado a la sesión anterior: Sincronización del reloj

Logro de aprendizaje Al final de la sesión, el alumno analiza y comprende los diferentes algoritmos relacionados con sincronización, exclusión mutua, así como la importancia de estos en el diseño de sistemas distribuidos.

Agenda EXCLUSIÓN MUTUA Algoritmo centralizado Algoritmo distribuido Algoritmo de anillo de token

Exclusión Mutua El problema de la exclusión mutua en sistemas distribuidos surge cuando se tiene acceso concurrentemente a recursos compartidos por varios nodos de procesamiento. En sistemas de una sola computadora, el estado de un recurso compartido y el estado de un usuario es más accesible por la existencia de una memoria compartida y se pueden implementar fácilmente soluciones a la exclusión mutua, haciendo uso de variables compartidas como los semáforos.

Exclusión Mutua Sin embargo, en sistemas distribuidos los recursos compartidos y los usuarios pueden estar distribuidos y no existe una memoria compartida entre ellos; consecuentemente, los enfoques basados en variables compartidas no son aplicables a los sistemas distribuidos, en su lugar; se deben utilizar enfoques basados en el paso de mensajes. Cuando un proceso requiere leer o actualizar ciertas estructuras de datos compartidas, primero entra a una sección crítica (SC) para lograr la exclusión mutua asegurándose que ningún otro proceso utilice las mismas estructuras al mismo tiempo.

Exclusión Mutua Las soluciones definidas para estos problemas son: Algoritmos centralizados. Algoritmos distribuidos. Algoritmos de anillo de token.

Exclusión Mutua Funciones básicas de exclusión mutua: enter(): Acceso a la región critica (bloqueo). operations(): Manipulación de los recursos compartidos. exit(): Liberación del recurso (despierta a procesos en espera). Propiedades: Seguridad: Como máximo un proceso puede estar ejecutado en la sección crítica a la vez. Vivacidad: Eventualmente se producen entradas y salidas en la sección crítica. Ordenación: Los procesadores acceden a la región crítica en base a unos criterios de ordenación (causalidad temporal/Lamport).

Exclusión Mutua La evaluación de los algoritmos de exclusión mutua se evalúa en base a los siguientes factores: Ancho de banda: Proporcional al número de mensajes transmitidos. Retardo del cliente: En la ejecución de cada una de las operaciones enter()y en cada operación exit(). Throughput del sistema: Ratio de acceso al recurso por una batería de procesos que lo solicitan. Evalúa el retardo de sincronización entre clientes. Tolerancia a fallos: Comportamiento del algoritmo ante diferentes modalidades de fallo.

Algoritmo Centralizado La forma más directa de lograr la exclusión mutua en un sistema distribuido es simular a la forma en que se lleva a cabo en un sistema monoprocesador. Se elige un proceso coordinador. Cuando un proceso desea ingresar a una región crítica: Envía un mensaje de solicitud al coordinador:  Indicando la región crítica.  Solicitando permiso de acceso. Si ningún otro proceso está en ese momento en esa región crítica:  El coordinador envía una respuesta otorgando el permiso.  Cuando llega la respuesta el proceso solicitante entra a la región crítica.

Algoritmo Centralizado Si un proceso pide permiso para entrar a una región crítica ya asignada a otro proceso: El coordinador no otorga el permiso y encola el pedido. Cuando un proceso sale de la región crítica envía un mensaje al coordinador para liberar su acceso exclusivo: El coordinador extrae el primer elemento de la cola de solicitudes diferidas y envía a ese proceso un mensaje otorgando el permiso, con lo cual el proceso queda habilitado para acceder a la región crítica solicitada.

Algoritmo Centralizado Es un esquema sencillo, justo y con pocos mensajes de control. La limitante es que el coordinador puede ser un cuello de botella y puede fallar y bloquear a los procesos que esperan una respuesta de habilitación de acceso 0 enter OK C 1 2 No hay respuespuesta (bloquea al cliente) 0 enter C 1 2 OK 0 exit C 12 1 Cola de Espera 1 2 2

Algoritmo Centralizado Rendimiento: Ancho de banda:  El acceso al recurso implica dos mensajes (aunque el recurso esté libre). Retardo del cliente:  enter(): El retardo de transmisión de los dos mensajes.  exit(): Con comunicación asíncrona no implica retraso en cliente.

Algoritmo Centralizado Throughput del sistema:  La finalización de un acceso a la región critica implica un mensaje de salida y un OK al siguiente proceso en espera. Tolerancia a fallos:  La caída del elemento de control es crítica (alg. de elección).  La caída de los clientes o la perdida de mensajes se puede solucionar por medio de temporizadores.

Algoritmo Centralizado Ventajas: Se puede generalizar para asignación de recursos en general. Es justo, las peticiones son atendidas en el orden que son realizadas. Requiere sólo de tres mensajes (requerir, otorgar, liberar) Desventajas: Centralizado Si el coordinador no envía respuesta ante la negación, el solicitante no sabe si la respuesta no le llega por negación o por falla.

Algoritmo de Anillo de Fichas (Token Ring) Los procesos se organizan por software formando un anillo lógico asignándose a cada proceso una posición en el anillo. Cada proceso sabe cuál es el siguiente luego de él. token Al inicializar el anillo se le da al proceso “0” una ficha (token) que circula en todo el anillo, que se transfiere del proceso “k” al “k + 1” en mensajes puntuales.

Algoritmo de Anillo de Fichas (Token Ring) Cuando un proceso obtiene la ficha de su vecino verifica si intenta entrar a una región crítica: En caso positivo:  El proceso entra a la región crítica, hace el proceso necesario y sale de ella.  Después de salir pasa la ficha a lo largo del anillo:  No se puede entrar a una segunda región crítica con la misma ficha (token o permiso). En caso negativo:  La vuelve a pasar.

Algoritmo de Anillo de Fichas (Token Ring) En un instante dado solo un proceso puede estar en una región crítica. Si la ficha se pierde debe ser regenerada, pero es difícil detectar su perdida: La cantidad de tiempo entre las apariciones sucesivas de la ficha en la red no está acotada, por ello es difícil decidir si está perdida o demorada en algún proceso que no la libera.

Algoritmo de Anillo de Fichas (Token Ring) La falla de un proceso es detectada cuando su vecino intenta sin éxito pasarle la ficha: Se lo debe eliminar del grupo y pasar la ficha al siguiente proceso activo. To dos los procesos deben mantener la configuración actual del anillo.

Algoritmo de Anillo de Fichas (Token Ring) La falla de un proceso es detectada cuando su vecino intenta sin éxito pasarle la ficha: Se lo debe eliminar del grupo y pasar la ficha al siguiente proceso activo. To dos los procesos deben mantener la configuración actual del anillo.

Algoritmo de Anillo de Fichas (Token Ring) La falla de un proceso es detectada cuando su vecino intenta sin éxito pasarle la ficha: Se lo debe eliminar del grupo y pasar la ficha al siguiente proceso activo. To dos los procesos deben mantener la configuración actual del anillo.

Algoritmo de Anillo de Fichas (Token Ring) Rendimiento: Ancho de banda:  El algoritmo consume ancho banda de forma continua. Retardo del cliente:  La entrada en la sección critica requiere de 0 a N mensajes.  La salida sólo implica un mensaje.

Algoritmo de Anillo de Fichas (Token Ring) Throughput del sistema:  La entrada del siguiente proceso tras la salida del que ocupa la región critica implica de 1 a N mensajes. Tolerancia a fallos:  Perdida del token: Detección y regeneración  Caída de un elemento del anillo: Reconfiguración del anillo.

Algoritmo Distribuido El objetivo es no tener un único punto de fallo (el coordinador central). Se requiere un orden total de todos los eventos en el sistema para saber cuál ocurrió primero. Cuando un proceso desea entrar a una región crítica: Construye un mensaje con el nombre de la región crítica, su número de proceso y la hora actual. Envía el mensaje a todos los demás procesos y de manera conceptual a él mismo. Se supone que cada mensaje tiene un reconocimiento

Algoritmo Distribuido Si el receptor no está en la región crítica y no desea entrar a ella, envía de regreso un mensaje o.k. al emisor. Si el receptor ya está en la región crítica no responde y encola la solicitud. Si el receptor desea entrar a la región crítica pero aún no lo logró, compara: La marca de tiempo del mensaje recibido con, la marca contenida en el mensaje que envió a cada uno, la menor de las marcas gana. Si el mensaje recibido es menor el receptor envía un o.k. Si su propio mensaje tiene una marca menor el receptor no envía nada y encola el pedido.

Algoritmo Distribuido Luego de enviar las solicitudes un proceso: Espera hasta que alguien más obtiene el permiso. Cuando llegan todos los permisos puede entrar a la región crítica. Cuando un proceso sale de la región crítica: Envía mensajes o.k. a todos los procesos en su cola. Elimina a todos los elementos de la cola. La exclusión mutua queda garantizada sin bloqueo ni inanición.

Algoritmo Distribuido de Ricart y Agrawala Un proceso que quiere entrar en sección crítica (SC) envía mensaje de solicitud a todos los procesos. Cuando un proceso recibe un mensaje Si receptor no está en SC ni quiere entrar envía OK al emisor Si receptor ya está en SC no responde Si receptor desea entrar, mira marca de tiempo del mensaje:  Si menor que marca tiempo de su mensaje de solicitud: envía OK.  En caso contrario será él el que entre. Cuando un proceso recibe todos (N-1) los mensajes puede entrar.

Algoritmo Distribuido de Ricart y Agrawala Los procesos 1 y 3 quieren acceder a la sección crítica. Los relojes lógicos son respectivamente 23 y WANTED OK 23 WANTED

Algoritmo Distribuido de Ricart y Agrawala Rendimiento: Ancho de banda:  El protocolo consume 2(N-1) mensajes. N-1 para la petición y N-1 respuestas. Si existen comunicación multicast sólo N mensajes. Retardo del cliente:  La entrada en la sección critica requiere de N-1 mensajes.  La salida no implica ningún mensaje.

Algoritmo Distribuido de Ricart y Agrawala Throughput del sistema:  Si dos procesos compiten por el acceso a la sección critica ambos habrán recibido N-2 respuestas. El de menor reloj tendrá la respuesta del otro. Al salir éste el siguiente se indicará con sólo 1 mensaje. Tolerancia a fallos:  Retardo de respuesta elevado o perdida de mensajes: Se reduce por medio de mensajes NO-OK.

Algoritmo Distribuido de Maekawa Llamado también algoritmo de votación. Análogo al algoritmo de relojes lógicos pero reduce el número de mensajes: El procesador elegido es aquel que obtiene la mitad más 1 votos. Cada procesador es consultado sobre la elección emitiendo un voto. Para reducir el número de mensajes cada uno de los procesadores que intentan acceder a la sección critica tiene un distrito ( ), tal que: De esta forma sólo se necesitan N mensajes

Algoritmo Distribuido de Maekawa

Práctica Elaborar un mapa mental con los conceptos planteados en clase.

Preguntas