Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einleitung
2 Die Installation
3 Erste Schritte
4 Linux als Workstation für Einsteiger
5 Der Kernel
6 Die Grundlagen aus Anwendersicht
7 Die Shell
8 Reguläre Ausdrücke
9 Konsolentools
10 Die Editoren
11 Shellskriptprogrammierung mit der bash
12 Die C-Shell
13 Benutzerverwaltung
14 Grundlegende Verwaltungsaufgaben
15 Netzwerkgrundlagen
16 Anwendersoftware für das Netzwerk
17 Netzwerkdienste
18 Mailserver unter Linux
19 LAMP
20 DNS-Server
21 Secure Shell
22 Die grafische Oberfläche
23 Window-Manager und Desktops
24 X11-Programme
25 Multimedia und Spiele
26 Prozesse und IPC
27 Bootstrap und Shutdown
28 Dateisysteme
29 Virtualisierung und Emulatoren
30 Softwareentwicklung
31 Crashkurs in C und Perl
32 Einführung in die Sicherheit
33 Netzwerksicherheit überwachen
A Lösungen zu den einzelnen Aufgaben
B Kommandoreferenz
C X11-InputDevices
D MBR
E Die Buch-DVDs
F Glossar
G Literatur
Stichwort

Download:
- ZIP, ca. 15,7 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Linux von Johannes Pl&ouml;tner, Steffen Wendzel
Das umfassende Handbuch
Buch: Linux

Linux
geb., mit 2 DVDs
1302 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1704-0
Pfeil 28 Dateisysteme
  Pfeil 28.1 Der Aufbau von Speichermedien
    Pfeil 28.1.1 Die physikalische Struktur
    Pfeil 28.1.2 Die logische Struktur
    Pfeil 28.1.3 Integration ins VFS
  Pfeil 28.2 Dateisysteme
    Pfeil 28.2.1 ext2, ext3, ext4 und reiserfs
    Pfeil 28.2.2 btrfs und ZFS
    Pfeil 28.2.3 FUSE – Filesystem in Userspace
    Pfeil 28.2.4 FFS und UFS/UFS2
    Pfeil 28.2.5 ISO 9660
    Pfeil 28.2.6 Loop-Device und Ramdisk
    Pfeil 28.2.7 Swap
    Pfeil 28.2.8 DevFS und udev
    Pfeil 28.2.9 ProcFS
    Pfeil 28.2.10 NFS
    Pfeil 28.2.11 Ecryptfs
    Pfeil 28.2.12 Weitere Dateisysteme
  Pfeil 28.3 Dateitypen
    Pfeil 28.3.1 Reguläre Dateien
    Pfeil 28.3.2 Verzeichnisse
    Pfeil 28.3.3 Links
    Pfeil 28.3.4 Sockets
    Pfeil 28.3.5 Named Pipes
    Pfeil 28.3.6 Gerätedateien
  Pfeil 28.4 Inodes
    Pfeil 28.4.1 Die Metadaten
    Pfeil 28.4.2 Alternative Konzepte
  Pfeil 28.5 Administration
    Pfeil 28.5.1 qtparted und gparted
    Pfeil 28.5.2 palimpsest
    Pfeil 28.5.3 disklabel
    Pfeil 28.5.4 hdparm
    Pfeil 28.5.5 fdisk und cfdisk
    Pfeil 28.5.6 Das Tool »cfdisk«
    Pfeil 28.5.7 mkfs
    Pfeil 28.5.8 tune2fs
    Pfeil 28.5.9 fsck
  Pfeil 28.6 Praktische Beispiele
    Pfeil 28.6.1 ZIP-Laufwerke
    Pfeil 28.6.2 Neue Festplatten integrieren
    Pfeil 28.6.3 USB-Sticks und -Platten, Digitalkameras und Co.
    Pfeil 28.6.4 Das Device ansprechen
  Pfeil 28.7 Zusammenfassung
  Pfeil 28.8 Aufgaben

»As a cryptography and computer security expert, I have never understood the current fuss about the open source software movement. In the cryptography world, we consider open source necessary for good security; we have for decades. Public security is always more secure than proprietary security. (...) For us, open source isn't just a business model; it's smart engineering practice.«
– Bruce Schneier

28 Dateisysteme

