Inode

Ein Inode (englisch index node, gesprochen „eye-node“)[1] ist die grundlegende Datenstruktur zur Verwaltung von Dateisystemen mit unixartigen Betriebssystemen. Jeder Inode wird innerhalb eines Dateisystems eindeutig durch seine Inode-Nummer identifiziert. Jeder Namenseintrag in einem Verzeichnis verweist auf genau einen Inode. Dieser enthält die Metadaten der Datei und verweist auf die Daten der Datei beziehungsweise die Dateiliste des Verzeichnisses.

Die Anwendungssoftware unterscheidet beim Lesen oder Schreiben von Daten nicht mehr zwischen Gerätetreibern und regulären Dateien. Durch das Inode-Konzept gilt bei den Unixvarianten alles als Datei (“On UNIX systems it is reasonably safe to say that everything is a file…).[2] Dadurch unterscheiden sich solche Betriebssysteme in der Verwaltung ihres Datenspeichers von anderen Systemen wie Windows mit NTFS, aber auch von VMS oder MVS.

Grundsätzliches

Speichert man eine Datei auf einem Computer ab, so muss nicht nur der Dateiinhalt (Nutzdaten) gespeichert werden, sondern auch Metadaten wie zum Beispiel der Zeitpunkt der Dateierstellung oder der Besitzer der Datei. Gleichzeitig muss der Computer einem Dateinamen – inklusive Dateipfad – die entsprechenden Nutzdaten und Metadaten effizient zuordnen können. Die Spezifikation, wie diese Daten organisiert und auf einem Datenträger gespeichert werden, nennt man Dateisystem. Dabei gibt es abhängig von Einsatzbereich und Betriebssystem unterschiedliche Dateisysteme. Umgesetzt wird die Dateisystemspezifikation von einem Treiber, der wahlweise als ein Kernel-Modul des Betriebssystemkerns (Kernel) oder seltener als gewöhnliches Programm im Userspace umgesetzt sein kann.

Grobe Struktur des Unix-Dateisystems

Dateisysteme unixoider Betriebssysteme – wie Linux und macOS – verwenden sogenannte Inodes. Diese enthalten die Metadaten sowie Verweise darauf, wo Nutzdaten gespeichert sind. An einem speziellen Ort des Dateisystems, dem Superblock, wird wiederum die Größe, Anzahl und Lage der Inodes gespeichert. Die Inodes sind durchnummeriert und an einem Stück auf dem Datenträger gespeichert. Das Wurzelverzeichnis eines Dateisystems besitzt eine feste Inodenummer. Unterordner sind „gewöhnliche“ Dateien, welche eine Liste der darin enthaltenen Dateien mit der Zuordnung der dazugehörenden Inodenummern als Nutzdaten enthalten.

Soll also beispielsweise die Datei /bin/ls geöffnet werden, so läuft dies, vereinfacht, wie folgt ab:

  • Der Dateisystemtreiber liest den Superblock aus. Dadurch erfährt er die Startposition der Inodes und deren Länge. Somit kann nun jeder beliebige Inode gefunden und gelesen werden.
  • Nun wird der Inode des Wurzelverzeichnisses geöffnet. Da dies ein Ordner ist, befindet sich darin ein Verweis auf die Speicherstelle der Liste aller darin enthaltenen Dateien mitsamt ihren Inodenummern. Darin wird das Verzeichnis bin gesucht.
  • Nun kann der Inode des bin-Verzeichnisses gelesen werden und analog zum letzten Schritt der Inode der Datei ls gefunden werden.
  • Da es sich bei der Datei ls nicht um ein Verzeichnis, sondern um eine reguläre Datei handelt, enthält ihr Inode nun einen Verweis auf die Speicherstelle der gewünschten Daten.

Aufbau

Jedem einzelnen von einem Schrägstrich / (slash) begrenzten Namen ist genau ein Inode zugeordnet. Dieser speichert folgende Metainformationen zur Datei, aber nicht den eigentlichen Namen:

  • Die Art der Datei (reguläre Datei, Verzeichnis, Symbolischer Link, …), siehe unten;
  • die numerische Kennung des Eigentümers (UID, user id) und der Gruppe (GID, group id);
  • die Zugriffsrechte für den Eigentümer (user), die Gruppe (group) und alle anderen (others);
    Die klassische Benutzer- und Rechteverwaltung geschieht mit den Programmen chown (change owner), chgrp (change group) und chmod (change mode). Durch Access Control Lists (ACL) wird eine feinere Rechtevergabe ermöglicht.
  • verschiedene Zeitpunkte der Datei: Erstellung, Zugriff (access time, atime) und letzte Änderung (modification time, mtime);
  • die Zeit der letzten Status-Änderung des Inodes (status, ctime);
  • die Größe der Datei;
  • den Linkzähler (siehe unten);
  • einen oder mehrere Verweise auf die Blöcke, in denen die eigentlichen Daten gespeichert sind.

