Esercizio

Considerate un disco con capacita' 1024 MB e blocchi da 8 KB.

- Quanti byte servono per gli indirizzi di blocco? (1,2 o 4?)

Sia N il numero di byte degli indirizzi di blocchi calcolato nella domanda 1.

- Calcolare la dimensione (in byte) della FAT.

- Quanti blocchi occupa la FAT se memorizzata su disco?

- Qual'e' il contenuto della FAT relativamente ad un file "pippo"
  i cui dati sono memorizzati (in sequenza) nei blocchi  3, 6, 0 e 10?

Soluzione
Ricordiamo che 1KB=1024 byte = 210byte ;   1 MB=220 byte.

  1. Servono 4 byte:    Cap. disco/dim. blocco = 230/213=217 blocchi indirizzabili con 4 byte
  2. Dimensione FAT: 217* 4 byte = 219 byte  = 512 KB
  3. La FAT occupa 64 blocchi (512KB/8KB)
  4. FAT: 0 (10) .... 3(6) .... 6(0) .... 10 (-) .....

 

Esercizio

 

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:

  1. byte 6758 del file che inizia al blocco 33
  2. byte 8192 del file che inizia al blocco 34
  3. 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

2) il byte 8192 sta nel blocco logico 2, quindi il blocco fisico è 30

3) il byte 4094 sta nel blocco logico 0, quindi il blocco fisico è 34

 

Esercizio

 

Fornire il contenuto dell'i-node  e del blocco relativo alla directory `tool' di un file system Unix V7 nel seguente caso :

(si assume che file e directory nella gerarchia indicata occupino un solo blocco,accanto ad ogni file o directory è indicato il numero di i-node (I=…)
e il numero del blocco (b=…))



Soluzione


Contenuto dell’i-node numero 7

 

          (attributi vari)

100   (indirizzo primo blocco dati)

 

Contenuto del blocco 100

 

               Numero di i-node     Nome file/directory

                               7                             . (punto)

                               1                             . . (punto punto)

                               83                           src

                               4                             c

                               156                         d

                               99                           a

 

Esercizio

 

Dato un file system NTFS con blocchi di dimensione 4KB, e il seguente MTF record del file Pippo, individuare
i blocchi fisici nei quali sono contenuti i seguenti byte del file A:

1.        5672

2.        47657

3.        61000

 

Soluzione

 

1-       il blocco logico è 1, quindi si tratta del secondo blocco del primo run, per cui l’indirizzo del blocco fisico è 38

2-       il blocco logico è 11, quindi si tratta del quarto blocco del terzo run, per cui l’indirizzo del blocco fisico è 90

3-       il blocco logico è il 14, quindi si tratta del primo blocco del quarto run, per cui l’indirizzo del blocco fisico è 51

 

 

Esercizio

Calcolare la dim. (in byte) della FAT per un disco da 512MB con blocchi da 16 KB e indirizzi dei blocchi a 16 bit.

Quanti blocchi occuperebbe la FAT se memorizzata su disco?

Quanti accessi alla FAT occorrono per recuperare l’indirizzo fisico del blocco nel quale si trova il byte 125384 di un certo file del file system in questione?

 

Nota:  16K=24*210=214     512M=29 * 220=229

 

Soluzione  

La dimensione del disco è di’ 229 byte e quindi di 229/214= 215 blocchi di 214 byte.

Il campo di indirizzamento della FAT (16 bit=2 byte) consente di indirizzare tutti i blocchi.

La dimensione della FAT è di  215*2 = 216 byte. Se risiede su disco occupa 216/214= 4 blocchi.

Supponendo che i blocchi dell’archivio siano numerati a partire da 0, il byte 125384 si trova nel blocco 7.

Quindi occorre accedere 7 volte alla FAT per poter recuperare l’indirizzo fisico associato a tale byte.

 

 

Esercizio

Si supponga che, durante la fase della fsck che verifica la consistenza dei blocchi vengano prodotti i seguenti vettori:

 

