Betriebssysteme 5. Dateisysteme II. Peter Altenbernd Dateisysteme II Betriebssysteme WS 2010/11 Hochschule Darmstadt

Größe: px
Ab Seite anzeigen:

Download "Betriebssysteme 5. Dateisysteme II. Peter Altenbernd Dateisysteme II Betriebssysteme WS 2010/11 Hochschule Darmstadt"

Transkript

1 Betriebssysteme 5. Dateisysteme II 1

2 Übersicht 1. Ziel des Kapitels 2. Implementierung von Dateisystemen 3. Organisation von Dateisystemen 4. Leistungsoptimierung 5. Konsistenz von Dateisystemen 6. Linux Dateisysteme 2

3 1. Ziel dieses Kapitels Dieser Teil beschreibt den Aufbau und die Realisierung von Dateisystemen insbesondere am Beispiel von Linux/Unix. Relevante Abschnitte im Buch [1] Abschnitt Abschnitte 6.3 und 6.4 3

4 1. Ziel dieses Kapitels Jede Anwendung muss Informationen speichern und abrufen können. Üblicherweise geschieht dies mit Hilfe von Dateien, d.h. Organisationseinheiten von Daten, die auf externen Medien gespeichert werden. Dafür gibt es folgende Gründe: Die Kapazität des Adressraums ist zu klein. Die Dateien des Adressraums sind nicht persistent, d.h. sie gehen verloren. Der Zugriff auf gemeinsam genutzte Daten ist einfacher und kann entsprechend geschützt werden (Benutzersicht) Die Existenz einer Datei ist unabhängig davon, ob ein Programm gerade läuft. Auf entfernte bzw. weitere Datenträger zugegriffen werden. Die Aufgaben des Betriebssystems hierbei sind: Verwaltung, d.h. Strukturierung und Namensgebung Zugriff, d.h. Benutzung und Schutz Darstellung gegenüber dem Benutzer Ein- und Aushängen von Datenträgern 4

5 2. Implementierung von Dateisystemen Ein Dateisysteme verwaltet sondern Zuordnungseinheiten, die Blöcke genannt werden. Im Folgenden werden verschiedene Möglichkeiten gezeigt, wie welche Plattenblöcke mit welchen Dateien in Verbindung zu bringen sind. Danach wird auf andere Aspekte der Implementierung von Dateisystemen eingegangen. 2.1 Zusammenhängende Belegung Hierbei werden Dateien hintereinander auf die Platten geschrieben. 5

6 2. Implementierung von Dateisystemen Vorteile einfach, denn die Dateiblöcke können durch Kenntnis der Adresse des Anfangsblocks und der Anzahl der Folgeblöcke adressiert werden. eine Komplette Datei kann mit nur einer Operation von der Platte gelesen werden. Nachteil Fragmentierung Eine Verwendung dieses Ansatzes macht insbesondere bei CD-ROMs Sinn. 6

7 2. Implementierung von Dateisystemen 2.2 Belegung durch verkettete Listen Hierbei wird jede Datei als verkettete Liste von Plattenblöcken gespeichert. 7

8 2. Implementierung von Dateisystemen Dabei entsteht keine Fragmentierung. Allerdings ist der wahlfreie Zugriff sehr langsam, da alle davor liegenden Blöcke besucht werden müssen. Eine alternative Umsetzung davon ist eine Datei-Allokationstabelle (FAT), die in den Hauptspeicher gelegt wird. Dadurch wird der wahlfreie Zugriffe (geringfügig) beschleunigt. Diese Tabelle kann allerdings sehr groß werden (Frage: Wie groß?). 8

9 2. Implementierung von Dateisystemen 2.3 I-Nodes Unix-Dateisysteme sind nach einem anderen Prinzip aufgebaut. Es gibt zwar viele verschiedene Dateisysteme unter Unix, die prinzipielle Funktionsweise ist jedoch immer gleich. Dieses Prinzip beruht auf einer Datenstruktur names I-Nodes. Ein I-Node enthält zu jeder Datei die zugehörigen Attribute (Größe usw.) und eine feste Anzahl Datenträgeradressen der verwendeten Blöcke der Datei. Benutzt die Datei weniger Platz, sind die Felder einfach leer. Jedes I-Node wird mit einer eindeutigen Nummer in Verbindung gebracht 9

10 2. Implementierung von Dateisystemen Vorteile: Das I-Node muss nur dann im Speicher stehen, wenn die Datei geöffnet ist. Im Vergleich zu einer FAT wird weniger Speicherplatz benötigt. Frage: Wie viel Platz wird benötigt? Nachteil: Die Größe einer Datei ist limitiert auf eine bestimmte Anzahl von Blöcken. Dies lässt sich allerdings verbessern, indem Indirektionsblöcke benutzt werden: Ist die Datei z.b. größer als 10 Blöcke (also größer als 10*1024 oder 10*2048 oder 10*512), so enthält das nächste Feld des I-Nodes eine Adresse eines Blockes, der wiederum bis zu 128 Adressen anderer Blöcke enthalten kann. Sollte das auch noch nicht ausreichen, so enthält der nächste I-Node-Eintrag eine Adresse eines Zweifach-Indirektionsblocks, eines Blocks, der bis zu 128 Adressen auf Blöcke mit wiederum 128 Adressen enthält. Falls auch das noch zu wenig sein sollte, enthält der nächste Eintrag die Adresse eines Blockes, der wiederum 128 Adressen von ZweifachIndirektionsblöcken enthalten kann. So sind Dateigrößen von 1, 2 oder 4 Gigabyte (je nach Blockgröße von 512, 1024 oder 2048 Byte) möglich. 10

11 2. Implementierung von Dateisystemen I-Nodes mit Dreifach-Indirektionsblöcken: 11

12 2. Implementierung von Dateisystemen Das Format eines typischen I-Nodes sieht somit etwa so aus: Typ und Zugriffsrechte Anzahl der Hardlinks Benutzernummer (UID) Gruppennummer (GID) Größe der Datei in Bytes Datum der letzten Veränderung (mtime) Datum der letzten Statusänderung (ctime) Datum des letzten Zugriffs (atime) Adresse von Datenblock 0... Adresse von Datenblock 9 Adresse des ersten Indirektionsblocks Adresse des Zweifach Indirektionsblocks Adresse des Dreifach Indirektionsblocks Zu beachten ist, dass der Dateiname selbst nicht im I-Node auftaucht. Ein INode ist also nur die Referenz auf die Datenblöcke, die eine Datei benutzt und der Ort, an dem die Attribute wie Eigentümer, Gruppe, Größe und Zugriffsdaten gespeichert sind. 12

13 2. Implementierung von Dateisystemen 2.4 Implementierung von Verzeichnissen Die Hauptfunktion eines Verzeichnisses ist es, den Namen einer Datei auf die benötigte Information zum Auffinden der zugehörigen Daten (Nr. des ersten Blocks bei einer FAT bzw. Nr. des I-Nodes) abzubilden. Die zu einer Datei gehörigen Attribute (z.b. Eigentümer, Entstehungszeit) werden ebenfalls direkt im Verzeichnis abgelegt. Werden I-Nodes benutzt, können die Attribute auch in den I-Nodes abgespeichert werden, was die Verzeichnis-Einträge kürzer macht. In einem einfachen DS (wie MS-DOS) besteht ein Verzeichnis aus einer Liste (fester Größe) mit Einträgen fester Größe (8.3-Prinzip). Will man längere Dateinamen unterstützen, besteht die Möglichkeit, ein höheres Limit zu setzen (z.b. 255 Zeichen Frage: Nachteil?) oder eine dynamische Datenstruktur (Heap) zu benutzen. Natürlich ist der Verwaltungsaufwand dafür höher. 13