Reguläre Dateien

Reguläre Dateien (engl. regular files) sind sowohl Anwenderdaten als auch ausführbare Programme. Letztere sind durch das executable-Recht gekennzeichnet und werden beim Aufruf durch das System in einem eigenen Prozess gestartet. Als „ausführbar“ gelten nicht nur kompilierte Programme, sondern auch Skripte, bei denen der Shebang den zu verwendenden Interpreter angibt. Bei „dünnbesetzten Dateien“, sogenannten sparse files, unterscheidet sich die logische Größe vom durch die Datenblöcke tatsächlich belegten Festplattenplatz.

Verzeichnisse

Verzeichnisse sind Dateien, deren „Dateiinhalt“ aus einer tabellarischen Liste der darin enthaltenen Dateien besteht. Die Tabelle enthält dabei eine Spalte mit den Dateinamen und eine Spalte mit den zugehörigen Inodenummern. Bei manchen Dateisystemen umfasst die Tabelle noch weitere Informationen. So speichert ext4 darin auch den Dateityp aller enthaltenen Dateien ab, so dass dieser beim Auflisten eines Verzeichnisinhalts nicht aus den Inodes aller Dateien ausgelesen werden muss. Für jedes Verzeichnis existieren immer die Einträge . und .. als Verweise auf das aktuelle bzw. übergeordnete Verzeichnis.

Bei symbolischen Links handelt es sich um spezielle Dateien, die anstelle von Daten einen Dateipfad enthalten, auf den der Link verweist. Je nach Dateisystem und Länge des Dateipfads wird der Link entweder direkt im Inode gespeichert oder in einem Datenblock, auf welchen der Inode verweist.

Bei harten Links hingegen handelt es sich nicht um spezielle Dateien. Von einem harten Link spricht man, wenn auf einen Inode mehrfach von verschiedenen Verzeichnissen oder verschiedenen Dateien verwiesen wird. Alle Verweise (Links) auf den Inode sind gleichwertig; es gibt also kein Original. Im Inode gibt der Linkzähler an, wie viele Dateiennamen auf diesen verweisen. Er steht nach dem Anlegen einer Datei also bei 1 und wird erhöht, sobald weitere Hardlinks für diese Datei erstellt werden. Bei einem Verzeichnis beträgt er zwei mehr, als Unterordner darin enthalten sind, da neben dem Eintrag im Ordner darüber und dem Eintrag '.' im Ordner selbst noch die Einträge '..' in allen Unterordnern darauf verweisen. Wird eine Datei gelöscht, so wird ihr Eintrag aus dem übergeordneten Verzeichnis entfernt und der Linkzähler um eins reduziert. Beträgt der Linkzähler dann 0, wird gegebenenfalls abgewartet, bis die Datei von keinem Programm mehr geöffnet ist und erst anschließend der Speicherplatz freigegeben.

Weitere Arten von Dateien

Neben diesen üblichen Dateien existieren weitere Dateitypen:

Verweis auf die Daten

Bei älteren Dateisystemen enthält der Inode üblicherweise eine begrenzte Anzahl von Einträgen auf Datenblöcke, in welchen sich die Nutzdaten der Datei befinden. Da die Anzahl der Einträge im Inode somit die Dateigröße stark begrenzen würde, wird für größere Dateien im Inode ein Verweis auf einen Datenblock gespeichert, in welchem anstatt Nutzdaten wiederum eine Liste mit Verweisen auf Datenblöcken gespeichert ist. Dieses Prinzip kann theoretisch beliebig ineinander verschachtelt wiederholt werden.

Modernere Dateisysteme haben alternativ dazu sogenannte Extents, dabei werden im Inode nur die Nummer des ersten und die des letzten Blocks eines zusammenhängenden Bereichs an Datenblöcken gespeichert. Ist die Datei also nicht fragmentiert, so müssen unabhängig von der Dateigröße nur zwei Block-Ids gespeichert werden: die Nummer des ersten Datenblocks und die Nummer des letzten Datenblocks.

Beispiel

Bei dem Dateisystem ext2 beträgt die Größe eines Inodes standardmäßig 128 Byte[3] Darin verweisen bis zu 12 Einträge einer regulären Datei auf je einen Datenblock, in dem der eigentliche Inhalt gespeichert ist.[4] Reichen diese 12 Blöcke nicht aus, zeigt ein Eintrag im Inode auf einen Cluster, der dann die Verweise zu den eigentlichen Datenclustern enthält.[4] Ein solcher Verweis wird als einfach indirekter Block bezeichnet. Bis zu dreifach indirekte Blöcke sind möglich, so dass die maximale Dateigröße je nach Blockgröße zwischen 16 GiB und 4 TiB liegen kann.[4]

Beispiel einer Inode-Struktur mit 12 KiB in direkt adressierten Datenblöcken und ungefähr 16 Millionen KiB + 65536 KiB + 256 KiB in indirekt adressierten Datenblöcken/Clustern mit jeweils einem KiB Größe:

Die 256 Einträge in den Blöcken, auf die verwiesen wird, ergeben sich daraus, dass ein 1-KiB-Block genau 256 Adressen der Länge 4 Byte (32-Bit-Adressraum) enthalten kann.

Inode Struktur
Inode Struktur

Praxis

Die Inodenummer einer Datei lässt sich mit dem Befehl ls -i <Dateiname> anzeigen. Das Programm find bietet die Option -inum, um nach Dateien mit einer speziellen Inodenummer zu suchen.

Die in einem Inode gespeicherten Metadaten können mit dem Befehl stat angezeigt werden. Das Tool debugfs kennt den Befehl stat <[inodenumer]>, um die im Inode gespeicherten Daten anzuzeigen.

Die Anzahl der möglichen Inodes und somit der möglichen Dateien ist bei manchen Dateisystemen beschränkt; wird die Maximalanzahl erreicht, lassen sich keine weiteren Dateien anlegen. Beim Erstellen von ext2/ext3/ext4-Dateisystemen lässt sich die Anzahl der Inodes einstellen. Bei Datenträgern mit sehr vielen kleinen Dateien muss man also beim Formatieren bereits darauf achten, die Anzahl der Inodes hoch genug zu wählen. Das Programm df (display free disk space, Anzeige der Festplattenbelegung) zeigt mit der Option -i die Anzahl der belegten und verfügbaren Inodes auf allen gemounteten Dateisystemen an.

Dateisysteme haben in der Regel eine Überprüfungssoftware, welche unter anderem die Inodes auf Inkonsistenzen überprüft. Unter Linux und einigen anderen unixoiden Systemen wird dafür fsck eingesetzt. fsck versucht, den Dateisystemtyp zu ermitteln und prüft danach alle Inodes auf ihre Richtigkeit.

Die Anzahl an verfügbaren Inodes wird bei den meisten Dateisystemen bei deren Erstellung festgelegt und lässt sich i. d. R. anschließend nicht mehr ändern. Die Anzahl an Inodes begrenzt somit auch die maximale Anzahl an Dateien, die auf dem Dateisystem gespeichert werden können (einschließlich aller Ordner, Spezialdateien u. ä.).

Literatur

Einzelnachweise

  1. Æleen Frisch: Essential System Administration. 2. Auflage. O’Reilly Verlag, 1995, ISBN 1-56592-127-5, S. 37.
  2. Æleen Frisch: Essential System Administration. 2. Auflage. O’Reilly Verlag, 1995, ISBN 1-56592-127-5, S. 38.
  3. The Second Extended File System, Internal Layout von Dave Poirier, Abschnitt s_inode_size
  4. a b c The Second Extended File System, Internal Layout von Dave Poirier, Abschnitt i_block

Read other articles:

This is a list of Danish aircraft of World War II. Nazi Germany banned Denmark from having aircraft when they occupied the country, so you will not find any aircraft after 1940.[citation needed] Fighters A flight of Dutch Fokker D.XXI Fighters. The Fokker D.XXI was Denmark's most advanced fighter when the German invasion occurred. 23 were available. The main Danish variant of the DXXI was similar to the Bf 109Es used by Germany at the time.Bristol Bulldog[1][2] Gloste...

 