indice di blocco:                        0    1    2    3    4    5    6    7    8    9   10  11  12  13  14  15  16  17

vettore blocchi liberi:                 1    1    1    1    0    0    0    1    1    1    0    0    0    0    0    2    2    1

vettore blocchi occupati:           1    2    1    1    0    0    1    1    1    0    0    0    0    0    0    1    1    2

spiegare quali sono le azioni intraprese dalla fsck per ripristinare uno stato consistente del file system.

 

 

Soluzione:

La fsck intraprende un insieme di azioni volte ad avere ogni blocco presente con un solo 1 in una delle due tabelle

 

blocchi 0,1,2,3,7,8,15,16,17 : sono presenti sia nella lista dei blocchi liberi che nell’i-node di qualche file. La fsck gli elimina dalla lista libera e la ricostruisce, risultato

indice di blocco:                        0    1    2    3    4    5    6    7    8    9   10  11  12  13  14  15  16  17

vettore blocchi liberi:                 0    0    0    0    0    0    0    0    0    1    0    0    0    0    0    0    0    0

vettore blocchi occupati:           1    2    1    1    0    0    1    1    1    0    0    0    0    0    0    1    1    2

 

blocchi 4,5,10,11,12,13,14 : non sono presenti in nessuna delle due tabelle, la fsck assume siano liberi e li inserisce nella lista dei blocchi liberi, risultato

indice di blocco:                        0    1    2    3    4    5    6    7    8    9   10  11  12  13  14  15  16  17

vettore blocchi liberi:                 0    0    0    0    1    1    0    0    0    1    1    1    1    1    1    0    0    0

vettore blocchi occupati:           1    2    1    1    0    0    1    1    1    0    0    0    0    0    0    1    1    2

 

blocchi : 1,17 : sono presenti come blocchi dati di due file distinti, la fsck crea due copie diverse per ognuno (usando due blocchi liberi, ad esempio il 4 ed il 5)
e corregge i corrispondenti i-node. Inoltre avverte l’utente di possibili inconsistenze sui dati stampando un messaggio di errore. Risultato finale :

indice di blocco:                        0    1    2    3    4    5    6    7    8    9   10  11  12  13  14  15  16  17

vettore blocchi liberi:                 0    0    0    0    0    0    0    0    0    1    1    1    1    1    1    0    0    0

vettore blocchi occupati:           1    1    1    1    1    1    1    1    1    0    0    0    0    0    0    1    1    1


 

Esercizio
Dato un file system FAT con blocchi di 3KB  e il seguente frammento di FAT,
dire in quali blocchi fisici sono collocati i seguenti byte:

  1. byte 6758 del file "pippo" che inizia al blocco 8
  2. byte 4097 del file "pluto" che inizia al blocco 3
  3. byte 2044 del file "paperino" che inizia al blocco 4

Frammento FAT :

Entry

Contenuto

0

7

1

2

2

11

3

5

4

3

5

20

6

13

7

1

8

0


Soluzione

  1. Dim. blocco = 3*1024= 3072 bytes. Il byte 6758 di pippo si trova nel terzo blocco (6758/3072 =2.1).
    Percorrendo la FAT: I blocco: 8, II blocco: 0, III blocco: 7.
    Quindi l'indirizzo fisico del blocco e' 7
  2. Il byte 4097 di pluto si trova nel secondo blocco, quindi nel blocco fisico 5.
  1. Il byte 2044 del file "paperino" si trova nel primo blocco, quindi nel blocco fisico 4.


Esercizio
Dato un file system FAT con blocchi di 2KB  e il seguente frammento di FAT,
dire in quali blocchi fisici sono collocati i seguenti byte:

  1. byte 6758 del file "pippo" che inizia al blocco 4
  2. byte 4097 del file "pluto" che inizia al blocco 3
  3. byte 2044 del file "paperino" che inizia al blocco 5

Frammento FAT :

Entry

Contenuto

0

10

1

2

2

0

3

6

4

1

5

8

6

7

7

11

8

12

 

Soluzione

  1. Dim. blocco = 2*1024= 2048 bytes. Il byte 6758 di pippo si trova nel quarto blocco
    Percorrendo la FAT: I blocco: 4, II blocco: 1, III blocco: 2, IV blocco: 0
    Quindi l'indirizzo fisico del blocco e' 0
  2. Il byte 4096 di pluto si trova nel secondo (terzo) blocco se si parte da 1 (0), quindi nel blocco fisico 6 (7).
  3. Il byte 2044 del file "paperino" si trova nel primo blocco, quindi nel blocco fisico 5.

Esercizio
Calcolare la dimensione minima di una FAT necessaria per
indirizzare un disco di capacità 5096 MB con blocchi da 4KB.
Considerate ora i seguenti due file:

A di dimensione 13000 byte

B di dimensione  7500 byte

 

Mostrate un esempio di come vengono memorizzati gli indirizzi dei blocchi
dei file A e B in una FAT per un disco con le caratteristiche viste sopra
(scegliete indirizzi di blocco a piacere per i due file).

 

Soluzione:

N. blocchi= 5096 MB/4KB=1304576  indirizzabili con 3 byte
Fat= 1304576 * 3= 3913728 byte


A occupa 4 blocchi  (ad es. 0 1 2 3), B 2 blocchi (ad es. 4 5)

FAT: 0(1) 1(2) 2(3) 3(*) 4(5) 5(*) ....

 

Esercizio
In una organizzazione dell'allocazione dei file simile a quella adottata in UNIX vi sono 14 puntatori nel descrittore di file
(mantenuto in memoria durante l'accesso al file) di cui

Se la dimensione di un blocco è 1Kb, e un puntatore occupa 4 bytes:

  1.  Qual è la dimensione massima di un file per il quale non sono necessari accessi aggiuntivi per accedere a qualunque blocco?
  2.  Qual è la dimensione massima di un file?
  3. Quanti accessi aggiuntivi sono necessari per accedere al byte alla posizione 300K?

Soluzione
Un blocco puo' contenere (dim. blocco/dim.puntatore=) 1024/4=256 puntatori a blocchi.

  1. La dim. massima di un file con blocchi accessibili solo tramite puntatori diretti e' 12*1KB=12 KB.
  2. La dim. massima di un file indirizzabile e' 12 KB+256 KB+2562 KB=65804 KB
  3. Il 300000-esimo byte di un file si trova in un blocco accessibile tramite puntatore doppiamente indiretto:
    occorrono quindi 2 accessi aggiuntivi (uno alla tabella esterna e uno a quella interna).

 

Esercizio
In una organizzazione dell'allocazione dei file simile a quella adottata in UNIX vi sono 13 puntatori nel
descrittore di file  (mantenuto in memoria durante l'accesso al file) di cui

Se la dimensione di un blocco è 1KB, e un puntatore occupa 4 bytes:

  1.  Qual è la dim. massima di un file per il quale non sono necessari accessi aggiuntivi per accedere a qualunque blocco?
  2.  Qual è la dim. massima di un file?
  3. Quanti accessi aggiuntivi sono necessari per accedere al byte alla posizione 1000K?

Soluzione
Un blocco puo' contenere (dim. blocco/dim.puntatore=) 1024/4=256 puntatori a blocchi.

  1. La dim. massima di un file con blocchi accessibili solo tramite puntatori diretti e' 10*1KB=10 KB.
  2. La dim. massima di un file indirizzabile e' 10 KB+512 KB+2562 KB= 66058 KB.

1000K> 522KB. Quindi il 1000000-esimo byte di un file si trova in un blocco accessibile tramite puntatore doppiamente indiretto:
occorrono quindi 2 accessi aggiuntivi (uno alla tabella esterna e uno a quella interna).