 | |
Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum |
Minix i-node Clicca QUI per vedere il messaggio nel forum |
lSical |
Ciao, qualcuno potrebbe spiegarmi gli esercizi fatti a lezione e presenti nelle slides sul File System(Lezione XXXII slide numero 521), precisamente:
con blocchi da 4KB, zone da 32 bit:
1) Qual'è la dimensione massima di un file con un solo blocco di overhead?
Questa dovrebbe essere 28KB da 4KB * 7(zone).
2) Per un file da 29 KB quanti blocchi occupiamo?
allora il risultato è: 8 + 2 = 10 ma non sono sicuro perchè...
fino a 28 KB uso 8------> 7 per i dati e 1 per l'inode ?
2 blocchi invece --------> 1 per l'inode ? (sarebbe lo slot Indirect Zone :?)
e l'atro blocco sarebbe il secondo blocco di overhead ??
3) Quanti blocchi sono necessari per un file da 100 MB di dati?
allora c'è il primo blocco di 7*4 KB, poi la prima indiritezza che origina il secondo blocco di 4 MB (1024 slot * 4 KB) quindi non basta
allora ho bisogno dell'indiritezza doppia che origina il terzo blocco di 4 MB che a sua volta origina 24 blocchi di 4MB per un totale di 96 MB
allora io non capisco perchè il terzo blocco origina 24 blocchi, non ne basterebbero solo 23? in questo modo avrei
92MB (23*4Mb) + 4MB (terzo blocco) + 4MB (secondo blocco) = 100 MB :?
4) Qual'è la dimensione massima di un file?
allora secondo me:
4 GB (1024 * 4 MB) dove 1024 sono i numeri di blocchi che puo indirizzare il terzo blocco e 4MB è la dimensione di ogni blocco
+ 4 MB del terzo blocco + 4MB del secondo blocco + 28 KB del primo
:? è giusto???
grazie in anticipo per le risposte :D |
LG2100 |
Premetto che non ho i risultati effettivi degli esercizi (Monga li ha fatti a lezione, ma non ho segnato i risultati sugli appunti) quindi non sono proprio sicuro, comunque secondo me:
Originally posted by lSical
Ciao, qualcuno potrebbe spiegarmi gli esercizi fatti a lezione e presenti nelle slides sul File System(Lezione XXXII slide numero 521), precisamente:
con blocchi da 4KB, zone da 32 bit:
1) Qual'è la dimensione massima di un file con un solo blocco di overhead?
Questa dovrebbe essere 28KB da 4KB * 7(zone).
2) Per un file da 29 KB quanti blocchi occupiamo?
allora il risultato è: 8 + 2 = 10 ma non sono sicuro perchè...
fino a 28 KB uso 8------> 7 per i dati e 1 per l'inode ?
2 blocchi invece --------> 1 per l'inode ? (sarebbe lo slot Indirect Zone :?)
e l'atro blocco sarebbe il secondo blocco di overhead ??
Esatto: Sono
1 blocco per l'i-node +
7 blocchi per le zone +
1 blocco di overhead per l'indirettezza singola (che contiene il riferimeto ad un solo blocco per l'ultimo KB sfigato)+
1 blocco per l'ultimo KB sfigato
totale 10
3) Quanti blocchi sono necessari per un file da 100 MB di dati?
allora c'è il primo blocco di 7*4 KB, poi la prima indiritezza che origina il secondo blocco di 4 MB (1024 slot * 4 KB) quindi non basta
allora ho bisogno dell'indiritezza doppia che origina il terzo blocco di 4 MB che a sua volta origina 24 blocchi di 4MB per un totale di 96 MB
allora io non capisco perchè il terzo blocco origina 24 blocchi, non ne basterebbero solo 23? in questo modo avrei
92MB (23*4Mb) + 4MB (terzo blocco) + 4MB (secondo blocco) = 100 MB :?
Allora, per avere 100MB servono 25*2^10 blocchi da 4KB di dati. Inoltre ogni indirettezza singola ci fornisce riferimenti a 4KB/32bit = 1024 blocchi da 4 KB per un totale di 4 MB a indirettezza, per cui di blocchi di overhead ne serviranno
1 per l'i-node +
1 per l'indirettezza singola (che contiene riferimenti a 2^10 blocchi di dati, per cui ce ne mancano ancora 24) +
1 per l'indirettezza doppia (contiene riferimenti a 2^10 indirettezze singole) +
24 indirettezze singole (per ottenere i riferimenti ai restanti 24*2^10 blocchi)
totale 27
non ho neanche contato le 7 zone... semplicemente l'ultimo indirect block considerato avrà 7 buchi vuoti in fondo (sui suoi 1024), ma questo non modifica il numero di blocchi di overhead.
4) Qual'è la dimensione massima di un file?
allora secondo me:
4 GB (1024 * 4 MB) dove 1024 sono i numeri di blocchi che puo indirizzare il terzo blocco e 4MB è la dimensione di ogni blocco
+ 4 MB del terzo blocco + 4MB del secondo blocco + 28 KB del primo
:? è giusto???
Secondo me sono 4GB (double indirect block, 1024*1024*4KB) + 4MB (single indirect block) + 28KB (7 zone) |
Johnny88 |
e quindi con la tripla indirettezza 4 TB (anche se l'FS di minix non supporta la terza)+ 4GB (double indirect block, 1024*1024*4KB) + 4MB (single indirect block) + 28KB (7 zone)? |
LG2100 |
Originally posted by Johnny88
e quindi con la tripla indirettezza 4 TB (anche se l'FS di minix non supporta la terza)+ 4GB (double indirect block, 1024*1024*4KB) + 4MB (single indirect block) + 28KB (7 zone)?
Penso proprio di sì, ma forse ci sono altri generi di limitazioni |
lSical |
Ciao, allora intanto grazie LG2100 della risposta :-D !(ieri il mio account non andava :D) , ora credo di aver capito, ho solo una domanda:
Originally posted by LG2100
Secondo me sono 4GB (double indirect block, 1024*1024*4KB) + 4MB (single indirect block) + 28KB (7 zone)
il terzo blocco di overhead non lo conti perchè ti serve per indirizzare i 1024 blocchi originati appunto dalla double indirect block ?
Ps: oggi al compitino c'era un esercizio simile... calcolare il numero di blocchi necessari per un file di 10 MB , con ogni blocco di dimensioni 4096 B e indirizzi di 64 bit.( o qualcosa di simile :D)
che risposta avete dato all'esercizio? |
LG2100 |
Facendo il ragionamento che ho scritto sopra mi veniva 2567.... che non era tra le risposte!:arg: :wall: :wall: Per cui o ho sbagliato a contare, o non ho capito una ceppa o il testo dell'esercizio era sbagliato (dubito fortemente :asd: ) |
lSical |
si comunque, anche secondo me era diverso perchè nell'esercizio fatto a lezione alla fine ha contato l'insieme degli slot come blocco... oggi invece si dovevano contare gli slot? ... :D :?
comunque io ho risposto 2562 o 2563 non mi ricordo più :D |
xSharKMaNx |
Allora, per avere 100MB servono 25*2^10 blocchi da 4KB di dati. Inoltre ogni indirettezza singola ci fornisce riferimenti a 4KB/32bit = 1024 blocchi da 4 KB per un totale di 4 MB a indirettezza, per cui di blocchi di overhead ne serviranno
1 per l'i-node +
1 per l'indirettezza singola (che contiene riferimenti a 2^10 blocchi di dati, per cui ce ne mancano ancora 24) +
1 per l'indirettezza doppia (contiene riferimenti a 2^10 indirettezze singole) +
24 indirettezze singole (per ottenere i riferimenti ai restanti 24*2^10 blocchi)
totale 27
non ho neanche contato le 7 zone... semplicemente l'ultimo indirect block considerato avrà 7 buchi vuoti in fondo (sui suoi 1024), ma questo non modifica il numero di blocchi di overhead.
Ho bisogno del vs. aiuto, perchè credo o di non averle viste o di essermi perso la lezione al serale.
allora:
100 MB = 102400 KB
102400 KB / 4 KB = 25600 = 25*2^10
[blocchi dedicati ai dati]
32 bit = 4byte
4 KB = 4096byte
4096b / 4b = 1024
[in ogni blocco ci sono 1024 indirizzi]
qui ho bisogno del vs. aiuto.
Da qualche parte ci sono delle slide che spiegano tutto ciò?
Grazie ragazzi |
Spr1gg4N |
occhio che in quell'esercizio sono stati contati solo i blocchi di overhead e non il numero totale di blocchi che servono per salvare il file |
LG2100 |
Se hai bisogno di una descrizione generale dell'i-node vai a pag. 502-503 del libro |
xSharKMaNx |
cercherò su internet, grazie! |
LG2100 |
Ad ogni modo, in breve ciò che ti serve sapere per risolvere gli esercizi è che
Un i-node contiene
- una serie di attributi del file di cui non ti importa nulla
- un certo numero di indirizzi (normalmente 7 zone) a blocchi in cui è effettivamente memorizzato il contenuto del file. Sono normalmente di 32bit, se non altrimenti specificato
- un indirizzo di un indirect block, che è un blocco che contiene SOLO riferimenti a zone (la dimensione di ogni indirizzo è la stessa delle 7 zone di cui sopra). Per ottenere il numero di blocchi indirizzati dall'indirect block si farà dunque n = dimensione_blocco/dimensione_indirizzo
- un indirizzo di un double indirect block. Funziona come l'indirect block, però contiene riferimenti a n indirect block, che a loro volta conterranno riferimenti a n blocchi.
|
xSharKMaNx |
Originally posted by LG2100
Ad ogni modo, in breve ciò che ti serve sapere per risolvere gli esercizi è che
Un i-node contiene
- una serie di attributi del file di cui non ti importa nulla
- un certo numero di indirizzi (normalmente 7 zone) a blocchi in cui è effettivamente memorizzato il contenuto del file. Sono normalmente di 32bit, se non altrimenti specificato
- un indirizzo di un indirect block, che è un blocco che contiene SOLO riferimenti a zone (la dimensione di ogni indirizzo è la stessa delle 7 zone di cui sopra). Per ottenere il numero di blocchi indirizzati dall'indirect block si farà dunque n = dimensione_blocco/dimensione_indirizzo
- un indirizzo di un double indirect block. Funziona come l'indirect block, però contiene riferimenti a n indirect block, che a loro volta conterranno riferimenti a n blocchi.
Ti ringrazio! |
|
|
|
|