Questa voce o sezione sull'argomento società calcistiche italiane non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. ASD Anzio Calcio 1924Calcio Segni distintivi Uniformi di gara Casa Trasferta Colori sociali Bianco, blu Dati societari Città Anzio Nazione  Italia Confederazione UEFA Federazione FIGC Campionato Serie D Fondazione 1924 Proprietario Fra...

 

Art museum, Historic site in Bayreuth, GermanyKunstmuseum BayreuthKunstmuseum Bayreuth, Entrance in the BrautgasseEstablished1999LocationMaximilianstraße 3395444 Bayreuth, GermanyTypeArt museum, Historic siteWebsitehttp://www.kunstmuseum-bayreuth.de The Kunstmuseum Bayreuth is a museum for modern art, opened in 1999 in Bayreuth, Bavaria, Germany. The historic rooms of the baroque former town hall present exhibitions with contemporary art and classical modern art. The offer includes guided to...

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Cet article ne cite pas suffisamment ses sources (juin 2010). Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ». En pratique : Quelles sources sont attendues ? Comm...

 

Iranian conservative politician, Islamic jurist and prosecutor Hujjat al-Islam[1][2]Gholam-Hossein Mohseni-Eje'iغلامحسین محسنی اژه‌ایMohseni-Eje'i in 2021Chief Justice of IranIncumbentAssumed office 1 July 2021Appointed byAli KhameneiFirst DeputyMohmmad Mosaddegh kahnamouei (2021–2024) Hamzeh Khalili (2024–)Preceded byEbrahim RaisiFirst Deputy to the Chief Justice of IranIn office23 August 2014 – 1 July 2021Appointed bySadeq LarijaniP...

 

Cet article ou cette section contient des informations sur des scrutins à venir. Il se peut que ces informations soient de nature spéculative et que leur teneur change considérablement alors que les événements approchent.La dernière modification de cette page a été faite le 6 avril 2024 à 16:03. 2018 Élection présidentielle vénézuélienne de 2024 28 juillet 2024 Nicolas Maduro – PSUV Edmundo González Urrutia – Plateforme unitaire Président du Venezuela Sortant Ni...

هنودمعلومات عامةنسبة التسمية الهند التعداد الكليالتعداد قرابة 1.21 مليار[1][2]تعداد الهند عام 2011ق. 1.32 مليار[3]تقديرات عام 2017ق. 30.8 مليون[4]مناطق الوجود المميزةبلد الأصل الهند البلد الهند  الهند نيبال 4,000,000[5] الولايات المتحدة 3,982,398[6] الإمار...

 

Pour l’article homonyme, voir Mission to Mars (film). Ne doit pas être confondu avec Objectif Mars. Mission to Mars Localisation Parc Disneyland Lieu Anaheim, États-Unis Coordonnées 33° 48′ 42″ nord, 117° 55′ 01″ ouest Ouverture 21 mars 1975 Fermeture 2 novembre 1992 Parc Magic Kingdom Lieu Orlando (Floride), États-Unis Coordonnées 28° 25′ 07″ nord, 81° 34′ 47″ ouest Ouverture 7 juin 1975 Fermeture 4 octob...

 

Canadian figure skater Karen MagnussenMagnussen in 1974Full nameKaren Diane Magnussen-CellaBorn (1952-04-08) April 8, 1952 (age 72)Vancouver, British Columbia, CanadaHeight160 cm (5 ft 3 in)[1]Figure skating careerCountryCanadaSkating clubNorth Shore Winter ClubRetired1977 Medal record Representing  Canada Figure skating: Ladies' singles Winter Olympics 1972 Sapporo Singles World Championships 1973 Bratislava Singles 1972 Calgary Singles 1971 Lyon Singles Nort...

Overview of liberalism in South Korea This article is part of a series onLiberalism in South Korea Schools Classical Conservative Social Principles Christianity Democratization Due process Economic freedom Economic progressivism Environmentalism foreign voting rights Freedom of the press Freedom of religion Freedom of speech Independence movement Against Japanese imperialism Korean nationalism Pacifism Reunification Sunshine Policy Legal egalitarianism Liberal democracy Mixed economy Republic...

 

American actor and filmmaker (born 1936) Robert RedfordRedford in 2012BornCharles Robert Redford Jr. (1936-08-18) August 18, 1936 (age 87)Santa Monica, California, U.S.Alma materUniversity of Colorado BoulderPratt InstituteAmerican Academy of Dramatic ArtsOccupationsActorfilmmakerYears active1958–presentWorksFull listSpouses Lola Van Wagenen ​ ​(m. 1958, divorced)​ Sibylle Szaggars ​ ​(m. 2009)​Chil...

 

