Sistemas Distribuidos



Documentos relacionados
Concurrencia Espera Activa. Guillermo Román Díez

Secciones críticas y exclusión mutua

UNIDAD 3 MEMORIA COMÚN. El problema de exclusión mutua

Sistemas Operativos. Concurrencia. Concurrencia de procesos. Concurrencia de procesos. Ejecución simultánea de procesos.

SISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS. Procesos concurrentes y problemas en la comunicación y la sincronización

un programa concurrente

Modelo de Cómputo. Programación concurrente

Concurrencia de Procesos

Programación de Sistemas Concurrentes y Distribuidos 1 a Convocatoria curso 12/13

Teoría de Sistemas Operativos Sincronización Procesos

Sincronización de Procesos

Algoritmos y Estructuras de Datos

Asignaturas antecedentes y subsecuentes

Puebla, Pue a 4 de Junio del Programación Concurrente y Paralela

Concurrencia, exclusión mutua y sincronización. Capítulo 5 HungriaBerbesi

Level 1 Spanish, 2013

Examen de Programación Concurrente - Clave: a Junio 2008 Departamento de Lenguajes, Sistemas Informáticos e Ingeniería del Software.

Concurrencia Condiciones de Carrera. Guillermo Román Díez

SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009

SEMAFOROS. if hay procesos suspendidos en este semáforo then despertar a uno de ellos else S = S + 1

Sistemas Operativos. Características de la Multiprogramación. Interacción entre Procesos. Características de la Multiprogramación

IE12_ CONSOLIDACIÓN Y DESARROLLO DE NUEVAS TÉCNICAS DE EVALUACIÓN INTENSIVAS ON-LINE YA IMPLEMENTADAS POR EL GIE E4

Ingreso a DatAcademy mediante Telefónica Accounts. Versiones: Español / Ingles Guía de usuario / User Guide

Curso de Introducción a R Módulo 4: simulaciones estocásticas

Repaso de funciones exponenciales y logarítmicas. Review of exponential and logarithmic functions

Programación concurrente

Real Time Systems. Part 2: Cyclic schedulers. Real Time Systems. Francisco Martín Rico. URJC. 2011

Puedo ir al baño? Review Packet

Level 1 Spanish, 2014

Introducción a los sistemas de Multiprocesamiento Prof. Gilberto Díaz

Fun with infinitives

MANUAL DE INSTRUCCIONES TECLADO PARA TABLETA ACC-5188TKB

Grafo acíclico orientado cuyos nodos corresponden a sentencias individuales.

SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009

Primitivas de Sincronización (continuación) MONITORES: Primitiva de alto nivel, es a nivel de lenguajes como: ADA, PASCAL, JAVA.

PRÁCTICO 4. La evaluación de una expresión sólo debe esperar por la evaluación de sus subexpresiones.

Sistemas operativos. Comunicación y sincronización de procesos

El teclado viene pre-cargado de fábrica pero es recomendable cargarlo completamente la primera vez que lo utilices.

Learning Masters. Early: Animal Bodies

Programación lineal Optimización de procesos químicos DIQUIMA-ETSII

Concurrencia y Paralelismo

Tema 1. Introducción a la. Programación Concurrente

Irregular Preterite. There are several irregular verbs in the preterite. In this presentation, we ll take a look at the most important ones.

Diseño de algoritmos paralelos

SAMPLE EXAMINATION BOOKLET

Sistemas Operativos (Parte 2)

TU EMBARAZO Y EL NACIMIENTO DEL BEBE GUIA PARA ADOLESCENTES EMBARAZADAS TEEN PREGNANCY AND PARENTI

Secciones críticas y exclusión mutua

Mensajes. Interbloqueo

Acceso coordinado a recursos compartidos

BEGINNING BAND PRACTICE JOURNAL #3 Also available online

5.2 LA FUNCION EXPONENCIAL. Copyright Cengage Learning. All rights reserved.

Hipótesis. Teoria del Aprendizaje Computacional

UNIT 2 DIVISIBILITY 1.- MULTIPLES AND FACTORS Concept of multiple Concept of factor

FORMAT B1 SPEAKING EXAM

Agustiniano Ciudad Salitre School Computer Science Support Guide Second grade First term

*** S O L U C I O N E S ***

Online Registration Inscripción Electrónica

Nombre: Pick an item that is special to you (food, place, object) and describe it by filling in each square with at least 5 details.

Sample Parental Consent Letters

PRACTICE EXAMEN: A la una incomplete

Pretérito irregular. There are several irregular verbs in the preterite. In this presentation, we ll take a look at the most important ones.

Genero y Numero del Sustantivo Gender and Number of a Noun

Lección 7: Sincronización de procesos El problema de la sección crítica

Flashcards Series 2 Las Necesidades de la Vida

Intersección de Segmentos de Recta (2) Geometría Computacional, MAT-125

PELICULAS CLAVES DEL CINE DE CIENCIA FICCION LOS DIRECTORES LOS ACTORES LOS ARGUMENTOS Y LAS ANECD

Actividad 1. Actividad 2 AUDIO. a. Me llamo b. Muy bien, gracias. 2. c. Regular. 3. d. Mucho gusto. 4. e. Igualmente. 5. f. Hasta mañana. 6.

SPANSIH WITH PAUL MINI COURSE 6

Level 1 Spanish, 2012

Modificación de la ENS acorde con la KEL 28

Microprocesadores, Tema 8:

2007 Mexico Road Atlas "Por Las Carreteras De Mexico" By Guia Roji (Spanish Edition) By Guia Roji