14 2. Implementierung von Dateisystemen Soll eine bestimmte Datei in einem Verzeichnis gefunden werden, muss das Verzeichnis linear durchsucht werden, d.h. vom Anfang bis zum Ende, was für sehr große Verzeichnisse sehr zeitaufwendig ist. Ein Weg, diese Suche zu beschleunigen, ist es, Hash-Tabellen oder Binäre Suchbäume für die Verwaltung der Dateinamen zu verwenden ( später). Sowohl bei FAT- als auch bei I-Node-basierten Dateisystemen können Verzeichnisse selbst als Dateien abgelegt werden, so dass es keine (ungewollten) Beschränkungen gibt. Jedes Verzeichnis auch das Wurzelverzeichnis ist unter Unix also nichts anderes als eine Datei, deren Inhalt einfach die Dateinamen der enthaltenen Dateien samt ihren I-NodeNummern enthält. Ein Attribut weist dabei darauf hin, dass es sich um ein Verzeichnis handelt. Je nach verwendetem Dateisystem liegt das Wurzelverzeichnis auf einem festgelegten I-Node (meistens 1 oder 2). Grundsätzlich ist es aber dem Dateisystem bekannt, welcher I-Node das Wurzelverzeichnis enthält ( Superblock). 14

15 2. Implementierung von Dateisystemen Beispiel: Zugriff auf /usr/ast/mbox Frage: Auf welchem I-Node liegt das Wurzelverzeichnis? 15

16 2. Implementierung von Dateisystemen 2.5 Implementierung von Links Durch Links wird aus einem Datei-Baum ein gerichteter azyklischer Graph. Die Umsetzung von Hard-Links also von Dateien mit mehreren Namen mit Hilfe von I-Nodes ist einfach: Es wird die Anzahl der Verweise auf eine Datei gezählt, denn es handelt sich ja nur um verschiedene Namenseinträge, die eben dieselbe I-Node-Nummer besitzen. Beispiel: Problem: Die Datei ist am Ende immer noch im Besitz von C. Bei Symbolischen Links (Soft-Links) besteht der Verweis aus einer Textdatei, die den Pfadnamen enthält. Das Entfernen des Soft-Links berührt die verwiesene Datei also in keiner Weise. Das Kopieren von Dateibäumen wird durch Links erschwert. 16

17 2. Implementierung von Dateisystemen 2.6 Der Superblock Ein Unix-Dateisystem besitzt einen so genannten Superblock, d.h. einen Block, der die grundlegende Information (Schlüssel-Parameter) zum Dateisystem enthält. Einige wichtige Daten des Superblocks sind: Die Größe des Dateisystems in Blöcken Die Größe der Blöcke in Bytes Zeiger auf den ersten freien Datenblock Zeiger auf erste freie I-Node Verschiedene Statusbits (Flags) Auch hier unterscheiden sich die verschiedenen Unix-Dateisysteme von einander, was an zusätzlichen Informationen im Superblock gespeichert ist. Das Wesentliche an dieser Struktur ist, dass der Superblock beim Mounten eines Dateisystems in den Speicher gelesen wird und alle Veränderungen dort vorgenommen werden. Erst beim Wiederabhängen des Dateisystems werden diese Veränderungen physikalisch auf der Platte gespeichert, so dass es nach einem Systemabsturz zu Inkonsistenzen kommen kann. 17

18 2. Implementierung von Dateisystemen 2.7 Verwaltung von Blöcken Wie bei der Verwaltung des Hauptspeichers ist die Auswahl der geeigneten Granularität eine schwierige Angelegenheit: Bei größeren Blöcken wird Platz verschenkt, denn kleine Dateien oder Teile davon benötigen benötigen immer einen ganzen Block. Bei kleinen Blöcken ergibt sich eine größere Zerstückelung der Dateien, so dass längere Suchzeiten zu erwarten sind. Multimedia Betriebssysteme mit sehr großen Dateigrößen haben diesbezüglich andere Anforderungen als normale Anwendungen. 18

19 2. Implementierung von Dateisystemen Der noch verfügbare Plattenplatz kann als Liste oder Bitmap verwaltet werden: 19

20 3. Organisation von Dateisystemen 3.1 Partitionen und Wechseldatenträger Dateisysteme werden auf Platten gespeichert, die sich in mehrere Partitionen mit unterschiedlichen Dateisystemtypen einteilen lassen. Jede Partition ist etwa wie folgt aufgeteilt: 20

21 3. Organisation von Dateisystemen Ein Unix-System fasst alle Partitionen und angeschlossenen Laufwerke zu einem Dateibaum zusammen. Physikalisch bleiben die Daten auf den entsprechenden Partitionen bzw. Laufwerken. Mit dem Befehl mount (montiere) werden dabei die Partitionen an einem bestimmten Punkt des Dateisystems eingehängt. Als ein solcher Mountpoint dient jeweils ein leeres Verzeichnis. (Falls das Verzeichnis nicht leer ist, so wird der Inhalt während des Zustands, in dem ein anderes Laufwerk in das Verzeichnis gemountet ist, versteckt. Nach dem Wiederabhängen des Laufwerks mit dem Befehl umount wäre der Inhalt des Verzeichnisses wieder unverändert vorhanden). 21

22 3. Organisation von Dateisystemen In der Regel werden alle Partitionen, die verwendet werden sollen, bereits während des Bootvorgangs automatisch gemountet. Dazu muss das System aber eine entsprechende Bauanleitung besitzen, die klärt, in welche Verzeichnisse welche Partitionen eingehängt werden sollen. Unter Linux liegt diese Bauanleitung in der Datei /etc/fstab und enthält gleichzeitig auch Angaben zu den Partitionen oder Laufwerken beinhalten, die nicht automatisch gemountet werden sollen, wie etwa Wechseldatenträger oder CD-Rom-Laufwerke, z.b.: $ cat /etc/fstab /dev/hda6 / reiserfs /dev/hda1 /windows/c ntfs /dev/hda2 /windows/d vfat /dev/hda5 swap swap devpts /dev/pts devpts proc /proc proc usbfs /proc/bus/usb usbfs sysfs /sys sysfs /dev/dvdram /media/dvdram subfs $ acl,user_xattr 1 1 ro,users,gid=users,umask=0002,nls=utf8 0 0 users,gid=users,umask=0002,iocharset=utf8 0 0 pri= mode=0620,gid=5 0 0 defaults 0 0 noauto 0 0 noauto 0 0 fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=u 22

23 3. Organisation von Dateisystemen Die Zeilen haben folgendes Format: Gerätedatei Mountpoint Dateisystemtyp Optionen Dump Reihenfolge Gerätedatei: Hier steht die Gerätedatei des blockorientierten Geräts, das die Partition oder das Laufwerk bezeichnet. Dabei kann es sich auch um ein Netzlaufwerk (NFS) handeln, z.b. hal.mydomain.de:usr/public Mountpoint: Hier steht das Verzeichnis, in das die Partition oder das Laufwerk eingehängt werden soll. Dateisystemtyp: Hier wird der Typ des Dateisystems angegeben, das diese Partition bzw. dieses Laufwerk enthält. Der Kernel muss das jeweilige Dateisystem unterstützen, sonst kann es nicht gemountet werden. 23

