[Sistemi Operativi] Fat File Allocation Table problema su esercizio

Messaggioda Pattinando » 30/08/2014, 22:36

Sto diventando matto con questo esercizio, c'è qualche anima pia puoi aiutami? c'è la soluzione volevo una spiegazione dei calcoli :idea:

Dato un file system FAT con blocchi di 4KB (4096 byte) e il seguente frammento di FAT, dire in quali blocchi fisici sono collocati i seguenti byte:
byte 6758 del file che inizia al blocco 33
byte 8192 del file che inizia al blocco 34
byte 4094 del file che inizia al blocco 34

frammento di FAT :
blocco fisico contenuto della FAT
…..
30 31
31 37
32 36
33 32
34 35
35 30
36 40
37 41
…..
Soluzione

1) il byte 6758 sta nel blocco logico 1, quindi il blocco fisico è 32(<- non l'ho capito)
2) il byte 8192 sta nel blocco logico 2, quindi il blocco fisico è 30(<- non l'ho capito)
3) il byte 4094 sta nel blocco logico 0, quindi il blocco fisico è 34(<- non l'ho capito)

mia soluzione:
6758/4096=1,6 quindi i byte stanno nel blocco logico 1, quindi l'indirizzo si trova nel blocco fisico 32(soluzione forzata, perché conto da 33 in poi, così però ometto che ci sia un "blocco 0")

8192/4096=2 quindi i byte stanno nel blocco logico 2, quindi l'indirizzo si trova nel blocco fisico 30( anche qui ometto che ci sia un blocco zero, ho semplicemente riportato il primo blocco che c'era)

4094/4096=0 ora che c'è un davvero blocco zero non so come dovrei fare

help! :(
Pattinando
Starting Member
Starting Member
 
Messaggio: 6 di 22
Iscritto il: 11/08/2012, 14:18

Re: [Sistemi Operativi] Fat File Allocation Table problema su esercizio

Messaggioda onlyReferee » 31/08/2014, 09:54

Ciao Pattinando :!:
Innanzitutto bisogna individuare i blocchi logici come correttamente hai fatto, ossia considerando il risultato della divisione intera tra i byte di cui vogliamo determinare i blocchi fisici e la dimensione del blocco (che sappiamo essere fissa a $4096 KB$). Dopodiché in base al blocco logico che abbiamo appena determinato bisogna "mappare" quello di partenza (di inizio del file) nel seguente corrispondente a partire di nuovo dalla colonna sinistra della tabella. Abbiamo pertanto:
  1. $6758$ $/$ $4096 = 1$, blocco fisico di partenza $33$ che mi manda a $32$ (vedi il valore nella colonna di destra quando si ha $33$ in quella a sinistra);
  2. $8192$ $/$ $4096 = 2$, blocco fisico di partenza $30$ che mi manda a $35$. Ora però non ho finito poiché devo muovermi di un altro blocco logico. Vedo allora dalla colonna di sinistra che $35$ mi manda $30$ e qui mi fermo perché ho raggiunto il blocco fisico che mi interessava;
  3. $4094$ $/$ $4096 = 0$, blocco fisico di partenza $34$. Qui in realtà sono già a posto poiché ho già individuato il blocco che mi interessa (in quanto mi trovo sul blocco logico $0$) e pertanto non c'è bisogno di vedere dove mi "manda" quello fisico.
Spero di esserti stato utile, in caso chiedi pure se non ti è chiaro.
Per aspera sic itur ad astra
onlyReferee
Advanced Member
Advanced Member
 
Messaggio: 437 di 2046
Iscritto il: 20/08/2013, 21:20
Località: Musile di Piave (VE)

Re: [Sistemi Operativi] Fat File Allocation Table problema su esercizio

Messaggioda Pattinando » 31/08/2014, 12:54

Ti ringrazio molto per avermi risposto :D

Non ho capito quando dici:

onlyReferee ha scritto:Vedo allora dalla colonna di sinistra che 35 mi manda 30 e qui mi fermo perché ho raggiunto il blocco fisico che mi interessava;

quindi in generale devo guardare il valore di destra a che valore corrisponde? in questo caso è 30, e sarei dovuto andare alla prima riga in cui c'è 30 che mi portava a 31, ma dato che il file A inizia dopo i fermo dove sono e quindi a 35?

onlyReferee ha scritto:4094 / 4096=0, blocco fisico di partenza 34. Qui in realtà sono già a posto poiché ho già individuato il blocco che mi interessa (in quanto mi trovo sul blocco logico 0) e pertanto non c'è bisogno di vedere dove mi "manda" quello fisico

in questo caso se avessi avuto blocco logico 1, però, mi portava allo stesso blocco fisico? :cry:
Pattinando
Starting Member
Starting Member
 
Messaggio: 7 di 22
Iscritto il: 11/08/2012, 14:18

Re: [Sistemi Operativi] Fat File Allocation Table problema su esercizio

Messaggioda onlyReferee » 31/08/2014, 14:15

Pattinando ha scritto:Ti ringrazio molto per avermi risposto :D
[...]

Di nulla, figurati.
Pattinando ha scritto:[...]
Non ho capito quando dici:

onlyReferee ha scritto:Vedo allora dalla colonna di sinistra che 35 mi manda 30 e qui mi fermo perché ho raggiunto il blocco fisico che mi interessava;

quindi in generale devo guardare il valore di destra a che valore corrisponde? in questo caso è 30, e sarei dovuto andare alla prima riga in cui c'è 30 che mi portava a 31, ma dato che il file A inizia dopo i fermo dove sono e quindi a 35?
[...]

Sì...Più che altro però non è tanto il fatto che il file inizia dopo quanto il discorso che in tal caso ho effettuato un numero di "spostamenti" pari al numero dei blocchi logici in cui si trova il file e pertanto ho raggiunto la mia destinazione. Da $30$ a $31$ saresti andato se ti fosse stato richiesto un ulteriore blocco logico (ergo avendo un indirizzo che ti richiede $3$ blocchi logici).
Pattinando ha scritto:[...]
onlyReferee ha scritto:4094 / 4096=0, blocco fisico di partenza 34. Qui in realtà sono già a posto poiché ho già individuato il blocco che mi interessa (in quanto mi trovo sul blocco logico 0) e pertanto non c'è bisogno di vedere dove mi "manda" quello fisico

in questo caso se avessi avuto blocco logico 1, però, mi portava allo stesso blocco fisico? :cry:

No, ti avrebbe portato al blocco fisico $35$ come da tabella (basta che guardi nella colonna di sinistra dove si trova $34$ e fai corrispondere il blocco scritto a destra sulla stessa riga, ergo $35$).
Per aspera sic itur ad astra
onlyReferee
Advanced Member
Advanced Member
 
Messaggio: 441 di 2046
Iscritto il: 20/08/2013, 21:20
Località: Musile di Piave (VE)


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite