7
contributi
Nessun oggetto della modifica |
|||
Riga 135: | Riga 135: | ||
Se confrontate i primi campi del superblock e i dati contenuti su disco potrete ritrovare molte cose stampate quando abbiamo creato il minix fs . | Se confrontate i primi campi del superblock e i dati contenuti su disco potrete ritrovare molte cose stampate quando abbiamo creato il minix fs . | ||
Se ora andiamo a vedere il blocco 5 possiamo vedere la tabella delle entry nel fs . Per comprenderene i campi fate riferimento alla struttura presentata nel paragrafo precedente (struct d_inode). | |||
<pre> | |||
$ ls -la /mnt/data/ | |||
total 2 | |||
drwxr-xr-x 2 root root 64 Nov 15 12:31 . | |||
drwxr-xr-x 5 root root 1024 Sep 28 15:16 .. | |||
$ hexdump minixfs -C -n 1024 -s 0x1000 | |||
00001000 ed 41 00 00 40 00 00 00 83 15 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 |................| | |||
* | |||
00001400 | |||
</pre> | |||
i primi due byte 41 ed (su macchine Intel) identificano i permessi di accesso, Gli altri due byte l'uid, mentre gli altri 4 la dimensione (00 00 00 40) che infatti in decimale 0x40 è 64 . Gli altri byte identificano l'ora (49 1f 15 83), il gid (notare che a differenza dell'uid occupa un solo byte), un contatore del numero dei link che utilizzano questo inode entry ? (in questo caso 02) e da qui una serie di byte che ci dicono quali blocchi occupano i dati di questo inode, in questo caso essendo "." la dir corrente indica il primo blocco disponibile che e' il numero 5 . | |||
<pre> | |||
$ 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 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 |................| | |||
* | |||
00001800 | |||
</pre> | |||
Questo e' il contenuto dei dati dove l'inode di "." punta . | |||
Vediamo cosa succede quando creiamo un file . | |||
<pre> | |||
</pre> | |||
=== 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 . |
contributi