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:
- Zylinderadresse 16 Bit
- Kopfadresse 4 Bit
- Sektor 8 Bit
Die Logical Block Addressing (LBA) ist "in" seit 1995
- Die Festplatte wird als lange Liste von Blöcken aufgefasst.
- Alle Blöcke einer Festplatte sind von null beginnend durchnummeriert.
- Der genaue Speicherort auf der Platte wird nach aussen verborgen, das ist der Job der Festplattenhardware.
- Addressierung mit 28 Bit bzw. 64 Bit (seit 2000?)
- Blockgrösse ist typisch 512 Byte,
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
|
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:
- FAT12 hat 212 = 4096 Einträge a 3 Nibble (12Bit) somit 6144 Byte = 6 KByte.
- FAT16 hat 216 = 65536 = 64K Einträge a 4 Nibble (2 Byte) somit 128 KByte.
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)
- Verwendet auch Cluster, Clustergrösse von 512Byte - 4KiByte bei Standartinstallation.
- Cluster-Nummern 64Bit gross, kann 264-1 Cluster verwalten, werden in Partition mit 0 beginnend als LCN Logical Cluster Number bezeichnet.
- Journaling: Mittels Protokolldatei werden Änderungen aufgezeichnet, robuster bei Systemproblemen. [de.wikipedia.org/wiki/Journaling-Dateisystem]
- Erweiterte Sicherheitsattribute für genau beschriebene Zugriffsberechtigungen.
- Dateinamen können bis 255 UNICODE-Zeichen beinhalten.
Struktur einer NTFS Partition
NTFS Boot Sector | Master File Table | File System Data | Master File Table Copy |
- Der Boot Sector enthält den BIOS-Parameter-Block mit den Informationen des Laufwerks und den Dateisystem-Strukturen, ausserdem den Boot-Code.
- Die MFT (Master File Table) ist eine relationale Datenbank. Die Einträge haben eine Grösse von 1KiB.
- Um eine Fragmentierung zu vermeiden, wird bei einer frischen Installation 12,5% der Partitionsgrösse für die MFT reserviert.
- Daten, die nicht in einen 1KiB Eintrag passen werden in "File System Data" abgelegt.
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 |
- Standard Informaton: Information such as access mode (read-only, read/write, and so forth) timestamp, and link count.
- Name: Bis zu 255 Unicode Zeichen
- Dateidaten oder Indexliste bei Verzeichnissen.
- Wenn es nicht reinpasst Wurzel eins B-Baums für die weitere Information und Attribute
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:
- 8 KiB bei einer Festplattengröße bis 511 MiB
- 16 KiB bei einer Festplattengröße von 512 MiB bis 1023 MiB
- 32 KiB bei einer Festplattengröße ab 1 GiB
FAT32:
- 4 KiB bei einer Festplattengröße bis 6 GiB
- 8 KiB bei einer Festplattengröße von 6 GiB bis 16 GiB
- 16 KiB bei einer Festplattengröße von 16 GiB bis 32 GiB
- 32 KiB bei einer Festplattengröße von 32 GiB bis 1024 GiB
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:
- MBR Master Boot Record: Speicherbereich am Anfang der Platte zum Laden vom Boot Loader
- Partition Table 4*16Byte am Ende des MBR, Verweis auf die primären Partitionen
- FAT Sicherungskopie
- Wurzelverzeichnis Erstes Verzeichnis / Stammverzeichnis
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:
- Clustergrößen FAT: 32 KiB NTFS: max 64 KiB
- Anzahl der möglichen Cluster FAT12&16: 2FAT FAT32: 228 NTFS: 264
- Dateinamen FAT: 8+3 ASCII NTFS: 255 Unicode
- Sicherheitskonzepte FAT: keine Sicherheitshierarchie NTFS: Zugriffsberechtigungen, Überwachung, Hot Fixin
Wie groß sind die Cluster bei NTFS standardmässig?
- 512 B bei einer Festplattengröße bis 512 MB
- 1024 B bei einer Festplattengröße von 512 MB bis 1 GB
- 2048 B bei einer Festplattengröße von 1 GB bis 2 GB
- 4096 B bei einer Festplattengröße ab 2 GB
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).
- Wie groß ist so ein Block?
- Wieviel Speicher konnte bei LBA 28 Bit verwaltet werden (Rechnung)?
- 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.
- 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 |