.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)
-- esercizio scritto giugno 09 (http://www.dsy.it/forum/showthread.php?threadid=38725)


Posted by zigio on 30-06-2009 17:13:

esercizio scritto giugno 09

Ciao a tutti! Qualcuno sa come va fatto questo esercizio (prova di giugno):


calcolare il numero di blocchi necessari per un file di 10 MB , con ogni blocco di dimensioni 4096 B e indirizzi di 64 bit.

risposte possibili: 2561, 2562, 2563, 2565, 2564


Posted by alby858585 on 07-07-2009 12:39:

Allora ho provato a svolgere questo esercizio ma il risultato non torna (sicuro che i possibili risultati che hai messo sono corretti??)

L'ho pensato così:

- File: 10MB
- Blocco: 4KB -> che corrisponde a 4096B = 32768 bit
- Indirizzi:64 bit

Dato che un inode punta direttamente ad un massimo di 7 blocchi di memoria (7*4096B = 28KB) quei blocchi sono inutili perchè non riescono a contenere l'intero file.

A queso punto provo ad usarlo con 1 grado di indirettezza:
- l'inode punta ad un blocco composto da 32768bit/64bit = 512 linee (blocchi indirizzabili). 512 * 4096B = 2MB e quindi anche con un grado di indirettezza non riesco a salvare l'intero file.

Ora provo con una doppia indirettezza:
- abbiamo l'inode che punta ad un blocco di 512 indirizzi (stesso calcolo fatto prima); questi indirizzi puntano ad altri 512 blocchi che, a loro volta puntano a 512 blocchi di memoria fisica ma, di questi ultimi, ne utilizzo solo 5:

ogni blocco punta quindi a 2MB del file (512*4096), quindi 2MB * 5 = 10MB

quindi in totale uso: 512x5 + 5 blocchi + 1 (il blocco cui punta l'inode) = 2566 che, come puoi vedere, non corrisponde a nessuna delle possibili risposte.

Il procedimento mi sembra corretto...c'è da capire solo il numero di blocchi esalti da contare.... non so...se qualcuno ha qualche idea la esponga plz, l'esame è tra meno di una settimana e mi piacerebbe arrivarci un minimo preparato :D


Posted by zigio on 07-07-2009 14:47:

esercizio blocchi

Riporto la risposta di un mio collega
Esercizio:

calcolare il numero di blocchi necessari per un file di 10 MB , con ogni blocco di dimensioni 4096 B e indirizzi di 64 bit dove ogni i-node aveva 7 locazioni per l'indirizzamento diretto


Comunque, procediamo:
Con indirizzi a 64bit, ogni indirizzo sono 8B, quindi in ogni blocco ci stanno 512 indirizzi

Il file è di 10MB = 10240KB = 10485760B, quindi per l'archiviazione dei soli dati sono necessari 10485760B / 4096B/blocco = 2560 blocchi

1 blocco è usato dall'i-node, che punta a 7 blocchi, ne restano da puntare 2553
1 blocco è usato dall'indirizzamento ad una indirezione, che punta altri 512 blocchi, ne restano 2041
1 blocco è usato dal primo stadio dell'indirizzamento a doppia indirezione, cui fanno capo
4 blocchi per puntare altri 2048 blocchi, di cui 7 indirizzi resteranno liberi

Facendo i conti, 2560 + 1 + 1 + 1 + 4 = 2567, non è tra le risposte, mi sa che avevano fatto una cappella... infatti, se immaginiamo indirizzi a 32 bit, ogni indirizzo sono 4B, quindi in ogni blocco ci stanno 1024 indirizzi.

Sempre 2560 blocchi per i dati, restano i metadati
1 blocco è usato dall'i-node, che punta a 7 blocchi, ne restano da puntare 2553
1 blocco è usato dall'indirizzamento ad una indirezione, che punta altri 1024 blocchi, ne restano 1529
1 blocco è usato dal primo stadio dell'indirizzamento a doppia indirezione, cui fanno capo
2 blocchi per puntare altri 2048 blocchi, di cui 505 indirizzi resteranno liberi

Totale, 2560 + 1 + 1 + 1 + 2 = 2565


All times are GMT. The time now is 20:46.
Show all 3 posts from this thread on one page

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