24 3. Organisation von Dateisystemen Jedes Mal, wenn ein Dateisystem mit mount in den Dateibaum gehängt wurde, wird dieses Dateisystem in der Datei /etc/mtab eingetragen bzw. bei umount wieder entfernt. Wird der Befehl mount ohne jeden Parameter eingegeben, so liest er diese Datei und gibt den Inhalt in etwas aufbereiteter Form auf dem Bildschirm (genauer der Standard-Ausgabe) aus, z.b: $ mount /dev/hda6 on / type reiserfs (rw,acl,user_xattr) proc on /proc type proc (rw) tmpfs on /dev/shm type tmpfs (rw) devpts on /dev/pts type devpts (rw,mode=0620,gid=5) /dev/hda1 on /windows/c type ntfs (ro,noexec,nosuid,nodev,gid=100,umask=0002,nls=utf8) /dev/hda2 on /windows/d type vfat (rw,noexec,nosuid,nodev,gid=100,umask=0002,iocharset /dev/hdc on /media/dvdram type subfs (ro,nosuid,nodev,fs=cdfss,procuid,iocharset=utf8) usbfs on /proc/bus/usb type usbfs (rw)1 $ 24

25 3. Organisation von Dateisystemen 3.2 Anlegen von Dateisystemen Bevor eine Partition benutzt werden kann, muss auf ihr zunächst ein Dateisystem angelegt werden (Formatierung). Der Befehl, mit dem dieser Vorgang gestartet wird ist mkfs (Make Filesystem). Folgendes Kommando legt ein Dateisystem auf einer Diskette an: $ /etc/mkfs /dev/dsk/f0q15dt 2200 $ Der letzte Parameter des mkfs-kommandos legt die Anzahl der Blöcke fest, aus denen das Filesystem besteht. 25

26 4. Leistungsoptimierung 4.1 Caching für Dateien Hier beschreibt Cache eine Ansammlung von Blöcken, die logisch auf der Platte stehen, jedoch aus Gründen der Performance im Speicher gehalten werden. Es können verschiedene Algorithmen verwendet werden, um den Cache zu verwalten. Üblicherweise wird geprüft, 1. ob der benötigte Block schon im Cache liegt. 2. Ist das nicht der Fall, wird dieser nachgeladen und 3. es wird ggf. ein anderer Block verdrängt und zurück geschrieben. Es herrscht also eine ähnliche Situation wie beim Paging der SpeicherVerwaltung, so dass auch hier die üblichen Seitenersetzungverfahren eingesetzt werden. Allerdings gibt es hier etwas andere Anforderungen, wobei es u.a. eine Rolle spielt, ob der Block wahrscheinlich wieder gebraucht wird der Block für die Konsistenz des Dateisystems wichtig ist der Block auf einem entfernbaren Datenträger liegt. 26

27 4. Leistungsoptimierung Die Ersetzungsstrategien kommen daher nur in abgewandter Form zum Einsatz. Dazu zählt auch die Technik einen Block bei passender Gelegenheit schon in den Cache zu bringen, bevor er benötigt wird. Wie bei Daten, die für die Konsistenz des DS wichtig sind, ist besondere Vorsicht bei Caching von Daten auf entfernbaren Datenträgern geboten: Wird der Datenträger entfernt, bevor Veränderungen mit dem Cache synchronisiert wurden, droht Datenverlust! Es gibt i.w. 2 Arten dem vorzubeugen: Bei Write-Through Caching geht man auf Nummer sicher: Caching wird im Prinzip nur für lesenden Zugriff gemacht. Jeder schreibende Zugriff hingegen findet nicht nur im Cache sondern auch im Speichermedium selbst statt. Der Cache kann mit Hilfe eines Systemaufrufs (sync) aktiv (oder regelmäßig) vor dem Entfernen abgeglichen werden. 27

28 4. Leistungsoptimierung 4.2 Geräte-spezifische Optimierungen Bei einer Festplatte lassen sich die Anzahl der Bewegungen des Plattenarms lässt sich verringern, wenn sich Blöcke, auf die wahrscheinlich sequentiell zugegriffen wird, nahe beieinander liegen. Dazu kann das BS versuchen, Dateien immer möglichst zusammenhängend abzulegen. Oft wird dies schon über die Firmware der Festplatte bzw. den Geräte-Treiber gemacht ( Geräteverwaltung). Ähnliches gilt in abwandelter Form auch für andere Formen von Permanentspeicher, wie Solid Stated Drives. Dies spielt also auf Ebene des Dateisystems keine Rolle. 28

29 4. Leistungsoptimierung 4.3 Nutzdatenverwaltung m Rahmen dieses Kapitels wurden eine Reihe von Problemen präsentiert, bei denen eine große Menge von (organisierten) Daten verwaltet werden muss, d.h. es werden Operationen zum Einfügen, Suchen und Entfernen benötigt Dies ist eine wohl-bekannte Problemstellung aus der Informatik. Dabei werden die o.g. Operationen Dictionary-Funktionen genannt. Beispiele im Kontext von Dateisystemen sind: Verwaltung des Cache: Ist ein Block im Cache (und wo)? Verwaltung von großen Verzeichnissen: Suche nach einer Datei Wahlfreier Zugriff (via FAT): In welchem Block ist das i-te Byte? Ohne besondere Vorkehrungen (d.h. sequentieller Zugriff) haben die Operationen i.a. einen sehr hohen Aufwand. Eine effiziente Alternative ist Hashing. 29

30 4. Leistungsoptimierung Dabei werden Daten an einem wohldefinierten Ort (Hash-Adresse) abgelegt und wieder gefunden, was durch die Benutzung einer Hash-Funktion geschieht. T 0 k6 k10 k9 k1 k2 k8 X h(k3) 1 X k7 h(k4) k3 X h(k2) = h(k5) k4 X k5 h(k1) m 1 X Problematisch ist dabei immer eine möglichst gleichmäßige Streuung der Daten. 30

31 4. Leistungsoptimierung Eine weitere Möglichkeit, die DictionaryFunktionen zu implementieren, bieten Balancierte Suchbäume (Balanced Binary Trees B-Trees). Sie wurden beim ReiserFS eingesetzt für die Organisation von Verzeichnissen, um die Suche von Dateien zu unterstützen. 31

32 4. Leistungsoptimierung Vorteile Die B-Trees ermöglichen (wie Hashing) eine höhere Zugriffsleistung und somit Durchsatz der Festplatte, da im Durchschnitt im Baum weniger Suchschritte von Nöten sind als in der Liste. z.b. ein Verzeichnis besitzt 1000 Einträge, dann werden bis zu 1000 Suchschritte in der verketteten Liste gebraucht, beim ausbalancierten binären Suchbaum jedoch nur 10 (log2 1000). Nachteile Nach jedem neuen Eintrag (Einfügen oder Löschen) in den Baum muss dieser neu `ausbalanciert` werden. Das erfordert ggf. einen höhere Rechenleistung als bei anderen Verfahren. Die Implementierung der 'Ausbalancierung' resultiert in einem komplexerem Programmcode, der ca. 5x größer ist als bei ext2fs. Besonders das Ausbalancieren ist ein komplizierter Vorgang. Somit steigt natürlich auch die Fehleranfälligkeit. 32

33 5. Konsitenz von Datei-Systemen Dateisysteme sind aus komplexen Zusammenhängen aufgebaut und für jede Veränderung sind eine ganze Reihe von Aktionen notwendig, bis die Veränderung fertig gestellt ist. Falls es während einer solchen Veränderung zu einem Systemabsturz, einem ungesicherten Stromausfall o.ä. kommt, können die anfallenden Arbeiten nicht mehr korrekt ausführen (Inkonsistenzen). 5.1 File-System Check Seit dem Anfang der Unix-Dateisysteme gibt es ein Programm, das die Systeme überprüft und gegebenenfalls repariert - file system check (fsck). In der Regel werden die Dateisysteme beim Systemstart geprüft, bevor sie gemountet sind (und dadurch von Prozessen benutzt und verändert werden). Auch für eine manuelle Anwendung von fsck wird in den meisten Fällen das Dateisystem abgehängt und erst dann überprüft. 33

34 5. Konsitenz von Datei-Systemen Hörsaal-Übung: Nachfolgend sind verschiedene Ergebnisse eines fsckdurchlaufs angegeben. Dabei wurde für jeden Block protokolliert, wie oft er in einer Datei und wie oft er in der Freiliste vorkommt. Stellen Sie fest, welche Zustände konsistent sind und wie mit inkonsistenten Zuständen verfahren werden soll! 34

35 5. Konsitenz von Datei-Systemen Gleichzeitig zur Konsistenz-Prüfung auf Basis von Blöcken können die Verzeichnisse überprüft werden, indem protokolliert wird in wie vielen Ordnern eine Datei verzeichnet ist (a). Dies kann dann mit dem Wert des I-Nodes verglichen werden, der Hard-Links implementiert (b): Gilt a=b, ist alles in Ordnung Gilt a>b, wird b=a gesetzt, um zu gewährleisten, dass die Datei beim letzten Löschen auch wirklich von der Platte entfernt wird. Im Fall a<b könnte es zum vorzeitigen Entfernen von der Platte kommen, obwohl noch Verweise auf die Datei bestehen (Datenverlust). Daher wird ebenfalls b=a gesetzt. Darüber hinaus existiert eine recht lange Liste erlaubter aber dennoch sonderbarer Situationen, die die Ausgabe einer Warnung wert sind (z.b. Zugriffsrecht 0007) 35

36 5. Konsitenz von Datei-Systemen 5.2 Die Überprüfung beim Systemstart Jedes Mal, wenn das System neu gebootet wird, werden alle Dateisysteme überprüft. In der Regel wird aber nur überprüft, ob sie "sauber" sind - nur wenn nicht, wird die eigentliche Überprüfung gestartet. Dazu wird im Superblock ein so genanntes Valid-Flag (Clean-Flag) benutzt: Jedes Mal, wenn ein Dateisystem gemountet wird, wird dieses Flag auf 0 gesetzt. Erst beim ordentlichen Abhängen durch umount wird es wieder auf 1 gesetzt. Falls das System nicht sauber heruntergefahren wird, wird das Flag also nicht gesetzt. Beim Systemstart überprüft das fsck-programm also zunächst, ob dieses Flag auf 1 steht: Falls ja, so gilt das Dateisystem als sauber und es wird nicht überprüft. Falls nein, wird eine Überprüfung durchgeführt. Zusätzlich enthält der Superblock einen Zähler, der beschreibt, wie oft das Dateisystem gemountet wurde, seit es das letzte Mal überprüft wurde. Nach 20 erfolgten Mounts wird überprüft, auch wenn das Flag gesetzt ist. 36

37 5. Konsitenz von Datei-Systemen 5.3 Journaling Die Überprüfung auf Konsistenz bei großen Platten hat einen hohen Zeitaufwand, da jede Datei auf der Partition getestet werden muss, ob sie fehlerhaft ist. Abhilfe schafft ein so genanntes Journaling Filesystem: Jede Operation auf dem Dateisystem wird als Transaktion (z.b. das Kopieren einer Datei) aufgefasst und in einem Journal notiert, bevor sie ausgeführt wird (d.h. Protokollierung der Veränderung von Metadaten den Verwaltungsdaten des DS) Ein solche Transaktion besteht dabei immer aus mehreren Einzelschritten (z.b. Anlegen der Datei im Zielverzeichnis, Lesen der Daten, Schreiben der Daten). Sollte einer dieser Schritte durch einen Systemabsturz unterbrochen werden, wären das DS nicht mehr konsistent. Erst wenn die Transaktion vollständig abgearbeitet ist, wird dieser Eintrag aus dem Journal wieder entfernt, denn dann ist das DS wieder konsistent. 37

38 5. Konsitenz von Datei-Systemen Somit ist im Journal immer notiert welche Dateien momentan in Bearbeitung stehen. Somit gilt nach einem Ausfall: Es müssen nur die Dateien überprüft werden, die im Journal erwähnt sind. Auf Grund der Einträge im Journal lässt sich feststellen, wann in etwa die Unterbrechung einer Transaktion stattgefunden hat. So ist es z.b. möglich bei einem unvollendetem Schreibvorgang die Daten auf den Ausgangszustand zurück zu setzen (Recovery der nicht geschlossenen Transaktionen). Im Wesentlichen gibt hierbei zwei verschiedene Betriebssarten: Metadaten-Journaling: Nur die Änderungen der Metadaten werden festgehalten zur Konsistenz des Datensystems (d.h. beste Performance aber geringste Datensicherheit) (Full-)Journaling: auch die Veränderungen an Nutzerdaten werden im Journal gespeichert zur Konsistenz der Datei-Inhalte (langsam, aber sehr sicher). 38

39 8. Linux Dateisysteme Linux unterstützt nicht ein bestimmtes Dateisystem, sondern erlaubt durch eine einheitliche Schnittstelle zum Linux-Kern (dem Virtual Filesystem Switch, VFS oder einfach virtuelles Filessystem genannt), mehrere Dateisysteme transparent zu verwenden. Der VFS stellt einen definierten Übergang zwischen Betriebssystemkern und den unterschiedlichen Dateisystemen dar. Insgesamt ergeben sich folgende Schichten des Dateisystems: Prozess 1 Prozess 2... Prozess n Nutzermodus Systemmodus VFS ext2 msdos... jfs proc Dateisystem Puffercache... 39

40 8. Linux Dateisysteme Auf Ebene der Programmierung greift ein Nutzerprozess immer über Systemaufrufe des VFS auf ein physisches Dateisystem zu. Systemaufrufe zum Datei-Management (z.b. read() und write()) sind dabei VFS-Funktionen. Nutzermodus: Der Anwendungsprogrammierer muss also Details einzelner Dateisystem nicht kennen, z.b wie der Cache-Mechanismus funktioniert. Der Programmierer braucht (und soll) nicht einmal wissen, auf welchem Dateisystem (-typ) die Dateien, die später mit dem Programm kopiert werden, physisch sind. Systemmodus: Ein Kernel-Programmierer hingegen muss die interne Struktur (C-Datenstruktur und die C-Funktionen zu ihrer Manipulation) vom VFS oder des Dateisystems kennen. Soll z.b. das VFS bei Aufruf eines Anwendungsprogramms, das read() die Anzahl der gelesenen Bytes in einer Protokolldatei speichern, muss ein Kernel-Programmierer die VFS read-funktionen ändern. Soll diese Protokollierung lediglich beim ext2 Dateisystem vollzogen werden, muss ein Kernel-Programmierer die interne Struktur des ext2 System kennen und den read-aufruf ändern. 40

41 8. Linux Dateisysteme Das VFS ist selbst wie ein I-Node-basiertes Dateisystem strukturiert: So ist z.b. ein Verzeichnis lediglich eine Datei, die andere Dateien enthält. Falls ein unterstütztes Dateisysteme dagegen einen anderen Mechanismus verwendet, muss die Implementierung eine Datei für jedes Verzeichnis automatisch erzeugen. Der Linux-Kernel braucht nicht für jede read()-funktion jedes Dateisystems einen Systemaufruf haben. Wird ein eigenes Dateisystem entworfen, muss die vorgegeben Programmier-Schnittstelle des VFS bedient werden, d.h. es müssen Funktionen bereit gestellt werden wie z.b. int int int int int int (*unlink) (struct inode *,const char *,int); (*symlink) (struct inode *,const char *,int,const char *); (*mkdir) (struct inode *,const char *,int,int); (*lseek) (struct inode *, struct file *, off_t, int); (*read) (struct inode *, struct file *, char *, int); (*write) (struct inode *, struct file *, const char *, int); 41

Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1

Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1 Laufwerke unter Linux - Festplatten - - USB Sticks - September 2010 Oliver Werner Linuxgrundlagen 1 Wie wird auf Festplatten zugegriffen? Es gibt nur einen Verzeichnisbaum, siehe Verzeichnisse Es gibt

Mehr

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1 Systeme 1 Kapitel 3 Dateisysteme WS 2009/10 1 Letzte Vorlesung Dateisysteme Hauptaufgaben Persistente Dateisysteme (FAT, NTFS, ext3, ext4) Dateien Kleinste logische Einheit eines Dateisystems Dateitypen

Mehr

Was machen wir heute? Betriebssysteme Tutorium 11. Mounten: Vorher. Frage 11.1.a

Was machen wir heute? Betriebssysteme Tutorium 11. Mounten: Vorher. Frage 11.1.a Was machen wir heute? Betriebssysteme Tutorium 11 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 1. Thomas Kolarz. Folie 1 Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die

Mehr

Lösung von Übungsblatt 6

Lösung von Übungsblatt 6 Lösung von Übungsblatt 6 Aufgabe 1 (Dateisysteme) 1. Welche Informationen speichert ein Inode? Speichert die Verwaltungsdaten (Metadaten) einer Datei, außer dem Dateinamen. 2. Nennen Sie drei Beispiele

Mehr

Partitionierung unter Linux

Partitionierung unter Linux Partitionierung unter Linux Die Struktur einer Festplatte Aufbau der Partitionstabelle und Regeln Programme zum Partitionieren Partitionslayouts Dateisysteme Volume Label Warum partitionieren? Mehrere

Mehr

Praktikum angewandte Systemsoftwaretechnik (PASST)

Praktikum angewandte Systemsoftwaretechnik (PASST) Praktikum angewandte Systemsoftwaretechnik (PASST) Dateisysteme / Aufgabe 6 21. Juni 2018 Stefan Reif, Peter Wägemann, Florian Schmaus, Michael Eischer, Andreas Ziegler, Bernhard Heinloth und Benedict

Mehr

Betriebssysteme - Dateisysteme

Betriebssysteme - Dateisysteme Betriebssysteme - Dateisysteme... alois.schuette@h-da.de Version: (8c45d65) ARSnova 19226584 Alois Schütte 23. März 2016 1 / 57 Inhaltsverzeichnis Dieser Teil beschreibt den Aufbau von Dateisystemen am

Mehr

Zugriffe auf Laufwerke

Zugriffe auf Laufwerke Zugriffe auf Laufwerke Autor: Rüdiger Pretzlaff (rpretzlaff@users.sourceforge.net) Formatierung: Matthias Hagedorn (matthias.hagedorn@selflinux.org) Lizenz: GFDL Das vorliegende Kapitel behandelt den Zugriff

Mehr

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97)

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97) DATEIVERWALTUNG STANZL Martin 4. HB/a Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97) INHALTSVERZEICHNIS 1. Die Aufteilung des Plattenspeichers... 2 2. Der Aufbau von Dateien... 2 3.

Mehr

Dateisysteme. Erweiterte Anforderungen an Speicher

Dateisysteme. Erweiterte Anforderungen an Speicher Erweiterte Anforderungen an Speicher Mehr Speicher als adressierbar ist. Daten sollen nach Beendigung des Prozesses zur Verfügung stehen Mehrere Prozesse sollen auf die Daten zugreifen können. Nutzung

Mehr

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München

Mehr

Grundlagen der Dateisysteme. Daniel Lieck

Grundlagen der Dateisysteme. Daniel Lieck Grundlagen der Dateisysteme Daniel Lieck Einführung Dateisysteme wofür eigentlich? - Ändern, Erstellen, Löschen von Dateien - Strukturierung der Dateien auf Datenträger - Dateiname und rechnerinterne Speicheradressen

Mehr

Betriebssysteme, Rechnernetze und verteilte Systeme 1 (BSRvS1) Dateisysteme.

Betriebssysteme, Rechnernetze und verteilte Systeme 1 (BSRvS1) Dateisysteme. Betriebssysteme, Rechnernetze und verteilte Systeme 1 (BSRvS1) Dateisysteme Olaf Spinczyk 1 Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de

Mehr

Das ext2-dateisystem

Das ext2-dateisystem Das ext2-dateisystem 18. Februar 2004 Geschichte Linux wurde unter Minix entwickelt. Dieses Betriebssystem hatte ein einfaches Dateisystem, das zudem noch sehr gut getestet war. So war das erste Dateisystem,

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Dateisysteme Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2011/bs/

