Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Sistemi Operativi, 9 CFU => Topic started by: zElOtO on 25-09-2012, 18:21:12



Title: Esercizio compito
Post by: zElOtO on 25-09-2012, 18:21:12
Oggi nel compito c'era un esercizio tipo:

Quote
Facendo uso di una lista concatenata, che ha blocchi da 4kb e un numero di blocco di 32bit, quanti blocchi occorrono per memorizzare un file da 40kb?

Qualcuno può illustrarmi il procedimento per la risoluzione di tale esercizio?


Title: Re:Esercizio compito
Post by: کtεvЭ on 30-01-2013, 13:17:47
Io ho provato a farlo così, però non so se sia corretto.

Il mio ragionamento è questo:

Un blocco  della lista è di 4KB, ovvero 4 * 2^10 byte.
Ogni blocco della lista concatenata ha un solo puntatore che specifica il numero del blocco successivo.
Questo numero è di 32bit, ovvero di 4byte.
Dunque ogni blocco della lista ha uno spazio per i dati di:

 ( 4 * 2^10  -  4 )byte = (4*1024 - 4)byte = (4096 - 4)byte = 4092byte.

Il file è di 40KB, quindi (40 * 2^10) byte = 40960byte.

La dimensione del file diviso lo spazio disponibile per ogni blocco è: 40960 / 4092 = 10.01.

Sono serviti poco più di 10 blocchi, cioè 11 blocchi.


Title: Re:Esercizio compito
Post by: zElOtO on 30-01-2013, 14:00:11
Avevo risolto, grazie comunque  :-OK


Title: Re:Esercizio compito
Post by: کtεvЭ on 31-01-2013, 16:06:58
Di niente   :[Emoticon] Asd:

L'esercizio tu come lo hai risolto? (Sto studiando questa materia da poco quindi non sono sicuro che la mia soluzione sia corretta).


Title: Re:Esercizio compito
Post by: zElOtO on 31-01-2013, 23:35:14
Stesso modo solo che io converto tutto a bit, ma il procedimento/risultato è il medesimo:

BLOCCO: 4kb = ( 4 * 1024 * 8 ) = 32.768 bit

Essendoci dello spazio sottratto ai dati a causa del puntatore, lo sottraggo alla dimensione totale del blocco:

Spazio del blocco per i dati = 32.768 - 32 = 32.736 bit
Essendo 40kb = ( 4 * 1024 * 8 * 10 ) = 327.680 bit

Occorreranno i seguenti blocchi per memorizzare il file da 40kb: 327.680 / 32.736 = 10.01 -> 11