Inode: differenze tra le versioni

1 703 byte aggiunti ,  15 nov 2008
Riga 155: Riga 155:
<pre>
<pre>
  $ hexdump minixfs -C  -n 1024 -s 0x1400
  $ hexdump minixfs -C  -n 1024 -s 0x1400
00001400  01 00 2e 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  00001400  01 00 2e 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00001410  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  00001410  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00001420  01 00 2e 2e 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  00001420  01 00 2e 2e 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00001430  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  00001430  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00001440  00 00 2e 62 61 64 62 6c  6f 63 6b 73 00 00 00 00  |...badblocks....|
  00001440  00 00 2e 62 61 64 62 6c  6f 63 6b 73 00 00 00 00  |...badblocks....|
00001450  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  00001450  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
  *
00001800
  00001800
</pre>
</pre>


Riga 170: Riga 170:


<pre>
<pre>
$ echo "Hello World" > /mnt/data/hello.asc
$ ls -la /mnt/data/
  total 3
  drwxr-xr-x 2 root root  96 Nov 15 15:33 .
  drwxr-xr-x 5 root root 1024 Sep 28 15:16 ..
  -rw-r--r-- 1 root root  12 Nov 15 15:33 hello.asc


$ hexdump minixfs -C  -n 1024 -s 0x1000
  00001000  ed 41 00 00 60 00 00 00  24 40 1f 49 00 02 05 00  |.A..`...$@.I....|
  00001010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  00001020  a4 81 00 00 0c 00 00 00  24 40 1f 49 00 01 06 00  |........$@.I....|
  00001030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  *
  00001400
$ hexdump minixfs -C  -n 1024 -s 0x1400
  00001400  01 00 2e 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  00001410  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  00001420  01 00 2e 2e 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  00001430  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  00001440  02 00 68 65 6c 6c 6f 2e  61 73 63 00 00 00 00 00  |..hello.asc.....|
  00001450  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  *
  00001800
</pre>
</pre>
Come si vede, la tabella degli inode è stata aggiornata e nel blocco in cui punta l'inode di ".", che contiene la lista dei file presenti, è stato aggiornato con il nome del nostro nuovo file.
Notare come il primo blocco occupato dai dati nell'inode del file hello.asc è il numero 6 . Se andiamo a vedere questo blocco vedremo i dati del file .
Potete provare se interessati a creare dei link hardware tra gli inode e delle directory, che altro non sono che normali file come "." che contengono una lista di file .


=== Gli inode ai giorni nostri ===
=== Gli inode ai giorni nostri ===


Come acennato prima all'inizio di questa guida, gli inode oggi si trovano a livello di astrazione del VFS (fate riferimento alla mappa del kernel), guardando nel codice di un kernel moderno, ovviamente saranno un po' più complicati e dipendono anche dal tipo di fs che il vostro kernel supporterà in fase di configurazione .
Come acennato prima all'inizio di questa guida, gli inode oggi si trovano a livello di astrazione del VFS (fate riferimento alla mappa del kernel), guardando nel codice di un kernel moderno, ovviamente saranno un po' più complicati e dipendono anche dal tipo di fs che il vostro kernel supporterà in fase di configurazione .
7

contributi