In un file system UNIX i blocchi del disco hanno ampiezza di 512 byte e i puntatori ai blocchi sono a 24 bit. Gli i-node contengono, oltre agli altri attributi, 5 puntatori diretti e 2 puntatori indiretti (uno semplice e uno doppio). Il primo blocco del disco ha indice logico 0. Calcolare: 1. il numero di puntatori che possono essere contenuti in un blocco indiretto 2. l’indice logico del primo blocco e dell’ultimo blocco indirizzabili con indirizzamento indiretto semplice 3. l’indice logico del primo blocco e dell’ultimo blocco indirizzabili con indirizzamento indiretto doppio Considerato il file (aperto) individuato dal file descriptor fd, la cui lunghezza corrente (in byte) è 130.500 e il cui i-node contiene i seguenti puntatori a blocchi: Puntatore 0 1 2 3 4 5 6 Valore 100 101 102 120 121 300 301 dove i blocchi indiretti 300, 301, e 800 hanno i seguenti contenuti parziali: Blocco 300: Indice di elemento nel blocco 0 1 2 3 4 5 ... Valore del puntatore 304 305 306 307 308 309 ... Blocco 301: Indice di elemento nel blocco 0 1 2 3 4 5 ... Valore del puntatore 800 801 802 850 851 852 ... Blocco 800: Indice di elemento nel blocco 0 1 2 3 4 5 ... Valore del puntatore 1200 1201 1202 1203 1204 1205 ... Calcolare inoltre: 4. il numero di blocchi che compongono il file; 5. In quali blocchi fisici del disco sono contenuti i bytes: 1980, 3023, 90980 del file >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Soluzione: 1. il numero di puntatori che possono essere contenuti in un blocco indiretto è la parte intera di 512/3= 170 2. il primo e l’ultimo blocco indirizzabili con indirizzamento indiretto singolo hanno rispettivamente indici logici 5 e (5+ 170)- 1= 174 3. il primo e l’ultimo blocco indirizzabili con indirizzamento indiretto doppio hanno rispettivamente indici logici 175 e (175+ 170^2)- 1= 29.074 4. l’ultimo carattere del file è contenuto nel blocco (130.500 - 1) div 512= 254; quindi il file è composto da 255 blocchi 5. il byte 1980 è posizionato sul blocco logico: 1980 div 512=3, risiede sul blocco fisico: 120 il byte 3023 è posizionato sul blocco logico: 3023 div 512=5, risiede sul blocco fisico: 304 (puntatore #0 del blocco indiretto singolo) il byte 92151 è posizionato sul blocco logico: 90980 div 512=177.69 _> 178 (indice da cercare 177) , risiede sul blocco fisico: 1202 (puntatore #2 del blocco indiretto doppio)