Mehr

Betriebssysteme (BS) Dateisysteme. Olaf Spinczyk.

Betriebssysteme (BS) Dateisysteme. Olaf Spinczyk. Betriebssysteme (BS) Dateisysteme http://ess.cs.tu-dortmund.de/de/teaching/ss2016/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik

Mehr

6.1.5 Verzeichnisdateien

6.1.5 Verzeichnisdateien 6.1.5 Verzeichnisdateien Anstelle eines zentralen Verzeichnisses: Menge von Verzeichnisdateien (directory files), die selbst in Verzeichnissen verzeichnet sind, alle ab einem Wurzelverzeichnis (root directory)

Mehr

Alle Metadaten werden in Dateien gehalten

Alle Metadaten werden in Dateien gehalten 6 Beispiel: Windows NT (NTFS) 6.3 Metadaten 6.3 Metadaten Alle Metadaten werden in Dateien gehalten Indexnummer 0 1 2 3 4 5 6 7 8 16 17 MFT MFT Kopie (teilweise) Log File Volume Information Attributtabelle

Mehr

Verzeichnisbaum. Baumartige hierarchische Strukturierung Wurzelverzeichnis (root directory) Restliche Verzeichnisse baumartig angehängt

Verzeichnisbaum. Baumartige hierarchische Strukturierung Wurzelverzeichnis (root directory) Restliche Verzeichnisse baumartig angehängt Verzeichnisbaum Baumartige hierarchische Strukturierung Wurzelverzeichnis (root directory) Restliche Verzeichnisse baumartig angehängt / tmp etc var usr lib home bin man lib meier mueller schulze 1 Verzeichnisse

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. 1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?

Mehr

Technische Praxis der Computersysteme. Technische Praxis der Computersysteme

Technische Praxis der Computersysteme. Technische Praxis der Computersysteme Shell: Alternative zu grafischer Oberfläche. Weniger Abstraktion, dafür mehr Kontrolle Shell: Alternative zu grafischer Oberfläche. Weniger Abstraktion, dafür mehr Kontrolle Eingaben: Befehle & Parameter,

Mehr

Was machen wir heute? Betriebssysteme Tutorium 10. Frage 10.1.a. Frage 10.1.a

Was machen wir heute? Betriebssysteme Tutorium 10. Frage 10.1.a. Frage 10.1.a Was machen wir heute? Betriebssysteme Tutorium 10 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Dateisysteme Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2013/bs/

Mehr

Grundlagen der Dateisysteme. Daniel Lieck

Grundlagen der Dateisysteme. Daniel Lieck Grundlagen der Dateisysteme Daniel Lieck Einführung Dateisysteme wofür r eigentlich? - Ändern, Erstellen, Löschen L von Dateien - Strukturierung der Dateien auf Datenträger - Dateiname und rechnerinterne

Mehr

Einführung in Dateisysteme

Einführung in Dateisysteme Einführung in Dateisysteme Proseminar Speicher- und Dateisysteme Malte Hamann Sommersemester 2012 15.06.2012 Einführung Dateisysteme - Malte Hamann 1/29 Gliederung 1. Einführung 2. Grundlegendes Konzept

Mehr