Eine zentrale Komponente eines Betriebssystems ist die Implementierung eines Dateisystems. Linux unterstützt dabei gleich eine ganze Reihe solcher Dateisysteme, sodass jeder Administrator das von der Funktionalität und Performance her für seine Zwecke beste Dateisystem wählen kann. Zudem werden wir auf die BSD-Dateisysteme eingehen.


Galileo Computing - Zum Seitenanfang

28.1 Der Aufbau von Speichermedien  Zur nächsten ÜberschriftZur vorigen Überschrift

Vor den eigentlichen Dateisystemen stehen die Speichermedien. Exemplarisch wollen wir im Folgenden die Festplatten behandeln, andere Speichermedien wie CD-ROMs verhalten sich aber ähnlich wie diese.


Galileo Computing - Zum Seitenanfang

28.1.1 Die physikalische Struktur  Zur nächsten ÜberschriftZur vorigen Überschrift

Magnetische Speicherung

Bits und Bytes müssen grundsätzlich physikalisch gespeichert werden. Bei Festplatten geschieht das immer noch magnetisch. Eine Platte besteht vereinfacht gesehen aus folgenden Komponenten:

  • einer oder mehreren drehbaren Magnetscheiben (inklusive Antrieb etc.)
  • beweglichen Lese-/Schreibköpfen (inklusive Lager, Antrieb etc.)
  • einem Hochleistungs-DSP für die Schreib-/Leseköpfe
  • der Schnittstelle zur Verbindung mit dem Computer
  • dem Festplatten-Cache

Die magnetisierbaren Scheiben sind übereinander angeordnet und besitzen jeweils einen oder zwei Lese-/Schreibköpfe. Ob jede Magnetscheibe dabei doppelseitig genutzt wird, ist vom jeweiligen Modell abhängig. Sollen nun Daten gelesen beziehungsweise geschrieben werden, so müssen die Lese-/Schreibköpfe zuerst in die richtige Position fahren und die Scheiben zu rotieren beginnen. Diese mechanischen Vorgänge haben im Allgemeinen eine Gesamt-Latenzzeit von 5 bis 10 Millisekunden, was im Vergleich zu den Zugriffszeiten auf den RAM wirklich extrem langsam ist. Sollen dann jedoch größere zusammenhängende Datenstrukturen gelesen werden, ist der Zugriff allerdings recht schnell.

Heutzutage wird jedoch diese interne Geometrie vor dem Betriebssystem versteckt. Wusste das Betriebssystem früher über die dreidimensionale CHS-Ansteuerung – Cylinder, Head und Sektor – noch genau, wo sich ein Datenblock physikalisch auf der Platte befand, werden die Blöcke heute einfach nur gezählt. Ein Block – oder besser: Sektor – ist dabei immer 512 Byte groß.

So wird dem Fakt Rechnung getragen, dass eine Festplatte nur bei größeren Datenmengen ausreichend schnell ist. Und anstatt die Köpfe und Platten direkt anzusprechen, kann das Betriebssystem nun dank dem LBA-Modus (engl. logical block addressing – logische Blockadressierung) die Festplattenblöcke über eine einfache Nummer ansprechen.

Automatische Komprimierung

Der Festplatten-Controller kann so auch selbst Optimierungen vornehmen, indem er beispielsweise Daten anders anordnet oder defekte Blöcke intern markiert und durch eine »Reserve« ersetzt. So bekommt das Betriebssystem von defekten Blöcken nichts mit und muss sich auch nicht um Optimierungen kümmern. Interessant ist ebenfalls, dass der Controller die Daten beim Schreiben auf die Platte zugleich komprimiert.


Galileo Computing - Zum Seitenanfang

28.1.2 Die logische Struktur  Zur nächsten ÜberschriftZur vorigen Überschrift

Die nächste Schicht bildet das jeweilige Dateisystem. Für dieses wird nur selten die gesamte Festplatte genutzt. In der Regel teilt man die Festplatte in mehrere Partitionen auf. Möchte man mehrere Betriebssysteme auf einem Rechner installieren, kommt man um diese Aufteilung nicht herum – schließlich sollen sich die beiden Systeme ja auch nicht in die Quere kommen. Im Vergleich zu unserem vorherigen Abschnitt sind wir im Dateisystemkontext eine Abstraktionsstufe höher und somit von der Adressierung der Daten über Blocknummern weiter entfernt:


Ein Dateisystem erlaubt den Zugriff auf gespeicherte Daten über Dateinamen, verwaltet bestehende Daten und entfernt diese bei Bedarf.


Blöcke im Dateisystem

In erster Linie verwaltet ein Dateisystem also die Zuordnung von Dateinamen zu Datenblöcken auf der Festplatte. Dabei werden teilweise mehrere Festplattenblöcke zu Dateisystemblöcken zusammengefasst: So kommt man schließlich zu Blockgrößen von 2048 oder 4096 Byte bei Dateisystemen. Schließlich müssen diese Blocknummern ja verwaltet werden, und kleinere Blöcke bedeuten mehr Nummern, was wiederum einen höheren Speicher- und Verwaltungsaufwand bedeutet. Außerdem kann auf zusammenhängende Daten schneller zugegriffen werden, als wenn diese wild auf der Platte verteilt sind: Große Blöcke bringen also vor allem auch einen Geschwindigkeitsvorteil.

Der Preis, mit dem man sich diese Geschwindigkeit erkauft, ist nun aber »Platzverlust« durch interne Fragmentierung. Schließlich kann das Dateisystem nur einzelne Blöcke adressieren. Ist eine einzelne Datei also kleiner als die Blockgröße, beziehungsweise wird bei größeren Dateien der letzte Block nicht ganz voll, so wird dieser Platz verschenkt. [Eine Ausnahme ist das Dateisystem ReiserFS 4: Hier werden halb leere Blöcke noch durch kleine Dateien aufgefüllt. Es können sich also zwei Dateien einen Datenblock »teilen«.] Das Dateisystem muss natürlich auch die folgenden Funktionen erfüllen:

Eigentümer & Co.

  • Metadaten bereitstellen
    Eine Datei umfasst nicht nur ihren Inhalt, sondern auch verschiedene Metadaten – in erster Linie natürlich ihren Namen, aber auch Benutzer, Gruppen und die dazugehörigen Rechte gehören zu diesen Metadaten. Auch die Zeit der letzten Modifikation und alles, was man sonst so mit einer Datei verbindet, gehört hier dazu. Das Dateisystem muss diese Informationen speichern und mit der betreffenden Datei verknüpfen.
  • Hierarchie ermöglichen
    Die meisten modernen Dateisysteme sind hierarchisch strukturiert, kennen also Verzeichnisse zum Ordnen von Dateien.
  • Freie Blöcke verwalten
    Das Dateisystem muss natürlich auch den freien Speicherplatz verwalten. Am einfachsten passiert dies durch eine free-list, also eine Liste aller freien Blöcke.

Galileo Computing - Zum Seitenanfang

28.1.3 Integration ins VFS  topZur vorigen Überschrift

Nun gibt es aber mehr als nur ein einziges Dateisystem. Schon allein die Auswahl für Festplatten scheint gigantisch: Jedes Betriebssystem hat seinen eigenen Favoriten, und der liegt in der Regel auch noch in mehreren Versionen vor. Aber auch besondere Speichermedien wie CD-ROMs bringen ihr eigenes Dateisystem mit – wie das bekannte ISO9660 –, das den besonderen Eigenschaften dieser Medien Rechnung trägt.

Damit ein Betriebssystem nun auf die unterschiedlichen Dateisysteme zugreifen kann, gibt es das bereits aus Kapitel 5, »Der Kernel«, bekannte virtuelle Dateisystem, das VFS (Virtual Filesystem). Das VFS bildet die Abstraktion und die einheitliche Schnittstelle, in die alle Dateisystemtreiber integriert werden können. Probleme bei ausgefallenen Features sind bei dieser Integration zwar die absolute Ausnahme, kommen aber vor, wie die Schwierigkeiten mit der Integration von ReiserFS 4 in den Linux-Kernel zeigten.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Linux, Ausgabe 2011






Linux, Ausgabe 2011
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux-Server






 Linux-Server


Zum Katalog: Linux Hochverfügbarkeit






 Linux Hoch-
 verfügbarkeit


Zum Katalog: LPIC-1






 LPIC-1


Zum Katalog: Debian GNU/Linux






 Debian GNU/Linux


Zum Katalog: openSUSE 11.2






 openSUSE 11.2


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2011
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de