Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Sistemi Operativi, 9 CFU => Topic started by: Gam on 20-07-2011, 15:37:24



Title: Dubbio su gestione blocchi liberi
Post by: Gam on 20-07-2011, 15:37:24
Salve,
studiando la gestione dei blocchi liberi sul Tanembaum a pag. 383 non sono riuscito a capire perchè nel caso di liste libere i blocchi di questa sono 16794; analogamente non ho capito nemmeno che ragionamento il libro fa per ricavarsi i 2048 blocchi della bitmap, a seguire.

Qualcuno di voi ha capito come si ci arriva?

Grazie.


Title: Re:Dubbio su gestione blocchi liberi
Post by: Geko on 20-07-2011, 16:22:31
Di quale versione del Tanenbaum parli?

GC


Title: Re:Dubbio su gestione blocchi liberi
Post by: Fabiux on 20-07-2011, 16:26:29
per quanto riguarda la bitmap il ragionamento che fa è il seguente : (2^24) / 8192. Dove 2^24 sono il numero di blocchi del disco che è di 16 GB ...  1 KB che è la dimensione del blocco ed  è formato da 8192 bit ... quindi in totale viene 2048 blocchi . per la lista dei blocchi liberi non ci sono arrivato al ragionamento che fa il testo :)


Title: Re:Dubbio su gestione blocchi liberi
Post by: Gam on 20-07-2011, 16:40:08
1 KB che è la dimensione del blocco ed  è formato da 8192 bit

non ti ho capito bene con quello che hai scritto qui

EDIT:

scusami, errore mio.. ho capito

Grazie


Title: Re:Dubbio su gestione blocchi liberi
Post by: francesco89b on 25-07-2011, 17:34:48
Salve,
studiando la gestione dei blocchi liberi sul Tanembaum a pag. 383 non sono riuscito a capire perchè nel caso di liste libere i blocchi di questa sono 16794; analogamente non ho capito nemmeno che ragionamento il libro fa per ricavarsi i 2048 blocchi della bitmap, a seguire.

Qualcuno di voi ha capito come si ci arriva?

Grazie.

 Abbiamo un HD da 16gb (2^34 byte) e mettendo la dimensione del blocco è 1KB (2^10 byte)

Numero di blocchi da 1kb in un hd da 16gb= 2^34/2^10=2^24 blocchi

Ogni indirizzo del blocco occuperà 32 bit e in un blocco da 1kb ci entreranno esattamente

1kb=8kbit=2^13 bit

2^13/32= 256 indirizzi di blocco per ogni blocco di cui uno dovra però essere utilizzato per indicare l'indirizzo del prossimo blocco contenete gli altri indirizzi dei blocchi liberi per cui per ogni blocco conterra 255 indirizzi

Al massimo con 16gb potremmo avere 2^24 blocchi liberi

considerando che in ogni blocco  da 1kb entrano 255 indirizzi di blocco da 32bit al massimo utilizzereno
2^24/255~=65793 blocchi

Invece il libro ne indica 16794 e sinceramente non riesco a capire il perchè  :boh :boh

Per quanto riguarda la matrice bitmap ipotizzala nel caso siano un singolo vettore di 2^24 bit (uno per blocco) in cui il bit a 0 indica blocco non allocato e bit a 1 allocato ( o anche viceversa) e ovvio che questo vettore di 2^24 elementi da 1 bit occuperà 2^24 bit =2^21 byte =2^11 kbyte

E se ogni blocco è di 1 kb come nell'esempio questo vettore occupera esattamente 2^11 blocchi ovvero 2048 blocchi

 :-ciao :-ciao