E.1 Allgemeine Konzepte (3) E.1 Allgemeine Konzepte (2) E.1 Allgemeine Konzepte. Datei. Einordnung. Katalog / Verzeichnis

E.1 Allgemeine Konzepte (3) E.1 Allgemeine Konzepte (2) E.1 Allgemeine Konzepte. Datei. Einordnung. Katalog / Verzeichnis E Dateisysteme E Dateisysteme (3) Einordnung Prozessor (CPU, Central processing unit) Datei speichert Daten oder Programme Katalog Verzeichnis erlaubt Benennung der Dateien enthält Zusatzinformationen

Mehr

Betriebssysteme Teil 16: Dateisysteme (Beispiele)

Betriebssysteme Teil 16: Dateisysteme (Beispiele) Betriebssysteme Teil 16: Dateisysteme (Beispiele) 21.01.16 1 Übersicht UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32 Die in diesem Teil vorgestellten Informationen stellen

Mehr

6.2 Master-File-Table (3)

6.2 Master-File-Table (3) 6.2 Master-File-Table (3) Eintrag für eine längere Datei Virtual Cluster Number (VCN) 0 4 LCN 107 131 VCN 0 1 2 3 4 5 6 7 4 4 Anzahl d. Cluster LCN 107 108 109 110 131 132 133 134 Daten-Extents Extents

Mehr

9. Dateisysteme. Betriebssysteme Harald Kosch Seite 164

9. Dateisysteme. Betriebssysteme Harald Kosch Seite 164 9. Dateisysteme Eine Datei ist eine Abstraktion für ein Aggregat von Informationen (muß nicht eine Plattendatei sein). Aufbau eines Dateisystems: Katalog (Directory) Einzelne Dateien (Files) Zwei Aspekte

Mehr

UNIX-Dateisysteme - Allgemeines

UNIX-Dateisysteme - Allgemeines FACHHOCHSCHULE MUENCHEN FACHBEREICH ELEKTROTECHNIK UND INFORMATIONSTECHNIK FG TECHNISCHE INFORMATIK V BS 36 1 TH 7 ----------------------------------------------------------------------------------- UNIX-Dateisysteme

Mehr

7.2 Journaling-File-Systems (4)

7.2 Journaling-File-Systems (4) 7.2 Journaling-File-Systems (4) Log vollständig (Ende der Transaktion wurde protokolliert und steht auf Platte): Redo der Transaktion: alle Operationen werden wiederholt, falls nötig Log unvollständig

Mehr

Einführung in Dateisysteme

Einführung in Dateisysteme Proseminar Speicher- und Dateisysteme Agenda 1. Allgemeines 2. Grundlagen/ Konzeption eines Dateisystems 3. Strukturelle Konzepte von Dateisystemen/ Beispiele 4. Sicherheitsaspekte 5. Ausblick Seite 2

Mehr

Dateisystem 1, Suchpfad, Befehlstypen

Dateisystem 1, Suchpfad, Befehlstypen Dateisystem 1, Suchpfad, Befehlstypen Linux-Kurs der Unix-AG Andreas Teuchert 3. Dezember 2012 Was ist ein Dateisystem? Verwaltung von Dateien auf Datenträgern Beispiele: EXT3, EXT4, FAT, NTFS Baumstruktur

Mehr

6 Dateisysteme (2) 6 Dateisysteme. 6 Dateisysteme (4) 6 Dateisysteme (3)

6 Dateisysteme (2) 6 Dateisysteme. 6 Dateisysteme (4) 6 Dateisysteme (3) 6 Dateisysteme ein Dateisystem ist eine Abstraktion des Betriebssystems zur geräteunabhängigen Verwaltung von Dateien einheitliche Sicht auf verschiedene Arten von Sekundärspeicher, z.b. Festplatte, Floppy,

Mehr

eine Partition ist eine Menge von Verzeichnissen und deren Dateien auf einem Teil eines Datenträgers jede Partition erhält ihr eigenes Dateisystem

eine Partition ist eine Menge von Verzeichnissen und deren Dateien auf einem Teil eines Datenträgers jede Partition erhält ihr eigenes Dateisystem 6 Dateisysteme ein Dateisystem ist eine Abstraktion des Betriebssystems zur geräteunabhängigen Verwaltung von Dateien einheitliche Sicht auf verschiedene Arten von Sekundärspeicher, z.b. Festplatte, Floppy,

Mehr

1.102 Installation von Linux und Paketmanagement. Auf dem Weg: Certified Linux Professional

1.102 Installation von Linux und Paketmanagement. Auf dem Weg: Certified Linux Professional http://creativecommons.org/licenses/by-nc-sa/3.0/de/, Copyright ( ) 2009 M.Peichl. Dieses Werk oder Michael Inhalt Peichl, ist unter michael@peichls.de der Creative Commons-Lizenz lizenziert. 1.102 Installation

Mehr

Unix für Softwareentwickler

Unix für Softwareentwickler Unix für Softwareentwickler Dateisystem Benedict Reuschling 8. Mai 2014 1 / 48 Unix Dateisysteme Dieser Teil der Vorlesung beschreibt das Unix Dateisystem. Neben dem Aufbau des Dateisystems werden Zugriffsrechte,

Mehr

Das virtuelle Dateisystem von Linux (VFS)

Das virtuelle Dateisystem von Linux (VFS) Das virtuelle Dateisystem von Linux (VFS) Idee: uniformer Zugriff auf unterschiedliche Dateisysteme ext2 Block Device Programm (cp, rm) VFS NTFS Block Device NFS Netzwerk Arten von Dateisystemen: plattenbasiert

Mehr

Die UNIX-Kommandozeile

Die UNIX-Kommandozeile Die UNIX-Kommandozeile Kommando [-Optionen] [Argumente] Kommando Option Argument eingebautes Shell-Kommando oder ausführbare Datei (Programm) verändert die Grundeinstellung (voreingestellte Funktionalität)

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Wiederholung: Realisierung von Dateien

Wiederholung: Realisierung von Dateien Wiederholung: Realisierung von Dateien Zusammenhängende Belegung Datei A Datei C Datei E Datei G Datei B Datei D Datei F Belegung durch verkettete Listen (z.b. FAT) Dateiblock 0 Dateiblock 1 Dateiblock

Mehr

Einführung. Datei Verwaltung. Datei Verwaltung. Einführung. Einführung. Einführung. Einführung. Datei Verwaltung. Puffer Cache Verwaltung

Einführung. Datei Verwaltung. Datei Verwaltung. Einführung. Einführung. Einführung. Einführung. Datei Verwaltung. Puffer Cache Verwaltung Verwaltung des s Verwaltung des s A Anwenderprogramm B C Gerät Gerät Gerät Gerät A rufe PufferCacheVerwaltung Anwenderprogramm B PufferCacheVerwaltung rufe C Gerät Gerät Gerät Gerät PufferCacheVerwaltung

Mehr

Dateisysteme Linux-Kurs der Unix-AG

Dateisysteme Linux-Kurs der Unix-AG Dateisysteme Linux-Kurs der Unix-AG Klaus Denker 20./21. Juni 2012 Was ist ein Dateisystem? Verwaltung von Dateien auf Datenträgern Beispiele: ext4, btrfs, nfs,... Baumstruktur aus Verzeichnissen und Dateien

Mehr

6.2 Master-File-Table (4) 6.2 Master-File-Table (3) 6.2 Master File Table (5) 6.2 Master File Table (6) Mögliche weitere Streams (Attributes)

6.2 Master-File-Table (4) 6.2 Master-File-Table (3) 6.2 Master File Table (5) 6.2 Master File Table (6) Mögliche weitere Streams (Attributes) 6.2 Master-File-Table (3) Eintrag für eine längere Datei Virtual Cluster Number (VCN) 0 107 131 LCN VCN 0 1 2 3 5 6 7 LCN 107 108 109 110 131 132 133 13 Daten-Extents Extents werden außerhalb der MFT in

Mehr

J UNIX-Dateisystem. 1 Umwandlung: Pfad : Inode. J.1 Funktionalität. J.2 Directories (Kataloge) 1 Umwandlung: Pfad : Inode (2) J.

J UNIX-Dateisystem. 1 Umwandlung: Pfad : Inode. J.1 Funktionalität. J.2 Directories (Kataloge) 1 Umwandlung: Pfad : Inode (2) J. J UNIX-Dateisystem Umwandlung: Pfad : Inode J Inodes J Funktionalität Abstraktionen für Benutzersicht: Pfade, Dateinamen Dateibaum verdeckt mehrere Platten (bzw Partitionen) Dateien = unstrukturierte Byteströme

Mehr

TI2 Übung 7. Festplatten und Dateisysteme. 8. Februar 2005 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik

TI2 Übung 7. Festplatten und Dateisysteme. 8. Februar 2005 (WS 2004) Andreas I. Schmied Universität Ulm Fakultät für Informatik Universität Ulm Fakultät für Informatik Abteilung Verteilte Systeme Projektgruppe AspectIX TI2 Übung 7 Festplatten und Dateisysteme 8. Februar 2005 (WS 2004) Andreas I. Schmied (schmied@inf...) 1 Festplatten

Mehr

Dateisystem: Einführung

Dateisystem: Einführung Dateisystem: Einführung Hauptaufgabe des Dateisystems ist der schnelle und zuverlässige Zugriff auf Dateien Problem: Entweder schneller Zugriff oder viel Redundanz beim speichern! Zusätzlich müssen Unterverzeichnisse

Mehr

Dateisystem: Einführung

Dateisystem: Einführung Dateisystem: Einführung Hauptaufgabe des Dateisystems ist der schnelle und zuverlässige Zugriff auf Dateien Problem: Entweder schneller Zugriff oder viel Redundanz beim speichern! Zusätzlich müssen Unterverzeichnisse

Mehr

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht

Mehr

Varianten der CD-ROM (Philips, Orange Book, 1988) Kapazität: 4.7 GByte (einseitig), 9.4 GByte (zweiseitig)

Varianten der CD-ROM (Philips, Orange Book, 1988) Kapazität: 4.7 GByte (einseitig), 9.4 GByte (zweiseitig) 4.1 CD-ROM (3) Varianten der CD-ROM (Philips, Orange Book, 1988) CD-R (Recordable) reflektierende Farbschicht auf Substrat leistungsstarker Laserstrahl kann Reflexivität der Farbschicht irreversibel verändern

Mehr

Einführung FAT - File Allocation Table NTFS - New Technology Filesystem HFS - Hierachical Filesystem ext - Extended Filesystem Zusammenfassung

Einführung FAT - File Allocation Table NTFS - New Technology Filesystem HFS - Hierachical Filesystem ext - Extended Filesystem Zusammenfassung Lokale Dateisysteme Christine Arndt 9arndt@informatik.uni-hamburg.de Universität Hamburg - Studentin der Wirtschaftsinformatik 11. März 2011 Lokale Dateisysteme - Christine Arndt 1/34 Inhalt der Präsentation

Mehr

6.2 FAT32 Dateisystem

6.2 FAT32 Dateisystem 6.2 FAT32 Dateisystem Dateisystem für Windows 98 einige Unterschiede zum Linux-Dateisystem EXT2: keine Benutzeridentifikation für Dateien und Verzeichnisse! Partitionen werden durch Laufwerke repräsentiert,

Mehr

19. Mai 2004 Gewerbeschule Bad Säckingen Manuel Schneider

19. Mai 2004 Gewerbeschule Bad Säckingen Manuel Schneider Partitionen und Dateisysteme Sinnvolle Partitionierung Linux Boot-Partition (ext2) Swap-Partition (swap) Root-Partition (reiserfs) Windows (ntfs) Partitionierung mit fdisk (Linux) :[~]#> fdisk /dev/hda

Mehr

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen

Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen 1 Files als lineare Liste File angeordnet als verkette Liste von Blöcken Jeder Block enthält Zeiger zum Nachfolger Zeiger = Adresse des Blocks

Mehr

Konzepte von Betriebssystem-Komponenten. I/O: von der Platte zur Anwendung

Konzepte von Betriebssystem-Komponenten. I/O: von der Platte zur Anwendung Konzepte von Betriebssystem-Komponenten I/O: von der Platte zur Anwendung SS 05 Igor Engel Igor.Engel@informatik.stud.uni-erlangen.de 1 1 Einleitung 2 Übersicht 3 Systemaufrufe Beispiel in Unix 4 Dateien

Mehr

Die Shell - Das Vorspiel

Die Shell - Das Vorspiel Die Shell - Das Vorspiel Die Shell, die Kommandozeile und ein Teil vom ganzen Rest Dirk Geschke Linux User Group Erding 22. Oktober 2008 Dirk Geschke (LUG-Erding) Linux Grundlagen 22. Oktober 2008 1 /

Mehr

15 Implementierung von Dateien 15.5 Beispiel: Windows NT (NTFS)

15 Implementierung von Dateien 15.5 Beispiel: Windows NT (NTFS) 1 Dateiverwaltung Basiseinheit Cluster 15 Implementierung von Dateien 15.5 Beispiel: Windows NT (NTFS) 512 Bytes bis 4 Kilobytes (beim Formatieren festgelegt) wird auf eine Menge von hintereinanderfolgenden

Mehr

Freispeicherverwaltung Martin Wahl,

Freispeicherverwaltung Martin Wahl, Freispeicherverwaltung Martin Wahl, 17.11.03 Allgemeines zur Speicherverwaltung Der physikalische Speicher wird in zwei Teile unterteilt: -Teil für den Kernel -Dynamischer Speicher Die Verwaltung des dynamischen

Mehr

Betriebssysteme I WS 2017/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme I WS 2017/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2017/2017 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 14. September 2017 Betriebssysteme / verteilte Systeme

Mehr

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32

Übersicht. UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32 Übersicht UNIX-Dateisystem (ext2) Super-User unter Linux werden MSDOS: FAT16 und FAT32 Die in diesem Teil vorgestellten Informationen stellen lediglich das Prinzip dar - im Detail ist alles etwas komplizierter...

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL

EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL EINFÜHRUNG IN LINUX DR. MATTHIAS M. HÖLZL 1. Aufbau eines Computer-Systems Ein Computersystem besteht aus Hardware (dem eigentlichen Rechner) und Software (den Programmen). Zur Hardware zählen der Prozessor

Mehr

Geräteverwaltung: Einführung

Geräteverwaltung: Einführung Geräteverwaltung: Einführung Die Ziele einer Geräteverwaltung sind: Einfache Softwareschnittstelle Gleiche Software Schnittstellen für alle Geräte eines Gerätetyps z.b.: unabhängig vom Soundkartenhersteller

Mehr

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 3. UNIX/Linux-Dateisysteme und zugehörige Systemaufrufe und Kommandos (Teil I) Wintersemester 206/7 UNIX/Linux-Dateisystem(e) Systemaufrufe zur Dateiarbeit:

Mehr

Zugriffsrechte. anzeigen lassen mit dem Befehl: ls -l

Zugriffsrechte. anzeigen lassen mit dem Befehl: ls -l Zugriffsrechte anzeigen lassen mit dem Befehl: ls -l ls wird verwendet, um Informationen über die Zugriffsrechte (und mehr) von Dateien und Verzeichnissen anzuzeigen. Wenn es mit der Option "-l" aufgerufen

Mehr

Arbeiten mit der Shell Teil 5

