====== Bootvorgang, Paritionierung, Dateisyteme ====== {{:inf:inf8bi_201112:booten-partitionen-filesysteme.pdf|Druckversion}} ===== Booten ===== Als Booten bezeichnet man das Laden des Betriebssystems eines Computers. Beim Booten eines PCs beginnt der Prozessor mit der Abarbeitung des BIOS. Dieses führt einen Test der angeschlossenen Geräte durch und durchsucht diese in einer Reihenfolge nach Bootsektoren (im Falle von Festplatten den MBR). Der erste gefundene Bootsektor wird ausgeführt und lädt über einen meist mehrstufigen Boot-Loader das Betriebssystem. ==== Fehler beim Booten ==== Wenn ein Computer nicht mehr hochfährt, kann das an diversen Komponenten liegen. Eine Fehlerkategorie ist neben dem Betriebssystem die Hardware. Soweit möglich zeigt das BIOS die aufgetretenen Hardwaredefekte an. Wenn keine Bildschirmanzeige erscheint, so ist die Anzahl der Pieptöne ein Hinweis, die der BIOS als Alarm liefert. Bei der BIOS-Meldung „DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER“ ist häufig die Festplatte oder der MBR fehlerhaft. ==== Kaltstart und Warmstart ==== Man unterscheidet zwischen einem * **Kaltstart** (engl. cold boot), bei dem der Rechner wie nach dem Einschalten der Betriebsspannung komplett von Null an hochgefahren wird und einem * **Warmstart** (engl. warm boot), bei dem nur höhere Schichten des Betriebssystems neu initialisiert/geladen werden und dessen tiefste Schichten unverändert belassen werden. Bei letzterem muss durch diverse Sicherheitsmechanismen und -abfragen sichergestellt sein, dass diese belassenen Teile des Betriebssystems intakt sind und nicht etwa im Zuge eines vorangegangenen Programmfehlers (Absturzes) korrumpiert wurden. Je nach Betriebssystem und dessen Version kann sich die Ausführung des Warmstarts stark unterscheiden. Je nach Betriebssystem gibt es auch Mischungen, zB. Ruhezustand aka Hibernate, //suspend-to-disk//, //suspend-to-file//, dabei wird der Inhalt des RAMs auf die Festplatte geschrieben und beim Start wieder geladen. Im Unterschied zum Standby wird der Rechner komplett abgeschaltet. ===== Bootkonzepte ===== Beim Booten wird vom BIOS nach dem Peripheriecheck der Bootloader von der Festplatte geladen, falls dieser existiert. Der Bootloader muss im MBR der Festplatte liegen. Nachdem der Bootloader geladen ist, übernimmt dieser die "Kontrolle" über den Computer. Der Bootloader kann dann entweder sofort der Kernel des Betriebssystems laden, oder zuerst noch Treiber nachladen um von mehreren Formatierungen und viele verschiedene Betriebssysteme booten zu können. Sobald dann der Kernel des OS im Speicher ist, wird dieser gestartet und übernimmt die Kontrolle. /*{{:inf:inf8bi_201112:boot-linux.png|}} {{:inf:inf8bi_201112:dosboot.png|}}*/ ====== Partitionierung ====== Es gibt zwei Arten der Partitionierung von Festplatten: Die physikalische Formatierung (**Festplattengeometrie**) und die logische. Dies wird auch als 2-Stufen-Formatierung bezeichnet. ===== Physikalische Formatierung ===== {{ https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/Disk-structure2.svg/500px-Disk-structure2.svg.png}} Plattenstruktur: (A) Spur, (B) Sektor, (C) Block, (D) Cluster Damit eine Festplatte logisch formatiert werden kann, muss sie physikalisch formatiert sein. Die physikalische Formatierung eines Festplattenlaufwerks wird in der Regelvom Hersteller durchgeführt. Durch die physikalische Formatierung wird eine Festplatte in ihre physikalischen Grundbausteine unterteilt: **Spuren**, **Sektoren** und **Zylinder**. Durch diese Elemente wird die Art und Weise vorgegeben, mit der Daten physikalisch auf der Festplatte aufgezeichnet und von dort gelesen werden können. * **Scheibe** / **Zylinder**: Eine Seite der Platte, unfasst die Gesamtheit der Spuren (vgl. CD/DVD). Die Beschichtung wird magnetisiert (eigentlicher Informationsträger). Eine Festplatte umfasst meist mehrere Scheiben übereinander. * **Spur**: kreisförmige, konzentrische Kreise auf einem Zylinder. Die Daten werden vom Schreib/Lesekopf auf diesen aufgebracht, während die Scheibe rotiert. Eine Scheibe enthält typischerweise einige tausend solcher Spuren, meist auch auf beiden Seiten. * **Block**: Jede Spur ist in kleine logische Einheiten unterteilt, die man Blöcke nennt. Jeder Block verfügt dabei über Kontrollinformationen (Prüfsummen), über die sichergestellt wird, dass die Information auch korrekt geschrieben oder gelesen wurde. Kleinste Einheit die auf einmal gelesen werden kann. * **Sektor**: Gesamtheit aller Blöcke, die die gleichen Winkelkoordinaten auf den Platten haben * **Cluster**: Mehrere Blöcke können von der Formatierung als zusammenhängend gesehen werden, diese Einteilung ist rein virtuell und abhängig von der verwendeten Formatierung. Heute (d.h. bei SATA) übernehmen die Festplattenkontroller die Aufgabe der Adressierung zur Gänze und das Betriebssystem muss sich nicht mehr darum kümmern, das erhöht vorallem die Kompabilität verschiedener Festplatte. Diess Konzept wird //blockbasierte Adressierung// bzw. //virtuelle Festplatte// genannt. ===== Logische Formatierung ===== Die logische Formatierung teilt die Festplatte in logische Teile ein (**Partitionen**) und definiert die Art der Speicherung (**Formatierung**), zB. die Blockgröße. Jede Partition hat genau eine Formatierung. Existierende, formatierte Festplattenpartitionen werden als Datenträger (Volume) bezeichnet und besitzen meist eine Bezeichnung (Name) und eine eindeutige Nummer (Universally unique identifier, wird zB von der Treiberschicht der Betriebssysteme verwendet). ====== Partitionierung von Festplatten ====== ==== Master-Boot-Record (MBR) ==== Der Master-Boot-Record ist der **erste Block** auf der Festplatte. * **Bootloader**: Wird vom BIOS geladen und aufgerufen. Lädt ein Betriebssystem von der Festplatte. * **Partitionstabelle** Unterteilung der Festplatte in unterschiedliche Bereiche (Partitionen). Ein Eintrag besteht aus der Lage der Partition auf der Festplatte und dem Typ. Aus historischen Gründen kann diese Partitionstabelle nur vier Einträge (primäre oder erweiterte Partitionen). === Partitionsarten === Es gibt 2 Arten von primären Partitionstypen, von denen es max. 4 (hist.) geben kann: * Primärpartitionen und * erweiterte Partitionen Erweiterte Partitionen enthalten selbst keine Daten, sondern in ihrem zugewiesenen Bereich weitere **logische** Partitionen. Damit können auf einer Festplatte mehr als nur 4 Partitionen angelegt werden (15). ====== Dateisysteme ====== Eine Auswahl an wichtigen Eigenschaften von Dateisystemen: * maximale Dateinamenslänge * maximale Partitionsgröße * maximale Anzahl an Hierarchien (verschachtelte Ordner) * maximale Anzahl an Ordnern * maximale Anzahl an Dateien (selten) * kleinste Sektorgröße * Verwendungsmedium (nur für CD/DVD eingeschränkt: ISO-9660/UDF) * Journaling * Online-Defragmentierung * Online-Veränderung der Dateisystemgröße * Online-Dateisystemüberprüfung einen kurzen Überblick bietet hier das [[http://wiki.ubuntuusers.de/Dateisystem#Unterschiede|Ubuntuusers-Wiki]] ===== FAT ===== File Allocation Table * Ursprünglich von MS-DOS für die Dateiverwaltung verwendet. * Unterstützt von allen (akutellen) Betriebssysteme. * FAT16: Partitionen können bis zu 2 GB groß sein. * FAT32: Kann 32-Bit-Clusteradressen verwalten und unterstützt Partitionen von bis zu 8 GB bei einer Clustergröße von nur 4 KB. * Maximale Dateigröße von 2GB * Heutige Verwendung: USB-Sticks ===== NTFS ===== New Technology File System * von Microsoft speziell für Windows NT und höher entwickelt * NTFS unterstützt vollständige Zugriffskontrolle, Dateisystemwiederherstellung und besonders große Datenträger. * Verwendung: Windows ===== Extended ===== Die Extended-Dateisysteme sind seit langem das Standarddateisystem für Linux, es existieren bisher 3 Versionen. ==== Ext2 ==== * war bis ca. 2002 das Standardsystem für Linux * außerordentlich stabil und sicher * nach einem Systemabsturz (z.B. Stromausfall) muss eine sehr zeitaufwändige Überprüfung des gesamten Dateisystems durchgeführt werden (fsck) ==== Ext3 ==== * Besitzt eine Journaling-Funktion, d.h. nach einem Stromausfall entfällt eine langwierige Überprüfung des gesamten Dateisystems * maximal 32 TiB * Online-Veränderung der Dateisystemgröße ==== Ext4 ==== * Seit 2008 stabil * maximal 1 EiB * Extents bringen Geschwindigkeitsvorteile bei der Verwaltung großer Dateien und beugt der Fragmentierung vor. ===== BRTFS ===== * effizientes Speichern von kleinen Dateien und Ordnern, insgesamt wenig Beschränkungen * soll langfristig extended ablösen * Dateisystemüberprüfung und -Defragmentierung während des Betriebs * integriertes RAID ===== HFS plus ===== * verwendet in Mac OS X * Journaling * kleine Blockgröße