MezData-Logo

Dateisysteme

Festplatte physikalisch bzw. logisch

Die Cylinder Head Sector Adressierung (CHS-Adressierung) ist "out"

Eine Festplatte ist eine Scheibe oder ein Stapel von Scheiben. Die Scheiben lassen sich oben und unten beschreiben. D.h. bei einer Festplatte mit zwei Scheiben gibt es 4 Oberflächen. Jeder Oberfläche wird ein Schreib-Lese-Kopf (engl. Head) zugeordnet.

Eine Scheibe kann in mehrere Spuren unterteilt werden, diese werden von der Außenseite her mit Null beginnend durchnummeriert. Bei mehreren Köpfen spricht man dabei von einem Zylinder (engl. Cylinder).

Eine Scheibe kann in mehrere Kreisabschnitte, Sektoren (engl. Sector) gegliedert werden. Ein Sektor ist typisch 512 Byte groß.
"Die Gesamtheit aller Blöcke die die gleichen Winkelkoordinaten auf den Platten haben nennt man Sektor." Zitat: Wikipedia

Achtung: Block und Sektor ist nicht das Selbe, auch wenn sie meißt die selbe Grösse haben. Der Unterschied: Ein Sektor ist ein physikalisches Gebiet auf der Platte. Ein Block ist eine logische Verwaltungseinheit.

Somit lässt sich jeder Sektor einer Festplatte eindeutig adressieren.

Die CHS-Adressierung hatte jedoch Einschränkungen durch beschränkte Adressräume (IDE, BIOS), z.B:

Die Logical Block Addressing (LBA) ist "in" seit 1995

Bei SCSI-Geräten (SCSI Small Computer System Interface) wird schon immer logisch in Blöcken adressiert!

Wieviel Speicher kann bei LBA 28 Bit verwaltet werden? Es können 228 Blöcke verwaltet werden (max. Größe eines Blockes 512 Bytes): 228 * 512 Byte = 128GB

MBR und Partitionen

Organisation einer PC-Festplatte

MBR (Master Boot Record) Partition 1 Partition 2 ..
Boot Code (446 Byte) Partion-Table (64 Byte) 55 AA z.B. NTFS z.B. FAT 32  

Betrachte Festplatte als Liste von Blöcken (Records) mit 512 Byte. Der erste Block ist der MBR, die restlichen Blöcke verteilen sich auf die Partitionen. Die Partitions-Tabelle verweist auf die Partitionen (max. 4 primäre) der Festplatte. Achtung: Die Bezeichnung Bootsektor ist falsch! Siehe Wikipedia.

Booten mit dem Urlader

Das Bios versucht den Boot Code (446 Byte) des MBR auszuführen, dieser Urlader ist dazu gedacht das Booten des jeweiligen Betriebssystems auf der eingestellten Boot-Partion zu starten. Im Falle von umfangreicheren Boot-Managern wie LILO usw. würden die 446 Byte allerdings nicht ausreichen. Daher sorgt dann ein spezieller Boot-Code nur für den Start des Bootmangers auf einem reservierten Bereich einer Partition. Der Benutzer wählt das gewünschte Betriebssystem und der Bootmanger startet dann den Bootvorgang.

Merke: Im ersten Block steckt nur der Urlader und der startet erst den Lader eines Betriebssystems!

Das FAT Dateisystem

Der Name dieses Dateisystems kommt von File Allocation Table (FAT) zu Deutsch: Datei Zuteilungs Tabelle. Einer Datei wird eine Menge von Clustern zugeteilt, die Zuteilung in einer verketteten Listenstruktur gespeichert -in der FAT. D.h. die Information über die Folge- und Freicluster werden in der FAT gespeichert. Der Name der Datei und ihr Startclusterverweis in einem Eintrag einer Verzeichnisdatei.

http://de.wikipedia.org/wiki/FAT

Verzeichnis-Strukturen

Sinn und Zweck eines Dateisystems ist das Verwalten von Dateien.

Am Anfang ist das Wurzelverzeichnis der Partition. Dieses erste Verzeichnis (die Wurzel-Verzeichnis-Datei) hat einen festgelegten Speicherort in der Partition den Wurzelverzeichnisbereich.

Durch Verzeichnisse lassen sich Dateien gruppieren und ordnen.

Verzeichnisse sind besondere Dateien mit Einträgen der Namen, Informationen und Speicherort der in ihnen enthaltenen Dateien bzw. Verzeichnisse.

Eine Datei ist über einen Pfad z.B. C:\Dokumente und Einstellungen\Datei.txt ansprechbar.

Verzeichnis-Einträge in einer Verzeichnis-Datei

Ein Verzeichnis besteht aus einer Liste von 32 Byte großen Einträgen in einer Datei mit dem Attribut Directory. In einem Eintrag wird auf das Startcluster der Datei verwiesen. Besteht eine Datei aus mehreren Clustern wird in der FAT auf das jeweilige Folgecluster verwiesen. Die FAT ist ein Liste von 12 (FAT12) bis 32 Bit (FAT32) großen Einträgen. Ein FAT-Eintrag kann neben Clusternummern auch besondere Bedeutung haben:

