Inode

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 22 januari 2022; kontroller kräver 2 redigeringar .

Inom datavetenskap , inode (uttalas ainod eller inode), är en inode  en datastruktur i traditionella UNIX -filsystem (FS), såsom UFS , ext4 . Den här strukturen lagrar metainformation om standardfiler , kataloger eller andra filsystemobjekt, förutom själva data och namn .

Detaljer

När ett filsystem skapas skapas även datastrukturer som innehåller information om filer. Varje fil har sin egen inod, identifierad med ett unikt nummer (ofta kallat ett "i-nummer" eller "inod") på filsystemet där själva filen finns.

Inoder lagrar information om filer, såsom ägande (användare och grupp), åtkomstläge (läs, skriv, kör) och filtyp. Det finns ett visst antal inoder som anger det maximala antalet filer som tillåts av ett visst filsystem. Vanligtvis, när du skapar ett filsystem, allokeras ungefär 1 % av dess volym till inoder.

Termen inod syftar vanligtvis på blockenhetsinoder som hanterar beständiga filer, kataloger och, om möjligt, symboliska länkar . Detta koncept spelar en viktig roll för att återställa skadade filsystem.

Filnamn och kataloginnehåll:

Kärnans representation av dessa data i minnet kallas struct inodeen (strukturell inod) (i Linux OS ). BSD - system använder termen , där vnodebokstaven v indikerar ett virtuellt filsystem på kärnnivå .

Beskrivning av en inod i POSIX

POSIX - standarderna beskriver beteendet hos ett filsystem som en ättling till de traditionella UNIX-filsystemen, UFS. Vanliga filer måste ha följande attribut:

Systemanropet statläser filens inodnummer och viss information från den.

Etymologi av inode

Vad i namnet "i-nod" betyder "och" är okänt. Som svar på en fråga om detta svarade Unix medskapare Dennis Ritchie :

För att vara ärlig så vet jag inte heller. Det var bara en term vi började använda. På grund av filsystemets något ovanliga struktur, där filåtkomstinformation lagras som en platt array på disk, separat från all kataloghierarkiinformation, är det bästa jag kan gissa (för "och") "index". Således var i-nummer ett index i denna array, och i-nod var ett valbart element i arrayen. (Prefixet "och-" användes i den första versionen av manualen; med tiden användes bindestrecket inte längre).

Originaltext  (engelska)[ visaDölj] I sanning vet jag inte heller. Det var bara en term som vi började använda. "Index" är min bästa gissning, på grund av den något ovanliga filsystemstrukturen som lagrade åtkomstinformationen för filer som en platt array på disken, med all hierarkisk kataloginformation som lever bortsett från detta. Således är i-numret ett index i denna array, i-noden är det valda elementet

av arrayen. (Beteckningen "i-" användes i den första upplagan av manualen; bindestrecket försvann gradvis).

Vad står "i" i inod för ? Dennis Ritchie vet inte heller. (inte tillgänglig länk) . Hämtad 3 augusti 2010. Arkiverad från originalet 23 augusti 2011. 

Det vill säga indexnod (indexnod, element) → index-nod → i-nod → inod  - en gradvis förkortning och sammanslagning av frasen indexnod . Enligt andra versioner kan initialbokstaven i i i -noden också komma från orden information (information), incore, indirection.

Betydelse

Filsystem som använder inoder har flera subtila funktioner:

Praktisk tillämpning

Många program som används av systemadministratörer i UNIX- operativsystemet (OS) använder ofta inodnummer för att referera till filer. Den populära inbyggda hårddiskkontrollen eller fsckkommandot pfileskan tjäna som exempel här, eftersom det har ett behov av att naturligt konvertera inodnummer till och från filsökvägar . Detta kan utökas genom att använda en filsökare med nyckeln eller ett kommando med lämplig nyckel (som på de flesta plattformar är ). find-inumls-i

Dynamisk inodallokering

Ett av problemen är att inoder kan "ta slut". I det här fallet kommer du inte att kunna skapa en ny fil eller katalog på enheten, även om det finns tillräckligt med ledigt utrymme. I det här fallet kan befintliga filer modifieras helt.

Således kan filsystem delas in i två grupper

Problem Y2038

Vissa inodbaserade filsystem är immuna mot Y2038-problemet (känd som Unix-tid ) för att förhindra datumspill, men inte alla. När du ställer in en server blir det viktigare att undvika användningen av sådana POSIX -inkompatibla filsystem. Den senaste versionen av POSIX stöder systemtid- och datumanrop som är resistenta mot problem Y2038 .

Se även

Litteratur