Sartomiki.net

  • Aumenta dimensione caratteri
  • Dimensione caratteri predefinita
  • Diminuisci dimensione caratteri
Home Appunti Sistemi operativi Costrutti di alto livello

Costrutti di alto livello

E-mail Stampa PDF
Valutazione attuale: / 0
ScarsoOttimo 

gruEsistono costrutti di alto livello che effettuano per noi la mutua esclusione. Tramite il costrutto shared T V si definisce una variabile condivisa, che può essere raggiunta solo in mutua esclusione tramite il comando region V do S. In questo modo si evitano errori.
L'esempio del produttore e consumatore con questo costrutto risulta più semplice:

typedef struct bufferbag {
shared message bufer[MAX];
sgared int p=0, r=0;
semaphore_t full=0, empty=MAX
} buffer;

Produttore
wait(b.empty;
region b.p do{
buffer[b.p]
b.p = (b.p+1)%MAX;
}
signal (b.full)

Consumatore
wai(b.full)
region b.c do{
m=buffer[b.c]
b.c=(b.c+1)%MAX;
}
signal (b.empty);


Per le immagini Ringraziamo ©ale200


blog comments powered by Disqus
 

http://sartomiki.net/modules/mod_fuofb/assets/it/find-us-on-facebook-1.png

Follow me

Amici

Chi è online

 4 visitatori online

Siti amici

Banner

Notizie flash

Il mese di maggio 2010 abbiamo segnato il nuovo record di visite mensili: 3000!

Grazie a tutti! Continuate a visitare sartomiki.net

PUBBLICITA'