Informatik - Skript zum Unterricht
(I) Hardware
- 0. Einführung
- 1. Begriffsbestimmung
- 2. Die Wurzeln der Informatik
- 3. Grundaufbau
- 4. Verarbeitungseinheit
- 5. externe Datenträger
- 6. Von der Hard- zur Software
6. Von der Hard- zur Software
6.1 Starten des Computers
Nach dem Einschalten des Computers befindet sich dieser in einem statistisch undefinierten Zustand.
Die Speicherstellen (Register) der Chips enthalten zufällige Werte.
Deshalb muss der Computer erst in einen arbeitsfähigen, wohl definierten, Zustand gebracht werden.
Hierzu werden mehrere Prozesse bis zum Laden des Betriebssystems durchlaufen.
Diese fasst man i.A. mit dem Begriff BOOTEN zusammen.
Ablaufbeispiel für Computer auf der Hardwarebasis des Intelprozessors bzw. analoger Prozessoren:
- Einschalten der Hardware
- Selbstinitialisierung der CPU, welche anschließend den Code an einer definierten Speicheradresse (F000h:FFF0h) abarbeitet
- Basic Input Output System (BIOS), welches sich an der o.g. Speicheradresse befindet
- gibt über Port 80h hexadezimale Werte als Statusmeldung aus, die man über eine entsprechende Karte anzeigen lassen kann.
- grundlegendes Systemprogramm, das unmittelbar nach dem Einschalten zur Verfügung steht und aus zwei Teilen besteht:
- Power-On Self Test (POST)
- umfassende Sammlung von elementaren Programmen, die die Zusammenarbeit zwischen Prozessor und den einzelnen Rechnerkomponenten auf niedrigster Ebene abwickeln
- POST, Kontrolle geschieht über Pieptöne
- BIOS lädt ein Ladeprogramm (Boot- oder Urlader) von Sektor 0, Spur 0, Kopf 0 (erster physikalischer Sektor) des Datenträgers (MBR, Master Boot Record) in den Arbeitsspeicher und startet dieses
- Urlader vergewissert sich, dass es sich bei der Datei im Bootsektor um die Datei IO.SYS (Windows 98) handelt; bei Windows XP heißt der Urlader NTLDR (NT Loader), welcher zuerst das Programm NTDETECT.COM ausführt
- Urlader kopiert die Datei IO.SYS (Windows 98) bzw. NTDETECT.COM (XP) in den Arbeitsspeicher
Windows 98
- IO.SYS leitet das Laden ein, indem es eine Minimalversion des FAT-Datei-Systems in den Arbeitsspeicher holt, um auf die Festplatte oder das Diskettenlaufwerk zugreifen zu können
- MSDOS.SYS wird ausgewertet
- REGISTRY wird geladen und analysiert
- CONFIG.SYS
- AUTOEXEC.BAT
- WIN.COM
6.2 Der Startablauf am konkreteren Beispiel von Windows XP
- BIOS lädt ein Ladeprogramm (Boot- oder Urlader) von Sektor 0, Spur 0, Kopf 0 (erster physikalischer Sektor) des Datenträgers in den Arbeitsspeicher und startet dieses
- Laden der Datei NTLDR (NT Loader), die für den weiteren
Bootvorgang von Windows XP verantwortlich ist
Rechner schaltet nun in den Protected Modus (Windowsoberfäche) und lädt die Dateisystem-Treiber
Windows XP kann nun auf die Festplatte u.a. Datenträger zugreifen und die diversen Dateien laden und diese auswerten - Auswertung der Datei boot.ini (je nach deren Einstellungen stellt sie ein Bootmenü zur Verfügung)
- NTDETECT.COM führt die Hardwareerkennung durch, lädt die Datei HAL.DLL als unterste Schicht des Betriebssystems und lädt anschließend den Treiber für den Systemstart aus dem Registry-Schüssel: Hkey_Local_Machine\System\CurrentControlSet\Device
- starten der Datei NTOSKRNL.EXE
- NTOSKRNL.EXE übernimmt die Initialisierung des Systems Auswertung der Registry sowie der Hauptkonfigurationsdatenbank; es holt die Information vom BIOS und der Registry (Schüssel: Hkey_Local_Machine\Hardware\Description)
- HAL.DLL (HAL: Hardware Abstractions Layer) lädt alle benötigten Treiber und Hardwarekomponenten
- Wenn alles optimal gelaufen ist dann erscheint nun die Oberfläche von Windows XP ggf. mit Login-Fenster.
- Laden der persönliche Einstellungen
- Laden weiterer Programme, die nach dem Start von Windows XP automatisch benötigt werden
- Auswertung des Autostart-Ordner und Autostart-Registry-Einträge
Quelle: PC-Welt 5/2004, S.118 ff
6.3 Ergänzungen für Windows Vista
Unter Windows Vista gibt es die Dateien boot.ini und NTLDR nicht mehr.
Das BIOS lädt aus dem ersten physikalischen Sektor des Datenträgers den Master Boot Record (MBR). Die Information aus dem MBR verweist auf den Partition Boot Record (PBR) der aktiven Partition.
Nun wird das erste Windows Vista Programm, der Windows-Boot-Manager bootmgr.exe, gestartet. Dieser ruft die Datenbank "Boot Configuration Data" (BCD) ab, welche die Starteinträge für die Betriebssysteme enthält und stellt diese als Bootmenü zur Verfügung. Das Programm bootmgr.exe ist als 16-Bit-Programm (Realmode) eine Lösung für PC's, die noch nicht über das modernere Extensible Firmware Interface (EFI) verfügen.
Windows Vista wird über den Eintrag winload.exe (ähnlich NTLDR) aufgerufen, welcher den Vista-Kernel (ntoskernl.exe) startet. Anschließend lädt HAL alle benötigten Treiber und Hardwarekomponenten.
Quelle: http://www.pcwelt.de/start/software_os/vista/praxis/90862/
Weitere Ausführungen zum POST-Code bzw. zum BIOS sind zu finden unter
www.bios-kompendium.de.
Der Bootvorgang unter Linux ist z.B. beschrieben unter
http://de.wikibooks.org/.
6.4 BIOS und EFI
Moderne Computer (z.B. Apple iMac) verfügen nicht mehr über ein herkömmliches BIOS, sondern nutzen das von der Firma Intel 1998 entworfene Unified Extensible Firmware Interface (UEFI).
Das Extensible Firmware Interface ist kein BIOS im herkömmlichen Sinne, sondern eine Software-Schnittstelle zwischen der Hardware und dem Betriebssystem.
Ladeprogramm des Betriebssystems |
↑ |
Extensible Firmware Interface |
↓ |
Firmware |
| |
Hardware |
Durch dieses kleine "Betriebssystem" in der Pre-Boot-Phase können Test-, Diagnose- und Konfigurationsfunktionen ausgeführt werden, ohne das eigentliche Betriebssystem zu laden.
Diese Funktionen vereinfachen die Analyse von Fehlermeldungen und ermöglichen die Abfrage des Systemstatus zum Beispiel bei defekten Computersystemen.
6.5 Betriebssysteme
Definition
Die Entwicklung von Betriebssystemen begann mit dem Einsatz von Rechenanlagen der 2. Generation (vgl. 2.7)
>Ein Betriebssystem (BS, engl. OS Operating System) umfasst alle Programme eines Computers, die den Betrieb des Systems steuern und überwachen. Es verwaltet die Hardwarekomponenten und die Interaktion mit dem Benutzer und ist somit Abstraktionsschicht zwischen Benutzer und Hardware.
Das Deutschen Institut für Normung definierte in der DIN 44300 ein Betriebssystem:
"Ein Betriebssystem umfasst die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Grundlage der möglichen Betriebsarten des digitalen Rechensystems bilden und die insbesondere die Abwicklung von Programmen steuern und überwachen."
Die DIN 44300 wurde durch die DIN ISO/IEC 2382 abgelöst und hier (IEV Nummer 714-22-01) das "operating system" mit "software that controls the management and the execution of users' programs in a computer" kürzer definiert.
Bestandteile
Bestandteile eines klassischen Betriebssystems für x86er Prozessoren
- Urlader: wird als erstes Programm vom BIOS geladen und ist für das Laden der weiteren Bestandteile des Betriebssystems zuständig
- Hauptprogramme: bilden den Kern (Kernel) des BS u.a. mit Prozessor , Speicher , Datei , Datenträger und Geräteverwaltung
- Dienstprogramme: bilden den Befehlssatz des BS und bestehen aus einzelnen Hilfsprogrammen
Architekturmodelle
Das Drei-Schichten-Modell | Schalenmodell | |
typischer Vertreter: MS-DOS, Windows | typische Vertreter: UNIX, Linux | |
Das System ist in einzelne Schichten geteilt. Sie können mit abgestuften Privilegien versehen sein. | Das System besteht aus dem privilegierten Kern (Kernel) und einer Schale (Shell). | |
Eine Schicht kommuniziert mit der benachbarten Schicht, kann aber auch auf andere Schichten zugreifen. | Jede dieser hierarchischen Schichten hat ihre fest definierte Aufgabe. Jede Schicht kann nur auf die unmittelbar darunter liegende zurückgreifen, um ihre Aufgaben zu auszuführen. |
Aufgabenbereiche
- Betriebsmittelverwaltung (Task Management): Verwaltung und Zuteilung von Betriebsmitteln (Ressourcen) an verschiedene Ausführungseinheiten (Prozessor, Arbeitsspeicher, Peripherie) und betriebsmittelbezogene Zerlegung der Jobs in Tasks
- Auftragsverwaltung (Job Management): Organisation, Steuerung und Verwaltung der einzelnen Prozesse (Jobs)
- Abstraktion der Handware (System Management): Anpassung der Leistungen der Hardware an die Bedürfnisse des Benutzers, u.a. durch Verwaltung (Data Management) der auf den peripheren Speichern befindlichen (logischen) Dateien, Bereitstellung von Zugriffmethoden bzw. Speicherungsformen und Gewährleistung von Speicherschutzmaßnahmen
Klassifikation von Betriebssystemen
- Herstellerabhängig
· herstellerspezifisch (Großrechner)
· herstellerunabhängig (offene Systeme) - Einsatzbereich
· Großrechner
· mittlere Systeme (Server)
· Workstation - Nutzungsform
· Einzelnutzersystem (CP/M, MS-DOS, Windows 98, Windows CE)
· Mehrnutzersystem (OS/400, UNIX, Linux
· verteilter Betrieb (Cloud, Netzwerksystem, Parallelrechner) - Hardwareabhängig
· Datenbusbreite (8, 16, 32, 64 Bit)
· Prozessortyp (6510, Z80, x86, 68040)
· Prozessorarchitektur (RISC, CISC, parallele Systeme) - Anzahl der Aufträge
· Single Tasking System (CP/M, MS-DOS)
· Multi Tasking System (OS/400, UNIX, Linux, W2K, MacOS)
Neben diesen Kriterien gibt es weitere Bewertungsgrößen.