Besondere Bedeutung FAT 12 FAT 16 FAT 32 Abkürzung
Cluster frei 000 0000 0000 0000 ? frei
Cluster defekt FF7 FFF7 FFFF FFF7 ? def.
End Of File (EOF) FFF FFFF FFFF FFFF ? EOF

Ein FAT-Eintrag repräsentiert einen Cluster, d.h. der Eintrag mit dem Index 500 steht für den Cluster 500.

Größe der FAT:

Aufbau Verzeichniseintrag FAT 16

Byte Nr. 0-7 8-10 11 12-21 22-23 24-25 26-27 28-31
Byte in HEX 0-7 8-A B C-15 16-17 18-19 1A-1B 1C-1F
Anzahl Bytes 8 3 1 10 2 2 2 4
Bezeichnung Dateiname Erweiterung Attribute - Uhrzeit Datum Start-Cluster Datei-Grösse
Beispiel hugo txt           1234
Attributs Bit Funktion Kommentar
0 (LSB) Read Only Nur Lesen / Schreibschutz
1 Hidden Unsichtbar / Versteckt
2 System Datei ist Betriebssystem
3 Volume ID Dateiname ist die ID der Partition
4 Directory Ist Unterverzeichnis (32-byte records)
5 Archive Geändert seit dem letzten Backup
6 Ununsed Sollte 0 sein
7 (MSB) Ununsed Sollte 0 sein

Aufbau Verzeichniseintrag FAT 32 Unterschiede sind grün markiert

Byte Nr. 0-7 8-10 11 12-19 20-21 22-23 24-25 26-27 28-31
Byte in HEX 0-7 8-A B C-13 14-15 16-17 18-19 1A-1B 1C-1F
Anzahl Bytes 8 3 1 8 2 2 2 2 4
Bezeichnung Dateiname Erweiterung Attribute - Start-Cluster High Uhrzeit Datum Start-Cluster Low Datei-Grösse
Beispiel hugo txt             1234

Orte der Bereiche auf der Partition

Volume ID Reserviert FAT #1 FAT #2 (Kopie von #1) Wurzelverzeichnisbereich Daten & Verzeichnisse Kleiner ungenutzter Bereich

Clustergröße

Cluster ist nicht gleich Block! Warum? Die Anzahl der verwalteten Zuordnungseinheiten (Cluster) ist jeweils fest: Bei FAT 16 sind es 216 = 65536. Wäre ein Cluster 512 Byte groß könnten somit nur 32 MiB verwaltet werden. Deshalb fasst man mehrere Blöcke zu Clustern zusammen. Bei FAT 16 und FAT 32 können Cluster maximal 32 KiB groß werden. Somit ist bei FAT 16: 32 KiB * 65536 = 2 GiB Partitionsgröße Schluss.

FAT32 adressiert nur mit 28 Bit, kann also nur 228 Adressen verwalten: http://support.microsoft.com/kb/184006/de

Dateisystem Anzahl der Adressen Theoretische Partitionsgrösse bei Cluster = 512 Byte Theoretische maximale Partitionsgrösse
FAT 12 212 4 Ki 4 Ki * 512 Byte = 2 MiB 4 Ki * 512 Byte = 2 MiB
FAT 16 216 64 Ki 64 Ki * 512 Byte = 32 MiB 64 Ki * 32 KiByte = 2 GiB
FAT 32 228 256 Mi 256 Mi * 512 Byte = 128 GiB 256 Mi * 32 KiByte = 8 TiB

NTFS (New Technologie File System)

Struktur einer NTFS Partition

NTFS Boot Sector Master File Table File System Data Master File Table Copy

NTFS Dateieintrag Attribute

NTFS sieht jede Datei (oder Ordner) als eine Menge von Datei-Attributen.

Datei-Bestandteile wie der Name, die Sicherheitsinformation und sogar die Daten sind Datei-Attribute.

Datei- und Ordnereinträge haben jeweils eine Grösse von 1KB und sind in der MFT gespeichert. Wenn die Datei-Attribute in einen MFT-Eintrag passen, nennt man sie residente Attribute. Attribute wie Dateiname und Zeitstempel sind immer resident. Wenn die Menge an Information nicht in einen MFT-Eintrag passt, werden einige Attribute nonresident. Nonresidente Attribute werden über einen oder mehreren Clustern des Datenbereichs abgelegt. Ein Teil der Nonresidenten Attribute verbleibt in der MFT und verweist auf die externen Cluster.

Struktur eines MFT Eintrags (Master File Table)

Standard Information Datei- oder Verzeichnisname Daten oder Index Nicht genutzter Platz

Quelle: [msdn.microsoft.com/de-de/library/cc781134.aspx]

Fragen zu Datenspeicher und FAT-Dateisystem

Wie ist eine Festplatte aufgebaut, wie werden die Daten physikalisch gespeichert, Zeichnung mit Begriffen?

Erkläre Spur, Sektor, Zylinder, Kopf anhand Zeichnung.

Wo befindet sich die Spur 0? Außen (bei CD innen, da es unterschiedliche CD-Größen gibt)

