Inodul

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 22 ianuarie 2022; verificările necesită 2 modificări .

În informatică , inode (pronunțat ainod sau inode), un inode  este o structură de date în sistemele tradiționale de fișiere UNIX (FS), cum ar fi UFS , ext4 . Această structură stochează metainformații despre fișiere standard , directoare sau alte obiecte ale sistemului de fișiere, pe lângă datele și numele în sine.

Detalii

Când este creat un sistem de fișiere, sunt create și structuri de date care conțin informații despre fișiere. Fiecare fișier are propriul său inode, identificat printr-un număr unic (numit adesea „i-number” sau „inode”) pe sistemul de fișiere în care se află fișierul în sine.

Inodele stochează informații despre fișiere, cum ar fi proprietatea (utilizator și grup), modul de acces (citire, scriere, rulare) și tipul fișierului. Există un anumit număr de inoduri care specifică numărul maxim de fișiere permise de un anumit sistem de fișiere. De obicei, atunci când se creează un sistem de fișiere, aproximativ 1% din volumul acestuia este alocat inodurilor.

Termenul inode se referă de obicei la blocarea inodurilor de dispozitiv care gestionează fișiere persistente, directoare și, dacă este posibil, legături simbolice . Acest concept joacă un rol important în recuperarea sistemelor de fișiere deteriorate.

Numele fișierelor și conținutul directorului:

Reprezentarea nucleului a acestor date în memorie se numește struct inode(inod structural) (în sistemul de operare Linux ). Sistemele BSD folosesc termenul , unde vnodelitera v indică un sistem de fișiere virtual la nivel de kernel .

Descrierea unui inod în POSIX

Standardele POSIX descriu comportamentul unui sistem de fișiere ca descendent al sistemelor tradiționale de fișiere UNIX, UFS. Fișierele obișnuite trebuie să aibă următoarele atribute:

Apelul de sistem statcitește numărul inodul fișierului și unele informații din acesta.

Etimologia lui inode

Ceea ce în numele „i-nod” înseamnă „și” este necunoscut. Ca răspuns la o întrebare despre asta, co-creatorul Unix Dennis Ritchie a răspuns:

Sincer să fiu, nici eu nu știu. A fost doar un termen pe care am început să-l folosim. Datorită structurii puțin neobișnuite a sistemului de fișiere, în care informațiile de acces la fișiere sunt stocate ca o matrice plată pe disc, separată de toate informațiile despre ierarhia directoarelor, cel mai bun lucru pe care îl pot ghici (pentru „și”) este „index”. Astfel, i-number a fost un index în această matrice, iar i-node a fost un element selectabil al matricei. (Prefixul „și-” a fost folosit în prima versiune a manualului; de-a lungul timpului, cratima nu a mai fost folosită).

Text original  (engleză)[ arataascunde] De fapt, nici eu nu știu. A fost doar un termen pe care am început să-l folosim. „Index” este cea mai bună presupunere a mea, din cauza structurii de sistem de fișiere puțin neobișnuite care stoca informațiile de acces ale fișierelor ca o matrice plată pe disc, cu toate informațiile despre directorul ierarhic care trăiesc în afară de aceasta. Astfel, numărul i este un index în această matrice, nodul i este elementul selectat

a matricei. (Notația „i-” a fost folosită în manualul ediției I; cratima sa a fost renunțată treptat).

Ce înseamnă „i” din inode ? Nici Dennis Ritchie nu știe. (link indisponibil) . Preluat la 3 august 2010. Arhivat din original la 23 august 2011. 

Adică, nod index (nod index, element) → nod-index → ​​i-node → inode  - o scurtare treptată și o îmbinare a expresiei nod index . Conform altor versiuni, litera inițială i din nodul i poate proveni și din cuvintele informație (informație), incore, indirecte.

Înțeles

Sistemele de fișiere care folosesc inoduri au câteva caracteristici subtile:

Aplicație practică

Multe programe utilizate de administratorii de sistem pe sistemul de operare (OS) UNIX folosesc adesea numere de inoduri pentru a se referi la fișiere. Populara comandă sau verificarea hard diskului încorporată poate servi drept exemple aici, deoarece are nevoie să convertească în mod natural numerele de inoduri în și din căile fișierelor . Acest lucru poate fi mărit prin utilizarea unui instrument de căutare de fișiere cu cheia , sau a unei comenzi cu cheia corespunzătoare (care pe majoritatea platformelor este ). fsckpfiles find-inumls-i

Alocarea dinamică a inodelor

Una dintre probleme este că inodurile se pot „epuiza”. În acest caz, nu veți putea crea un nou fișier sau director pe dispozitiv, chiar dacă există suficient spațiu liber. În acest caz, fișierele existente pot fi modificate complet.

Astfel, sistemele de fișiere pot fi împărțite în două grupuri

Problema Y2038

Unele sisteme de fișiere bazate pe inode sunt imune la problema Y2038 (cunoscută ca timp Unix ) pentru a preveni depășirile de date, dar nu toate. Când configurați un server, evitarea utilizării unor astfel de sisteme de fișiere incompatibile cu POSIX devine mai importantă. Cea mai recentă versiune a POSIX acceptă apeluri de oră și dată de sistem care sunt rezistente la problema Y2038 .

Vezi și

Literatură