09/05/10 20:37
yoghi87
Salve, sto facendo un programma riguardante il multithread e mi sono
bloccato nell'implementare un oggetto che simula un disco magnetico e
in pratica deve essere:
-un oggetto condiviso tra gli n thread ed il GESTORE_DISCO.
-dovrà emulare un comune disco magnetico e sarà costituito da un
numero
di cilindri pari a 1000. Ogni cilindro, a sua volta, sarà costituito
da 1000 settori per un totale
di1000000di settori. In particolare, i settori saranno numerati in
modo progressivo così che,
ad esempio, il cilindro numero 3 conterrà i settori di indice compreso
tra 3000 e 3999, il
cilindro numero 4 conterrà i settori di indice compreso tra 4000 e
4999 e così via.
Il disco sarà caratterizzato da un tempo di ricerca (seek_time), cioè
il tempo necessario
affinché il braccio dell’unità disco sposti le testine fino al
cilindro contenente il settore
desiderato, pari a 1ms/cilindro. Questo significa che per spostare le
testine dal cilindro 128
al cilindro al cilindro 110 saranno necessari (128-110)*1ms = 18ms. La
latenza di rotazione
del disco sarà considerata trascurabile.
Nella fase iniziale, le testine del disco saranno posizionate sul
cilindro numero 0.
mi potete dare degli spunti... grazie....
bloccato nell'implementare un oggetto che simula un disco magnetico e
in pratica deve essere:
-un oggetto condiviso tra gli n thread ed il GESTORE_DISCO.
-dovrà emulare un comune disco magnetico e sarà costituito da un
numero
di cilindri pari a 1000. Ogni cilindro, a sua volta, sarà costituito
da 1000 settori per un totale
di1000000di settori. In particolare, i settori saranno numerati in
modo progressivo così che,
ad esempio, il cilindro numero 3 conterrà i settori di indice compreso
tra 3000 e 3999, il
cilindro numero 4 conterrà i settori di indice compreso tra 4000 e
4999 e così via.
Il disco sarà caratterizzato da un tempo di ricerca (seek_time), cioè
il tempo necessario
affinché il braccio dell’unità disco sposti le testine fino al
cilindro contenente il settore
desiderato, pari a 1ms/cilindro. Questo significa che per spostare le
testine dal cilindro 128
al cilindro al cilindro 110 saranno necessari (128-110)*1ms = 18ms. La
latenza di rotazione
del disco sarà considerata trascurabile.
Nella fase iniziale, le testine del disco saranno posizionate sul
cilindro numero 0.
mi potete dare degli spunti... grazie....
aaa