Arbeiten mit der Shell Teil 5 Arbeiten mit der Shell Teil 5 Linux-Kurs der Unix-AG Zinching Dang 13. Dezember 2017 Übersicht Wiederholung & Vertiefung Dateisystem Dateisystembefehle Zusammenfassung & Ausblick Zinching Dang Arbeiten

Mehr

Lokales Storage Teil 2

Lokales Storage Teil 2 Lokales Storage Teil 2 Zinching Dang 15. Dezember 2014 1 LVM LVM (1) Logical Volume Manager erfüllt gleichen Zweck wie Partitionierung erlaubt jedoch das Partitionieren über mehrere Datenträger flexible

Mehr

Study-Guide: Gerätedateien, Linux Dateisysteme, Filesystem Hierarchy

Study-Guide: Gerätedateien, Linux Dateisysteme, Filesystem Hierarchy Study-Guide: Gerätedateien, Linux Dateisysteme, Filesystem Hierarchy In diesem Abschnitt geht es um alles, was mit dem Umgang mit Dateisystemen zu tun hat. Dazu zählen die verschiedenen Befehle zum Anlegen,

Mehr

18.1 Überblick Überblick (3)

18.1 Überblick Überblick (3) Überblick: Teil D Betriebssystemabstraktionen 18.1 Überblick Einordnung 15 Nebenläufigkeit Prozessor (CPU, Central processing unit) 16 Ergänzungen zur Einführung in C 17 Betriebssysteme 18 Dateisysteme

Mehr

Dateisysteme. Datei: Objekt zum Abspeichern von Daten Die Datei wird vom Dateisystem als Teil des Betriebssystems verwaltet. c~åüüçåüëåüìäé açêíãìåç

Dateisysteme. Datei: Objekt zum Abspeichern von Daten Die Datei wird vom Dateisystem als Teil des Betriebssystems verwaltet. c~åüüçåüëåüìäé açêíãìåç Dateisysteme Datei: Objekt zum Abspeichern von Daten Die Datei wird vom Dateisystem als Teil des Betriebssystems verwaltet. Die Datei hat einen eindeutigen Namen. 0 max Adressraum der Datei Dateilänge

Mehr

Systeme I: Betriebssysteme Übungsblatt 3

Systeme I: Betriebssysteme Übungsblatt 3 Institut für Informatik Arbeitsgruppe Autonome Intelligente Systeme Freiburg, 10 November 2015 Systeme I: Betriebssysteme Übungsblatt 3 Aufgabe 1 (1,5 Punkte) Betrachten Sie die Befehle du, df, mount Lesen

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Basiskonzepte des Rechnerbetriebs

Basiskonzepte des Rechnerbetriebs Universität Potsdam Institut für Informatik Wintersemester 2012 2013 Basiskonzepte des Rechnerbetriebs Aufgabenblatt 2 2 Das UNIX-Dateisystem Arbeiten Sie, wenn nicht anders vermerkt, immer auf der Kommandozeile!

Mehr

Wie man das Dateisystem in Deutschland versteht

Wie man das Dateisystem in Deutschland versteht E Dateisysteme E Dateisysteme E.1 Allgemeine Konzepte Einordnung Prozessor (CPU, Central processing unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen

Mehr

Lokales Storage Teil 2

Lokales Storage Teil 2 Lokales Storage Teil 2 Linux-Kurs der Unix-AG Zinching Dang 22. Juli 2015 LVM (1) Logical Volume Manager erfüllt gleichen Zweck wie Partitionierung erlaubt jedoch das Partitionieren über mehrere Datenträger

Mehr

MMC/SD FAT 16 mit AVR und C

MMC/SD FAT 16 mit AVR und C MMC/SD FAT 16 mit AVR und C Die Bibliothek von Roland Riegel enthält einen kompletten FAT16 Zugriff auf MMC/SD Karten über den SPI eines µc. Anforderungen: - SPI oder 5 freie PINs am Controller - Für den

Mehr

Dateisystem: Einführung

Dateisystem: Einführung Dateisystem: Einführung Hauptaufgabe des Dateisystems ist der schnelle und zuverlässige Zugriff auf Dateien Problem: Entweder schneller Zugriff oder viel Redunanz beim speichern! Zusätzlich müssen Unterverzeichnisse

Mehr

Dateisystem: Einführung

Dateisystem: Einführung Dateisystem: Einführung Hauptaufgabe des Dateisystems ist der schnelle und zuverlässige Zugriff auf Dateien Problem: Entweder schneller Zugriff oder viel Redunanz beim speichern! Zusätzlich müssen Unterverzeichnisse

Mehr

Überblick: Teil D Betriebssystemabstraktionen

Überblick: Teil D Betriebssystemabstraktionen Überblick: Teil D Betriebssystemabstraktionen 15 Nebenläufigkeit 16 Ergänzungen zur Einführung in C 17 Betriebssysteme 18 Dateisysteme 19 Programme und Prozesse V_SPIC_handout 20 Speicherorganisation 21

Mehr

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Grundlegende Bedeutung von Speicheradressierung: Wie sind die Daten auf Dem Speicher

Mehr

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Konzepte von Betriebssystemkomponenten Referat am 24.11.2003 Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Gliederung Adressräume Page Faults Demand Paging Copy

Mehr

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme

Mehr

Kapitel V Kapitel VII II File File--Systeme Systeme VO Betriebssysteme 1

Kapitel V Kapitel VII II File File--Systeme Systeme VO Betriebssysteme 1 Kapitel VII File-Systeme VO Betriebssysteme 1 Langzeitspeicher: File Was ist ein File? Eine Kollektion von Informationen mit einem Namen, die im Sekundärspeicher gespeichert ist. speichere große Datenmengen

Mehr

1.Einleitung...3. 2.Zugriffsrechte...4. 3.Einfache Dateien...12. 3.1.Links...13. 3.2.Symbolische Links...14. 4.Verzeichnisse...16

1.Einleitung...3. 2.Zugriffsrechte...4. 3.Einfache Dateien...12. 3.1.Links...13. 3.2.Symbolische Links...14. 4.Verzeichnisse...16 Das Filesystem Dieser Teil beschreibt das Unix Dateisystem. Neben dem Aufbau des Dateisystems werden Zugriffsrechte, verschieden Arten von Dateien, entfernbare Datenträger und die Realisierung mittels

Mehr

Dynamische Datenstrukturen

Dynamische Datenstrukturen Dynamische Datenstrukturen B-Bäume größere Datenmengen verwalten Extern speichern Art der Speicherung berücksichtigen sonst kein optimaler Datenzugriff möglich Art der Speicherung großer Datenmengen Magnetplatten

Mehr

3. Foliensatz Betriebssysteme und Rechnernetze

3. Foliensatz Betriebssysteme und Rechnernetze Prof. Dr. Christian Baun 3. Foliensatz Betriebssysteme und Rechnernetze FRA-UAS SS2018 1/38 3. Foliensatz Betriebssysteme und Rechnernetze Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

Mehr

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

Betriebssysteme. Tutorium 2. Philipp Kirchhofer Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 4. November 2009 Philipp

Mehr

Dateisysteme. Lokale Linux Dateisysteme. Michael Kürschner (m i.kuerschner@gmx.de) 22.03.2007

Dateisysteme. Lokale Linux Dateisysteme. Michael Kürschner (m i.kuerschner@gmx.de) 22.03.2007 Dateisysteme Lokale Linux Dateisysteme Michael Kürschner (m i.kuerschner@gmx.de) 22.03.2007 Gliederung Die 4 großen der Szene Unscheinbar und doch Da Teile und Herrsche Was brauche Ich? April 30, 2007

Mehr

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2015/2016 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 28. Januar 2016 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr