.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Sistemi operativi I (http://www.dsy.it/forum/forumdisplay.php?forumid=269)
-- [bruschi]algoritmo del banchiere (http://www.dsy.it/forum/showthread.php?threadid=30779)


Posted by saradid on 19-05-2007 09:50:

[bruschi]algoritmo del banchiere

ciao a tutti,
non ho capito una cosa sull'algoritmo del banchiere.Le risorse totali del sistema sono un dato calcolato oppure e' gia' assunto?
mentre il prof spiega e dice che le risorse E sono 6342 le calcola in qualche modo?nella video lezione non lo dice...e io non capisco in che modo le ricava...
grazie
Ciao


Posted by n3o on 19-05-2007 12:09:

Sono un dato assunto...
bye!

__________________
The answer is blowing in the wind...


Posted by saradid on 20-05-2007 07:29:

grazie!!!


Posted by antares85 on 12-06-2007 15:40:

io non ho capito come funziona l'algoritmo del banchiere,tipo quello nella side 28 lez14. Qualcuno è così gentile da spiegarmelo..? (non riesco proprio a capire la relazione fra le risorse E,P,A e i numeri nelle matrici) GRAZIE!!!


Posted by mjfan80 on 12-06-2007 17:52:

vediamo di spiegarlo

prima matrice, risorse assegnate
significa che quelle risorse sono già state assegnate a quei processi
le lettere a b c d e rappresentano i processi (e non le risorse)
le colonne rappresentano le risorse, tape driver (indico con td), plotter (indico on pl), printers (indico con pr), e cd

quindi, il processo a ha già assegnato 3 td 1 pr e 1 cd
il processo b ha già assegnato 1 pl
e così via

ci sei fino a qui?


la seconda matrice rappresenta il numero di risorse che potrebbero richiedere i singoli processi
cioè... il processo a per terminare potrebbe ancora richiede 1 td e 1 pl
b pootrebbe richiedere 1 pl e 1 pr
eccetera

ok?
i numeri in parte poi, come spiegato sotto, significano
E = risorse totali, cioè quante risorse ci sono nel nostro sistema... significa in questo caso che il nostro sistema ha i totale 6 td, 3 pl, 4 pr, 2 cd

ci sei?

questi sono dati che ti vengono sempre dati
cioè ti vengono dati sempre il numero di risorse del sistema, il numero di risorse già assegnate in un dato momento, e il numero di risorse massime che il processo potrà richiedere (nel caso della slide ti da il numero di risosre che potrà ancora chiedere... il concetto è lo stesso... risorse che potrà ancora chiedere = risorse max - risorse già proprie)

P indica le risosre che il sistema si vede già occupate (sono la semplice somma dei numeri delel colonne)
quindi il sistema ha nel momento attuale già occupate 5 td (1 ad A, 3 a C e 2 a E)
e così via

A nvece rappresenta il numero di risosre disponibili (non è altro che E-P)
questei due, P e A te li devi calcolare te (ma è immediato)

da qui ora applichi l'algoritmo del banchiere



per esempio
puoi far paritre A? a necessita di 1 td e 1 pl... ma io non ho pl
puoi far partire D?
vediamo... dalla seconda matrice vedi che D richiede al massimo un altra pr... nel sistema ce ne sono disponibili ancora 2 (lo vedi da vettore A)
quindi lo puoi far partire.... il sistema sarà subito dopo in safe, perchè se poi D finisce ti rilascia 1 td, 1 pl e un CD (lo vedi dalla prima matrice)

ora con D terminato, dovresti aggiornare le due matrici... eliminando la riga D i pratica

e il vettore E rimane ovviamente invariato
E è = (6342)
P diventa (5221)
A diventa (1121)

ora potresti far partire C?
ovviamente no... passerei in uno stato non sicuro... C ha bisogno al massimo di 3 td... ma io ne ho solo 1 disponibile... se parte, le richiede tutte... vado in stallo
posso far partire B? no
posso far partire A? sì, certo, ora sì

__________________
Heal The World
Just Because You Read It In A Magazine Or You See It On A Tv Scren Don't Make It Factual


Posted by bill76 on 12-06-2007 21:07:

Scusate se approfitto volevo sapere come viene calcolato il tempo media di attesa in RR (Round Robin) vedi esempio allegato:

Esempio (quanto = 20)
Process Burst Time
P1 53
P2 17
P3 68
P4 24
Average Waiting time = (117 + 20 + 117 + 97)/4
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
0 20 37 57 77 97 117 121 134 154 162

Come li calcola i valori (tra parentesi)

Grazie a chiunque risponda

__________________
Poca osservazione e molto ragionamento portano all’errore,
molta osservazione e poco ragionamento conducono alla verità


Posted by antares85 on 13-06-2007 10:58:

grazie mille mjfan80,chiarissimo! (23 rulez ;) )


Posted by Skunk on 13-06-2007 10:59:

mhmhmhmh non mi tornano i conti...
Ma devo essere sincero non mi sono mai tornati del tuttto...

allora, assumendo che tutti arrivino all'istante 0:

P2 inizia all'istante 20 e termina subito, quindi il suo tempo d'attesa è 20

P4 inizia all'istante 57, esegue per 20, si rimette in attesa, riparte a 117 e termina, quindi attende:
57 + (117 - (57+20)) = 97

e fino a qua tutto ok...

P1 iniza a 0, esegue e si rimette in attesa, riprende a 77, e a 121 con lo stesso criterio:
0 + (77 - (0+20)) + ( 121 - (77+20)) = 81

P3 inizia a 37 esegue, riprende a 97 , riprende a 134:
37 + (97 - (37+20)) + (134 - (97+20)) = 94

quindi secondo i miei calcoli sarebbe:

(81 + 20 + 94 + 97) / 4

il tutto però si riduce ad un calcolo del genere:

P1 finisce a 134 e "lavora" per 53 --- 134 - 53 = 81
P2 finisce a 37 e "lavora" per 12 --- 37 - 17 = 20
P3 finisce a 162 e "lavora" per 68 --- 162 - 68 = 94
P4 finisce a 121 e "lavora" per 24 --- 121 - 24 = 97

Cosa c'è di sbagliato???


Posted by mjfan80 on 13-06-2007 11:16:

mi spiegate perchè parlate di rr quando stiamo discutendo del banchiere?

ps, cmq anche a me vengono i calcoli proposti da skunk, partendo dal presupposto che arrivano tutti all'istante zero

__________________
Heal The World
Just Because You Read It In A Magazine Or You See It On A Tv Scren Don't Make It Factual


Posted by Skunk on 13-06-2007 11:37:

mjfan80, hai perfettamente ragione, forse era meglio aprire un nuovo thread, ma visto che era stato richiesto, ho rifatto l'esercizio...
Mi tira un po' su di morale sapere che i calcoli non vengono così solo a me!!!


All times are GMT. The time now is 17:44.
Show all 10 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.