critical regions
play

Critical Regions High level synchronization construct A shared - PowerPoint PPT Presentation

Critical Regions High level synchronization construct A shared variable of type T, is declared as: var v : shared T; Variable v is accessed only inside statement: region v when B do S; Where B is a boolean expression


  1. Critical Regions ● High level synchronization construct ● A shared variable of type T, is declared as: ● var v : shared T; ● Variable v is accessed only inside statement: ● region v when B do S; ● Where B is a boolean expression ● While statement S is being executed, no other process can gain access to variable v

  2. Critical regions ● Regions to the same shared variable exclude each other in time ● When a process tries to execute the region statement, it gains access to shared variables, evaluates the boolean expression B, if true then proceed to statement S, else the process is delayed until no other process is accessing the shared region and B is true

  3. Example, Bounded Buffer ● Shared variables ● Var buffer: shared record – pool: array[ 0..n-1 ] of item; – count, in, out : integer; ● Producer process inserts nextp into shared buffer: ● Region buffer when count < n do { – pool[ in ] := nextp; – in := in + 1 mod n; count := count + 1; ● }

  4. Example, Consumer ● Consumer process removes an item from the shared buffer and puts it in nextc: ● Region buffer when count < 0 do { – nextc := pool[ out ]; – out := out + 1 mod n; count := count - 1; ● }

  5. Ejemplos ● Agua ● Barbero dormilón ● El puente angosto ● Capacidad máxima ● Intercambio de sentido ● Misioneros y caníbales ● Utilización de los baños ● Supersticioso ● Fumadores (Patil)

  6. Ejemplos ● Robot ● Bar ● Santa Claus ● Blanca nieves

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend