Visualizza messaggio singolo
Vecchio 21-07-2004, 22.33.35   #244
Alhazred
Made in Japan
Top Poster
 
L'avatar di Alhazred
 
Registrato: 04-07-2001
Messaggi: 4.461
Alhazred promette bene
Gestire un solo accesso al semaforo va bene, ma è gestire continui accessi e rilasci che diventa difficoltoso e non lo è tanto lo schema mentale, quello l'ho ben chiaro, il fatto è che in time-sharing possono accadere cose alquanto bizzarre. Il mio problema è essere sicuro che in ogni momento in memoria condivisa ci sia il processo giusto. Nel caso della mia battaglia navale le due istanze dovranno scambiarsi dati e permettere o proibire all'altro di entrare in sezione critica senza un input dell'utente, ma gestirsi autonomamente.
Per ora sono orientato all'uso di due semafori, sem[0] per permettere o proibire alla prima istanza di accedere alla memoria condivisa e sem[1] per la seconda, la gestione sto pensando di farla in modo che sarà P1 ad occupare sem[0] quando gli serve, ma dovrà poi essere P2 a liberarlo quando avrà finito il suo lavoro in memoria condivisa e viceversa per sem[1].
Al momento mi sembra la soluzione più semplice, staremo a vedere con l'andare avanti del codice se è la pensata giusta o se dovrò rivedere tutto.
Alhazred non è collegato   Rispondi citando