SO s12 Sincronización - Soluciones de software

SO s12 Sincronización - Soluciones de...

Info iconThis preview shows pages 1–11. Sign up to view the full content.

View Full Document Right Arrow Icon
Sistemas Operativos I Ing. Jorge Garza Murillo Sesión 12
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Sincronización de procesos Soluciones de software basadas en código del programador 2
Background image of page 2
3 Herramientas de sincronización Software Hardware Test-and-set Semáforos (Sistemas operativos) Código fuente de usuario Monitores (lenguajes de programación)
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Conceptos clave Algoritmos para sincronización de 2  procesos: Algoritmo 1 Algoritmo 2 Algoritmo 3 Algoritmo del Repostero 4
Background image of page 4
Algoritmo 1 (2 procesos) 5 Shared variables:  Var  turn : (0. .1); initially  turn  = 0 Turn  =  i     P i  can enter its critical section Process  P i repeat while  turn     i  do  no-op ;      critical section turn  :=  j  ; reminder section until  false ;
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
6 Algoritmo 1  (2 procesos) turn = 0 counter = n Repeat while turn < > 0 do no-op; counter = counter + 1; turn = 1; until false; Process P 0 Process P 1 Repeat while turn < > 1 do no-op counter = counter - 1; turn = 0; until false;
Background image of page 6
7 Consideraciones importantes en  sincronización No puedo hacer ninguna suposición sobre la velocidad relativa de los procesos concurrentes (debo poder manejar cualquier caso). La sección crítica puede ser del tamaño de se requiera (puede ser 1 instrucción o 10,000 instrucciones, no hay límite). Las técnicas de sincronización de procesos que vamos a aprender, no modelan tiempo (no permiten representar tiempo).
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
8 Algoritmo 1  (2 procesos) Analizando el algoritmo 1: ¿Qué pasa si el proceso P0 quiere entrar primero a su SC? ¿Qué pasa si el proceso P1 quiere entrar primero a su SC? ¿Qué pasa si ambos procesos quieren entrar al mismo tiempo a su SC?
Background image of page 8
Pasos para el análisis de soluciones 1. Si Proceso 0 está en su SC, entonces  el proceso 1  no debe poder entrar. 2. Si Proceso 1 está en su SC, entonces el  proceso 0  no debe poder entrar. 3. Si se asume la ejecución paralela de los 2 procesos, sólo 1 proceso debe entrar a su SC. 4. Si ningún proceso está en su SC y alguno quiere  entrar, debe poder hacerlo. 9
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
10 Algoritmo 2 (2 procesos) flag[0]=false; flag[1]=false; counter=n Process P 0 Process P 1 Repeat flag[0]:=true while flag[1] do no-op; counter = counter + 1; flag[0]:=false; until false; Repeat flag[1]:=true while flag[0] do no-op; counter = counter - 1; flag[1]:=false; until false;
Background image of page 10
Image of page 11
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

Page1 / 36

SO s12 Sincronizaci&Atilde;&sup3;n - Soluciones de...

This preview shows document pages 1 - 11. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online