Programación Concurrente y Distribuída Estado Compartido, 2010

Sincronización de procesos

Microsoft Office Word

CONCURRENCIA. Sincronización. Sistemas Operativos y Distribuidos. Prof. Javier Echaiz 1. Material Adicional (SOSD Mod 4)

Comentario Exegético Al Texto Griego Del Nuevo Testamento: Santiago (Spanish Edition) By Zondervan READ ONLINE

FORMAT B2 SPEAKING EXAM

Transcripción:

Sistemas Distribuidos Exclusion Mutua: Memoria Compartida. Ramiro De Santiago Lopez. 28/01/2014

Exclusion Mutua (ME) Un proceso excluye temporalmente a todos los demás para usar un recurso compartido. Sección Crítica (CS).

Exclusion Mutua (ME) ME1. Exclusion Mutua ME2. Libre de deadlock ME3. Avance Algoritmo

Memoria Compartida Puede ser accedida por múltiples procesos (Pi) P2 P1 Memoria Compartida Comunicacion entre Procesos P5 P3 P4

Soluciones en el modelo Memoria Compartida El matemático holandés Dekker fue el primero en proponer una solución a la exclusión mutua. Operaciones atomicas de escritura-lectura. Desarrollo 5 versiones de su algoritmo. La versión 5 es la que trabaja más eficientemente, siendo una combinación de la 1 y la 4

Primera Solucion Algoritmo para dos procesos bandera[0] = false bandera[1] = false p0: bandera[0] = true while( bandera[1]); //no hace nada; espera. // sección crítica // fin de la sección crítica bandera[0] = false Presencia de interbloqueo. p1: bandera[1] = true while( bandera[0] ); //no hace nada; espera. // sección crítica // fin de la sección crítica bandera[1] = false

PETERSON S ALGORITHM Preba de no deadlock (ME2) (por contradiccion). (flag[1] turn = 1) (flag[0] turn = 0) pero, (turn = 1) (turn = 0) = false Por lo tanto deadlock es imposible.

PETERSON S ALGORITHM Preba de Exclusion Mutua (ME1). Supongamos que p0 esta en la Seccion Critica. P1 tiene que esperar a que p0 termine la seccion critica

PETERSON S ALGORITHM Preba de Avance(ME3). Supongamos que p0 esta en la Seccion Critica. p1 esta en espera para entrar en la CS Eventualmente, p0 saldra de la CS y pondra flag[0] = false dando la oportunidad a p1 de entrar en la CS

EXCLUSION MUTUA USANDO INSTRUCCIONES ESPECIALES

TEST-AND-SET TS(r, x) TS(r, x) es una operacion atomica definida como r := x; x := 1; Instrucciones de este tipo son conocidas como instrucciones read modify write (RMW).

TEST-AND-SET TS(r, x) Using TS, the mutual exclusion problem can be solved for N processes (N > 1) as follows. All TS operations are serialized, the first process that executes the TS instruction enters its CS

LOAD-LINKED AND STORECONDITIONAL DEC Alpha introduced the special instructions LoadLinked (LL) and Storeconditional (SC) Unlike TS, LL and SC are not atomic RMW operations. x is a shared integer and r is a private integer local to a process

LOAD-LINKED AND STORECONDITIONAL LL(r, x) is like a machine instruction load (i.e., r := x). x SC(r, x) is like a machine instruction store (i.e., x := r). r If SC succeeds, returning a value 1 into r, else r=0;

LOAD-LINKED AND STORECONDITIONAL

THE GROUP MUTUAL EXCLUSION PROBLEM Instead of trying to enter their individual critical sections, processes opt to join distinct forums. In any time at most one forum should be in session. Any number of processes should be able to join the forum at a time. An example is that of a movie theater.

THE GROUP MUTUAL EXCLUSION PROBLEM Is a combination of the classical mutual exclusion problem and the readers and writers problem.

Referencias Distributed Systems: An Algorithmic Approach.Sukumar Ghos. Chapman & Hall/CRC, Taylor & Francis Group, LLC (2007). Ch7. Peterson's algorithm. http://en.wikipedia.org/wiki/peterson's_algorithm. EXCLUSION MUTUA. http://www.cs.buap.mx/~mceron/cap4_dis.pdf Gestión de Procesos. http://www.infor.uva.es/~fjgonzalez/apuntes_aso/tema1.pdf. http://in.unsaac.edu.pe/~ecarrasco/sistop/presentaciones/cap05-concurrencia.pdf. Exclusion Mutua. http://www.webprogramacion.com/44/sistemas-operativos/exclusion-mutua.aspx. Sistemas Operativos. Esclusion Mutua. http://sistemaoperativo.wikispaces.com/exclusion+mutua Bloqueo Mutuo. http://es.wikipedia.org/wiki/bloqueo_mutuo. Sistemas Operativos. http://florysel.blogspot.mx/2012/11/243-interbloqueo-deadlock.html. Concepts of Concurrent Computation Concepts of Concurrent Computation http://se.inf.ethz.ch/courses/2013a_spring/ccc/lectures/03_synchronization_algorithms.pdf. Concepts of Concurrent Computation http://cs.uns.edu.ar/~pmd/sosd/downloads/material%20adicional/slides/04-sincronizacionextras.pdf. Test-and-set. http://en.wikipedia.org/wiki/test-and-set Load-link/store-conditional. http://en.wikipedia.org/wiki/load-link/store-conditional Memoria compartida. http://es.wikipedia.org/wiki/memoria_compartida.