2011 British drama film TyrannosaurTyrannosaur original poster by Dan McCarthyDirected byPaddy ConsidineWritten byPaddy ConsidineProduced byDiarmid ScrimshawMark HerbertStarringPeter MullanOlivia ColmanEddie MarsanPaul PopplewellSally CarmanCinematographyErik WilsonEdited byPia Di CiaulaProductioncompaniesWarp XInflammable FilmsFilm4 ProductionsUK Film CouncilScreen YorkshireEM MediaOptimum ReleasingDistributed byStudioCanalRelease dates 21 January 2011 (2011-01-21) (Sundan...

العلاقات الأرمينية البنمية أرمينيا بنما   أرمينيا   بنما تعديل مصدري - تعديل   العلاقات الأرمينية البنمية هي العلاقات الثنائية التي تجمع بين أرمينيا وبنما.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين: وجه المقارنة أرميني�...

 

Duta Besar Amerika Serikat untuk YordaniaSegel Kementerian Dalam Negeri Amerika SerikatDicalonkan olehPresiden Amerika SerikatDitunjuk olehPresidendengan nasehat Senat Berikut ini adalah daftar Duta Besar Amerika Serikat untuk Yordania Daftar Perwakilan Gerald A. Drew Joseph C. Green Lester D. Mallory Parker T. Hart Sheldon T. Mills William B. Macomber, Jr. Robert G. Barnes Findley Burns, Jr. Harrison M. Symmes L. Dean Brown Thomas R. Pickering Nicholas A. Veliotes Richard Noyes Viets Paul H....

 

العلاقات السيشلية الشمال مقدونية سيشل شمال مقدونيا   سيشل   شمال مقدونيا تعديل مصدري - تعديل   العلاقات السيشلية الشمال مقدونية هي العلاقات الثنائية التي تجمع بين سيشل وشمال مقدونيا.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للد...

George Joseph Herriman (22 Agustus 1880 – 25 April 1944) adalah seorang kartunis Amerika Serikat, yang sangat terkenal sebagai pencipta strip komik Krazy Kat. Pranala luar Wikimedia Commons memiliki media mengenai George Herriman. George Herriman biography Diarsipkan 2023-04-09 di Wayback Machine. on Lambiek Comiclopedia George Herriman biography Diarsipkan 2023-07-31 di Wayback Machine. on Don Markstein's Toonopedia Major Ozone Diarsipkan 2023-07-31 di Wayback Machine., Kraz...

 

Biblical prophecy interpretation associating Bible texts with history Christian eschatology Contrasting beliefs Historicism Interpretations of Revelation Futurism Dispensationalism Preterism Idealism The Millennium Amillennialism Postmillennialism Premillennialism Prewrath rapture Post-tribulation rapture Dispensationalism Biblical texts Daniel Seventy Weeks Synoptic Gospels Olivet Discourse Mark 13 Matthew 24 Sheep and Goats Pauline Epistles 2 Thessalonians Johannine literature Revelation (E...

 

United Nations Security Council resolution United Nations resolution adopted in 2002 UN Security CouncilResolution 1419Members of the Afghan loya jirga in 2002Date26 June 2002Meeting no.4,560CodeS/RES/1419 (Document)SubjectThe situation in AfghanistanVoting summary15 voted forNone voted againstNone abstainedResultAdoptedSecurity Council compositionPermanent members China France Russia United Kingdom United StatesNon-permanent members Bulgaria Cameroon&#...

محافظات أيرلندا الاربعة: 1) لينستر 2) مونستر 3) كوناكت 4) أولستر تقسم أيرلندا إلى أربع محافظات: كوناكت (كونوت) ولينستر ومونستر وأولستر. تشير الكلمة الأيرلندية لهذا التقسيم الإقليمي (cige) والتي تعني (الجزء الخامس) إلى أنه كان هناك في الأصل خمسة مقاطعات، وقد صنفت مقاطعة ميث كمقاطعة...

 

Cet article est une ébauche concernant le Nouveau-Brunswick. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Les Premières nations du Nouveau-Brunswick sont l'ensemble des Premières nations (au sens de « bande indienne ») présentes sur le territoire du Nouveau-Brunswick au Canada. Celles-ci totalisent plus de 10 000 personnes, surtout des Micmacs et des Malécites. Carte des réserves indien...