Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi N - Z > Sistemi operativi I > esercizio scritto giugno 09
  Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
zigio
.amico.

User info:
Registered: Feb 2008
Posts: 23 (0.00 al dì)
Location:
Corso:
Anno:
Time Online: 7:07:01: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
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

30-06-2009 17:13
Click Here to See the Profile for zigio Click here to Send zigio a Private Message Find more posts by zigio Add zigio to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
alby858585
.amico.

User info:
Registered: Jun 2008
Posts: 29 (0.00 al dì)
Location: milano
Corso: informatica
Anno: 4
Time Online: 13:06:28 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

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

07-07-2009 12:39
Click Here to See the Profile for alby858585 Click here to Send alby858585 a Private Message Find more posts by alby858585 Add alby858585 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
zigio
.amico.

User info:
Registered: Feb 2008
Posts: 23 (0.00 al dì)
Location:
Corso:
Anno:
Time Online: 7:07:01: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
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

07-07-2009 14:47
Click Here to See the Profile for zigio Click here to Send zigio a Private Message Find more posts by zigio Add zigio to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 22:12.    Post New Thread    Post A Reply
  Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.093 seconds (57.23% PHP - 42.77% MySQL) con 25 query.