Wie groß war ein Block (Sektor) bei FAT 12, FAT 16, FAT 32, NTFS? 512 Byte

Welche Bedeutung hat die Abkürzung FAT? File Allocation Table, Datei Zuordnungs Tabelle, Prinzip verkettete Liste

Was ist ein Cluster, wie groß kann er maximal werden? Bündel aus mehreren Blöcken, maximal 32 KiB, Anzahl der Blöcke ist immer 2er Potenz: 2,4,6,16 usw.

Eine Festplatte wird entsprechend der logischen Blöcke einer Festplatte in Cluster unterteilt. Die Größe eines Clusters ist abhängig von der Größe der Festplatte:

FAT16:

FAT32:

Aus wie vielen Blöcken kann ein Cluster maximal bestehen bei FAT 16, FAT 32? Bei beiden 32 KiB / 512 Byte = 64

Welcher Zusammenhang besteht zwischen Clustergröße und Partitionsgrösse? 2FAT * Clustergröße = Partitionsgrösse. Bei FAT32 ist wird 228 verwendet

Wie viele Nibble werden für einen FAT-Eintrag benötigt bei FAT 12, FAT 16, FAT 32? 3 / 4 / 8

Wie viele Byte hat ein FAT 12, FAT 16, FAT 32 Verzeichniseintrag? 32 Byte

Bestimmen Sie die maximal nutzbare Größe einer Festplattenpartition unter FAT 12, FAT 16, FAT 32! FAT12: 212 * 512 Byte = 4096 * 512 Byte = 2 MiB; FAT16: 216 * 32 KiB = 216+15 Byte = 231 Byte = 2 GiB; FAT32: 4 Bit sind bei der Adressierung reserviert, daher 228 * 32 KiB = 228+15 Byte = 243 = 8 TiB

Was ist eine Festplattenpartition, worin besteht der Sinn und Nutzen? Sie ist eine Unterteilung der Festplatte und kann als Speicherbegrenzung dienen. Sie kann als Sicherungsmedium beim Formatieren einer anderen Partition verwendet werden. Man kann mehrere BS auf die Festplatte ausspielen und somit mehrer verschiedene Dateisysteme haben.

Wie wurde mit defekten Blöcken umgegangen? Sie werden markiert: FAT12: FF7 FAT16:FFF7

Wie wird EOF bei FAT markiert? FAT12: FFF FAT16: FFFF

Wie werden freie Cluster gefunden, erkannt? Freie Cluster haben keinen Inhalt, sind also als 000 deklariert

Wie ist FAT16 logisch aufgebaut, Zeichnung?

Erklären Sie die Begriffe:

Was versteht man unter einem Verzeichnis, wie (als was) wird ein Verzeichnis bei FAT behandelt? Eine Datei mit Verzeichniseinträgen

Skizzieren Sie den prinzipiellen Aufbau eines Verzeichniseintrags bei FAT 16.

Bezeichnung Dateiname Erweiterung Attribute - Uhrzeit Datum Start-Cluster Datei-Größe
Beispiel hugo txt           1234

Gegeben ist folgender FAT-Eintrag... Eine Datei Hubi.txt mit der Größe 15 KiB soll abgespeichert werden, die Clustergröße beträgt dabei 4 Blöcke. Wie sieht der entsprechende Verzeichniseintrag und die FAT nach dem Abspeichern aus? Cluster ist 2 KiB groß -> 15 KiB / 2 KiB = 8 Cluster

Wo befindet sich die Sicherungskopie der FAT und welcher Nachteil ergibt sich daraus? Die Sicherungskopie befindet sich direkt nach dem Original; da sie also nahe beieinander liegen liegt es nahe, dass wenn die Original-FAT beschädigt wird, auch die Kopie Schaden trägt

Fragen zu NTFS

Welche Bedeutung hat die Abkürzung NTFS? New Technology File System

Bei welchen Betriebssystemen findet NTFS hauptsächlich Verwendung? MS Windows XP oder MS Windows 2000 oder MS Windows NT

Beschreiben Sie die Unterschiede von FAT zu NTFS bezüglich:

Wie groß sind die Cluster bei NTFS standardmässig?

Wie werden große Dateien (>1024 Byte) bei NTFS abgespeichert?

Was bedeutet MFT, wie sieht ein MFT-Eintrag aus? Master File Table..

Museumsfragen: Ein ehemals modernes BIOS präsentierte dem Betriebssystem eine Festplatte als ein Anzahl von Blöcken (LBA).

  1. Wie groß ist so ein Block?
  2. Wieviel Speicher konnte bei LBA 28 Bit verwaltet werden (Rechnung)?
  3. Wie sprach das BIOS die Blöcke einer historischen Festplatte früher an (Adressierung der Sektoren), erklären Sie die verwendeten Begriffe gegebenenfalls durch eine Zeichnung.
  4. Nennen Sie die Betriebsmittelbezeichnung von Festplatten.

Linkliste

Dos / Windows FAT 16 / FAT 32 Understanding the FAT32 Filesystem

http--www.it-infothek.de-fhtw-ra_bs_08.html
WinNT / 2K / XP NTFS

NTFS.com Master File Table.Fix MFT