|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2002
Città: Prov. di Torino
Messaggi: 457
|
Help: Algoritmo del Fornaio
Ciao a tutti, il 6 aprile ho l'orale di Sistemi Operativi!
Qualcuno sa spiegarmi per benino l'algoritmo del fornaio? ---------- ALGORITMO DEL FORNAIO ------------ do { scelta[i] = true; numero[i] = max(numero[0], numero[1], … , numero[n – 1]) + 1; scelta[i] = false; for (j = 0; j < n; j++) { while (scelta[j]) ; while ((numero[j] != 0) && ((numero[j], j) < (numero[i], i))) ; } sezione critica numero[i] = 0; sezione non critica } while (1); -------------------------------------------------------- Poi vi chiederò anche per l'algoritmo dei filosofi!! Cmq per adesso preferirei capire bene questo algoritmo del fornaio!!! Grazie a tutti coloro che mi aiuteranno.... ::tony
__________________
::tony design |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
quello dei filosofi c'è sul mio Tannenbaum................quello del fornaio mi sembra di no.
Ma nn era ieri il tuo esame?
__________________
Gnu/Linux User
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: May 2002
Città: Prov. di Torino
Messaggi: 457
|
Quote:
Non sapresti spiegarmi uno dei due algoritmi!! O quello dei filosofi o quello del fornaio!! Ti ringrazio...
__________________
::tony design |
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
__________________
Gnu/Linux User
|
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: May 2002
Città: Prov. di Torino
Messaggi: 457
|
Quote:
Ti ringrazio davvero tanto...
__________________
::tony design |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Nel 1965 Dijkstra formulò e risolse il problema dei filosofi a cena(dining philosopher problem).
Il problema puo essere formulato come segue: 5 filosofi sono seduti attorno ad un tavolo tondo e ciacuno ha un piatto di spaghetti;gli spaghetti sono cosi scivolosi che per poterli mangiare ogni filosofo deve avere 2 forchette;fra ogni coppia di piatti vi è una forchetta. La vita dei filosofi alterna periodi in cui essi pensano ad altri in cui mangiano(questa è, in qualche modo, un'astrazione, persino per i filosofi, ma le altre attivita sono qui irrilevanti). Quando un filosofo comincia ad avere fame, cerca di prendere possesso della forchetta che gli sta a sinistra e di quella che gli sta a destra, una alla volta ed in ordine arbitrario. Qaulora riesca a prendere entrambe le forchette, mangia per un po' e, successivamente, depone le forchette e continua a pensare.
__________________
Gnu/Linux User
Ultima modifica di Luc@s : 07-04-2004 alle 11:49. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
ora ti posto pure il mio cod di esempio
__________________
Gnu/Linux User
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Una soluzione in C++
Codice:
#define N 5 // i filosofi
#define SINISTRA (i + N - 1)%N // numero vicino di sinistra di i
#define DESTRA (i+1)%N // numero vicino di destra di i
#define PENSANTE 0
#define AFFAMATO 1
#define MANGIANTE 2
typedef int semaforo;
int stato[N];
semaforo mutex = 1; // esclusione mutua regione critica
semaforo s[N]; // semaforo x1 filosofo
void filosofo(int i)
{
while(TRUE)
{
pensa();
prendi_forchette(i);
mangia();
posa_forchette(i);
}
}
void prendi_forchette(int i)
{
down(&mutex); // entra regione critica
stato[i] = AFFAMATO;
test(i);
up(&mutex);// esce regione critica
down(&s[i]); // si blocca se forchette nn ottenute
}
void posa_forchette(int i)
{
down(&mutex); // entra regione critica
stato[i] = PENSANTE;
test(DESTRA); // vicino destra puo mangiare??
test(SINISTRA);// vicino sinistra puo mangiare??
up(&mutex);// esce regione critica
down(&s[i]); // si blocca se forchette nn ottenute
}
void test(int i)
{
if(stato[i] == AFFAMATO && stato[SINISTRA] != MANGIANTE && stato[DESTRA] != MANGIANTE)
{
stato[i] = MANGIANTE;
up(&s[1]);
}
}
__________________
Gnu/Linux User
Ultima modifica di Luc@s : 07-04-2004 alle 12:23. |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: May 2002
Città: Prov. di Torino
Messaggi: 457
|
Guarda.. ora mi sbatto un po' e vedo per bene tutto l'algoritmo!!
Non sò come ringraziarti... sei stati davero cortese!!Grazie ::tony
__________________
::tony design |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
In + scrivendolo lo ho appreso meglio. Cmq il cod prendilo con le pinze lo ho fatto in 2 minuti al notepad.
__________________
Gnu/Linux User
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
che bellezza l'avevamo visto l'anno scorso l'algoritmo dei filosofi
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
__________________
Gnu/Linux User
|
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
Quote:
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
__________________
Gnu/Linux User
|
|
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
Quote:
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: May 2002
Città: Prov. di Torino
Messaggi: 457
|
Complimentoni Luc@s !!!
Io invece sono al secondo anno della Laurea in Informatica!!!
__________________
::tony design |
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
cmq vedo se riesco a trovare info anche sull'altro algo
__________________
Gnu/Linux User
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
Quote:
__________________
Gnu/Linux User
|
|
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
Quote:
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: May 2002
Città: Prov. di Torino
Messaggi: 457
|
Quote:
Grazie Luc@s
__________________
::tony design |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:19.


















