Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 INFORMATICA - Primo Anno
 Sistemi Operativi
 Algoritmo di Peterson

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
Altamaru Inserito il - 05/07/2010 : 17:40:28
Nelle dispense trovate su questo forum l'algoritmo di Peterson è così definito:

var flag: array [0 .. 1] of boolean;
turno: 0 .. 1;
procedure P0;
begin
repeat
flag [0] := true;
turno := 1;
while flag [1] and turno = 1 do { nulla };
< sezione critica >;
flag [0] := false;
< resto del programma >
forever
end;
procedure P1;
begin
repeat
flag [1] := true;
turno := 0;
while flag [0] and turno = 0 do { nulla };
< sezione critica >;
flag [1] := false;
< resto del programma >
forever
end;
MAINProgram
begin
flag [0] := false;
flag [1] := false;
turno := 1;
parbegin
P0; P1
parend
end


e viene spiegato così:
P0 dà a P1 il turno=1, prima che quest'ultimo entri nella sezione critica.
P1 entrerà nella sezione critica non solo se turno=1 ma solo se anche flag[1] è vero.
Quando poi P1 esce dalla sezione critica, sposta flag[1] a falso.
In questo momento P0 che aveva dato il turno a P1 vedendo flag[1] falso ed avendo ottenuto
turno=0 da P1 prima che questi entrasse nella sezione critica, è ora nelle condizioni di entrare nella
sezione critica.

La parte in grassetto non è sbagliata?
Per uscire dal ciclo di while non basta che sia negata almeno una delle due condizioni? Quindi in pratica dovrebbe essere:
P1 entrerà nella sezione critica sia se turno=1 sia se flag[1] è vero.
1   U L T I M E    R I S P O S T E    (in alto le più recenti)
Marsigliese Inserito il - 16/07/2010 : 22:04:28
quegli argomenti ti conviene vederli ddallo stallings....tanto lui da li li ha presi per le slide....E NON CI SONO ERRORI

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,06 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000