SO s17 Ejercicios de Monitores-2

SO s17 Ejercicios - Sistemas OperativosI Ing.JorgeGarzaMurillo Sesin17 Sesin deejercicios conMonitores 2 Conceptosclave Variables tipo Condition

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

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

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

View Full DocumentRight Arrow Icon
Sesión de ejercicios con Monitores 2
Background image of page 2
Conceptos clave Variables tipo Condition Operaciones sobre las variables tipo Condition: Wait (C) y Signal (C) Procedimientos del monitor Llamadas al monitor 3
Background image of page 3

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

View Full DocumentRight Arrow Icon
Ejemplo de Monitor Proceso P0; repeat -------- ----------- M.incrementa_var ( ); -------- M.imprime_var( ); until false; Proceso P1; repeat -------- ----------- M.decrementa_var ( ); -------- -------- until false; Monitor M; var a:integer; Procedure incrementa_var( ) begin a:=a+1; end; Procedure decrementa_var( ) begin a:=a-1; end; Procedure imprime_var( ) begin print a; end; Begin a:=0; End;
Background image of page 4
Ejemplo de Monitor Proceso P0; Begin repeat M.entrar( ); a:=a+1; M.salir( ); until false; End; Proceso P1; Begin repeat M.entrar( ); a:=a-1; M.salir( ); until false; End; Monitor M; var recurso_en_uso:boolean; libre: condition; Procedure entrar( ); Begin if (recurso_en_uso) then wait(libre); recurso_en_uso:=true; End; Procedure salir( ); Begin recurso_en_uso:=false; signal(libre); End; Begin recurso_en_uso:=false; End;
Background image of page 5

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

View Full DocumentRight Arrow Icon
Ejercicio Se tiene un buffer circular con “n” posiciones de 0 a Max - 1 No se permite escribir si el buffer está lleno, ni leer si está vacío. Sólo un proceso puede leer o escribir el buffer a la vez. Nota: La exclusión mutua asociada a esta segunda condición, la garantiza automáticamente el mecanismo de Monitor. 6
Background image of page 6
Visto gráficamente: 7 SigLeer = 0 SigEscribir = 0 buffer circular 0 Max-1 1 2 3
Background image of page 7

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

View Full DocumentRight Arrow Icon
8 Monitor Buffercircular; Var Max: Integer; BufferCircular: Array [0. .Max - 1] of Cosas; Ocupados, SigEscribir, SigLeer: 0. .Max; ProcEsperaDatos, ProcEsperaEspacio:
Background image of page 8
Image of page 9
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 09/30/2011 for the course SISTEMAS O 1 taught by Professor Garza during the Spring '11 term at ITESM.

Page1 / 29

SO s17 Ejercicios - Sistemas OperativosI Ing.JorgeGarzaMurillo Sesin17 Sesin deejercicios conMonitores 2 Conceptosclave Variables tipo Condition

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

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