Che cosa è un inode?

Nei sistemi Unix, un inode (o i-node, abbreviazione di index node) è una struttura dati sul file system che archivia e descrive attributi base su file, directory o qualsiasi altro oggetto.

Descrizione

Le informazioni includono:

  • la dimensione del file e la sua locazione fisica (se risiede su un dispositivo a blocchi, come ad es. un hard disk)
  • il proprietario e il gruppo di appartenenza;
  • le informazioni temporali di modifica (mtime), ultimo accesso (atime) e di cambio di stato (ctime);
  • il numero di collegamenti fisici che referenziano l'inode;
  • i permessi d'accesso;
  • un puntatore allo spazio del disco che contiene i file veri e propri.

Il termine inode normalmente si usa sui dispositivi a blocchi che gestiscono file, directory e collegamenti simbolici. Il concetto è particolarmente importante quando è necessario ripristinare un file system danneggiato.

Ogni inode ha associato un numero univoco all'interno del dispositivo e ogni file presente è identificato come un collegamento fisico all'inode tramite il suo numero. Quando un programma cerca di accedere ad un file tramite un nome (es. documento.txt), il sistema operativo cerca l'inode corrispondente e recupera tutte le informazioni sopra descritte per operare correttamente con il file.

Per recuperare le informazioni sull'inode dei file si può usare la chiamata di sistema stat seguita dal nome del file.

Un inode occupa un blocco, ma solo una piccola parte contiene gli indirizzi ai blocchi del file. Si usa un approccio multilivello: i primi 12 puntano direttamente ai blocchi, il tredicesimo punta ad un blocco riempito di riferimenti ai blocchi, un blocco indiretto singolo, il quattordicesimo ad un blocco indiretto doppio, il quindicesimo ad un blocco indiretto triplo. Così un file può avere una dimensione massima di (12+256+256²+256³)*dimensione blocco.

RITORNO

  • 4 Utenti hanno trovato utile questa risposta
Hai trovato utile questa risposta?

Articoli Correlati

Che cosa è un dominio Internet?

A domain name is an identification string that defines a realm of administrative autonomy,...

Che cosa è un social media?

Social media, in italiano media sociali , è un termine generico che indica tecnologie e...

Che cos'è il DNS?

Il sistema dei nomi di dominio (in inglese: Domain Name System, DNS), è un sistema utilizzato...

Qual è la nuvola informatica?

Con il termine inglese cloud computing (in italiano nuvola informatica) si indica un paradigma...

Qual è il protocollo Internet IPv6?

IPv6 è la versione dell'Internet Protocol designata come successore dell'IPv4. Tale protocollo...

Powered by WHMCompleteSolution