Hardware - Martin Tintel Homepage

Transcrição

Hardware - Martin Tintel Homepage
Hardware
Hardware ist der Oberbegriff für die maschinentechnische Ausrüstung eines Systems z. B. eines
Computersystems. Es muss sich aber nicht ausschließlich auf Systeme mit einem Prozessor beziehen.
Es können auch elektromechanische Geräte wie beispielsweise ein Treppenhauslichtautomat sein.
Zur Computer-Hardware gehören alle Baugruppen (Komponenten: Prozessor, Arbeitsspeicher usw.)
und Peripheriegeräte. Vereinfacht gesagt gehört alles, was angefasst werden kann, zur Hardware.
Computer-Hardware ist ausschließlich mit entsprechender Software benutzbar.
Software bezeichnet im Gegensatz dazu Programme und Daten, die man nicht anfassen kann.
Die Datenträger, auf denen sich die Software befindet, z. B. Diskette, CD/DVD/BR-D/HD-DVD, RAM,
Flash-Speicher, Festplatte usw., sind dagegen Hardware.
Die korrekte deutsche Übersetzung für „Hardware und Software“ lautet „Datenverarbeitungsgeräte
und Datenverarbeitungsprogramme“.
Zur Computer-Hardware gehören:
PC-Komponenten:
Netzteil, Gehäuse
o Die Grundbestandteile der Rechnerarchitektur wie Platine, welche im allgemeinen
Sprachgebrauch Motherboard oder Mainboard genannt wird. Dort befindet sich ein
Chipsatz für IO; ein Prozessor und Speicherbausteine.
Speicherwerke:
o Arbeitsspeicher (RAM)
o Speichermedien / Laufwerke (Festplatte, Flashspeicher, CD-ROM-Laufwerk, DVDLaufwerk, Zip-Laufwerk, Jaz-Laufwerk, …)
Peripheriegeräte:
o Erweiterungskarten (Grafikkarte, Soundkarte, PhysX-Karte, Netzwerkkarte, TV-Karte,
ISDN-Karte, USB-Karte, …)
o Ausgabegeräte (Drucker, Bildschirm, Beamer, Lautsprecher, …)
o Eingabegeräte (Tastatur, Maus, Joystick, …)
o Einlesegeräte (verschiedene Arten von Scannern, Mikrofone, Kartenlesegeräte, …)
Alle diese Peripheriegeräte und Baugruppen eines Computers sind großteils mit logischen
Schaltungen aufgebaut.
Mainboard / Motherboard / Platine
Die Hardware eines Computers wird vom BIOS (Basic Input Output System) bzw. EFI (Firmware) und
dem Betriebssystem (Windows, Linux, Mac OS, Unix) (Software) und den dazugehörigen Treibern
(Software) gesteuert und verwaltet.
Häufig ist Hardware mit einer FCC-Nummer versehen, die eine eindeutige Identifizierung des
Herstellers erlaubt.
Firmware
Der Begriff Firmware bezeichnet hier Software die bereits in die Hardware integriert wurde z. B. das
BIOS das aus kleinen Programmen zur Initialisierung und Steuerung der wichtigsten HardwareKomponenten nötig ist.
Ursprünglich kommt der Begriff Firmware aus dem Bereich programmierbarer Logik. In den 80ern
wurden logische Funktionen wie z. B. Adressdekodierung über einzel erhältliche Bausteine
festverdrahtet realisiert. (UND-Gatter, Oder-Gatter, Inverter, Flip-Flops, usw.) Mit zunehmender
Komplexität wurden programmierbare Bausteine wie z. B. PLDs eingesetzt. Dieses hat den Vorteil
flexibel auf neu gefundene Fehler durch Neuprogrammierung reagieren zu können, anstatt Teile
auslöten zu müssen. Trotz der Programmierung der Hardware mittels softwareähnlichen
Hochsprachen (z. B. Abel, VHDL, usw.) spricht man von Firmware, die man meistens der Hardware
oder der Mikroelektronik zuordnet.
Basic Input Output System (BIOS)
Definition und wofür es gebraucht wird
Als Basic Input Output System (BIOS) bezeichnet man die Firmware bei x86-PCs (für andere Systeme
siehe unten im Kapitel Vergleichbare Konzepte). Aus technischer Sicht handelt es sich beim BIOS um
ein Programm, das in einem nichtflüchtigen Speicher auf der Hauptplatine des PCs abgelegt ist und
das unmittelbar nach dessen Einschalten zur Ausführung gelangt. Es ist unter anderem die Aufgabe
des BIOS, den PC zunächst „zum Leben zu erwecken“ und im Anschluss das Starten eines
Betriebssystems einzuleiten. Dass das griechische Wort Bios (geschrieben: βιός) zugleich Leben
bedeutet, ist vor diesem Hintergrund vermutlich ein „beabsichtigter Zufall“.
Im flüchtigen Sprachgebrauch wird der Begriff BIOS heute manchmal auch synonym für BIOSEinstellungen verwendet. Hierauf geht der Absatz über BIOS-Einstellungen genauer ein.
Aufgabe des BIOS
Ein BIOS löst zwei Probleme, die beim Kaltstart eines PCs auftreten:
Henne Ei Problem
Zum Einen ein klassisches Henne-Ei-Problem oder das Problem des Münchenhauseners, der sich aus
einem Sumpf herausziehen sollte, obwohl er nichts festes hatte, woran er hätte ziehen können:
Software ist in der Regel auf einem Datenträger gespeichert, die zunächst in den Hauptspeicher des
Rechners eingelesen werden muss. Zum Einlesen des Datenträgers benötigt die CPU aber wiederum
Software. Frühere Computer und Rechenanlagen lösten dieses Problem dadurch, dass sie die CPU
nach dem Einschalten des Rechners grundsätzlich zunächst in den Pausemodus versetzten. Bevor der
Rechner gestartet werden konnte, musste zunächst manuell oder mithilfe spezieller Peripherie eine
minimale Software (Bootloader, Urlader oder Ladeprogramm genannt) in den Hauptspeicher
eingetragen werden. Häufig war die Neueingabe des Urladers beim Starten des Rechners aber gar
nicht nötig, da der in den 1960er und frühen 1970er Jahren weit verbreitete Kernspeicher – ganz im
Gegensatz zum heute gebräuchlichen Halbleiterspeicher – seinen Inhalt beim Ausschalten nicht
verlor und die Programme im Hauptspeicher deshalb zumeist nur neu gestartet werden mussten
oder sogar fortgesetzt werden konnten. Das Ladeprogramm ist bei heutigen PCs Teil des BIOS, das in
einem speziellen Speicherbaustein, dem Flash-Speicher abgelegt ist, dessen Speicherinhalt auch ohne
Stromzufuhr erhalten bleibt. Damit entfällt heute die manuelle Eingabe eines Ladeprogramms.
Unterschiedliche Hardware
Zum Anderen erfordert unterschiedliche Hardware, die in unterschiedlichen Rechnern verbaut ist,
jeweils eine spezielle Ansteuerungssoftware („Treibersoftware“). Ein Betriebssystem musste also
früher auf jede Variante jedes Rechnertyps speziell zugeschnitten werden, um darauf lauffähig zu
sein. Durch die Auslagerung dieser speziellen Ansteuersoftware in den jeweiligen Rechner wurde es
möglich, die gleiche Betriebssystemsoftware auf verschiedenen Rechnern laufen zu lassen.
Allerdings lässt sich beobachten, dass moderne Betriebssysteme wieder dazu übergehen, eigene
Treibersoftware für die Hardware zu benutzen, da im Protected Mode keine BIOS-Aufrufe mehr
möglich sind.
Extensible Firmware Interface
Das Extensible Firmware Interface (EFI, deutsch: Erweiterbare Firmware-Schnittstelle), bzw. dessen
Nachfolgeversion Unified EFI (UEFI, deutsch: Vereinheitlichte erweiterbare Firmware-Schnittstelle)
beschreibt die zentrale Schnittstelle zwischen der Firmware, den einzelnen Komponenten eines
Computers und dem Betriebssystem. Es sitzt logisch gesehen unterhalb des Betriebssystems und
stellt den Nachfolger des PC-BIOS dar, mit Fokus auf 64-Bit-Systemen.
Kommunikationsweg
Zielsetzung
EFI soll einfacher zu bedienen sein als herkömmliche BIOS-Implementationen. Zudem sollen die
Anwender beim Systemstart auswählen können, welche Bestandteile des verwendeten
Betriebssystems geladen werden sollen, beispielsweise könnten fehlerhafte Treiber deaktiviert
werden.
Auch soll von den grafischen Möglichkeiten moderner Hardware endlich Gebrauch gemacht werden.
Ein Schwerpunkt liegt auf der Netzwerkfähigkeit. Es soll möglich werden, Fehler über RemoteVerbindungen zu diagnostizieren.
Geschichte
Das ursprüngliche PC-BIOS erschien 1981 mit dem ersten IBM-PC und kann trotz vieler späterer
Erweiterungen den Anforderungen moderner Hardware und Betriebssysteme schon seit einiger Zeit
nicht mehr gerecht werden. Insbesondere ist es nicht 64-bit-tauglich, und weitere
„Flickschustereien“ in dieser Richtung erschienen Hardware-Herstellern (wie Intel oder AMD) nicht
mehr tragbar.
Maßgeblich für die Neu-Entwicklung EFI war eine Initiative von Intel, um einen Ersatz für das klar
veraltete BIOS zur Verwendung in der IA64-Architektur zu finden. In dem 1998 gegründeten Intel
Boot Initiative (IBI)-Programm wurde die Idee spezifiziert.
Den eigentlichen Nachfolger für das BIOS stellt der Firmware Foundation Code dar, der zu den
Bedingungen der CPL (Common Public License) freigegeben wird und das Extensible Firmware
Interface implementiert. Ein handelsübliches BIOS verwendet ausschließlich den Real Mode.
Unified EFI (UEFI)
Zur Werbung und Weiterentwicklung von EFI wurde 2005 das Unified EFI Forum gegründet. Hieran
sind außer Intel auch AMD, Microsoft, Apple und viele andere PC- und BIOS-Hersteller beteiligt, so
dass die nun als Unified EFI (UEFI) bezeichnete Schnittstelle nicht mehr allein von Intel festgelegt
wird. Im Januar 2006 wurde die EFI-Version 2.0 freigegeben.
Techniken und Möglichkeiten
Die EFI-Schnittstelle soll die Nachteile des BIOS beseitigen und neue Möglichkeiten eröffnen. Dazu
gehören laut EFI-Spezifikationen:
Einfache Erweiterbarkeit (z. B. für Digital Rights Management)
Eingebettetes Netzwerkmodul (zur Fernwartung)
Preboot Execution Environment (universelles Netzwerkbootsystem)
Unterstützung für hochauflösende Grafikkarten schon beim Start des Computers
BIOS-Emulation (also Kompatibilität zu vorhandenen BIOS) durch ein „Compatibility Support
Module“ (CSM)[1]
eine Shell, über die beispielsweise EFI-Applikationen (*.efi) aufgerufen werden können
Treiber können als Modul in das EFI integriert werden, so dass sie nicht mehr vom
Betriebssystem geladen werden müssen. Damit sind, wie bei Open Firmware,
systemunabhängige Treiber möglich.
Das System kann in einem Sandbox-Modus betrieben werden, bei dem Netzwerk- und
Speicherverwaltung auf der Firmware laufen anstatt auf dem Betriebssystem.
Das EFI bietet eine Auswahlmöglichkeit für die auf dem System installierten Betriebssysteme
und startet diese; damit sind (den Betriebssystemen vorgeschaltete) Boot-Loader überflüssig.
Ablauf eines System-Boots mit EFI
Marktdurchdringung
Die Etablierung des Extensible Firmware Interface als zukünftiger Ersatz für das BIOS scheiterte
bisher im PC-Bereich am Widerstand einiger Computer- und BIOS-Hersteller. Mit dem Einstieg von
Apple in den x86-Markt scheint sich dies jedoch langsam zu ändern – die neuen Macs auf Intel-Basis
verwenden ausschließlich EFI.
Inzwischen hat mit dem Mainboard-Hersteller MSI der erste Anbieter "normaler" x86-Systeme damit
begonnen, seine Produkte auf EFI umzustellen. Im Februar 2008 sollte das erste Mainboard (P35
Neo3), welches auf dem P35-Chipsatz von Intel basiert, mit EFI erscheinen.[2] Erschienen ist es jedoch
nie. MSI plant jetzt allerdings die Martkeinführung von EFI für P45-Boards im Juli. [3]
EFI wird hauptsächlich von Intel gefördert und, mit Einschränkungen, auch von Microsoft. Intels
Itanium-Systeme liefen von Anfang an ausschließlich mit EFI, und dank der Hilfe von Intel konnte
auch Apple EFI bereits einsetzen. Windows-Versionen für Itaniumsysteme mit EFI gibt es bereits seit
Windows 2000. Microsoft hat also bereits einige Jahre Praxiserfahrung mit dem EFI, weswegen
„Kinderkrankheiten“ bei der EFI-Unterstützung in Windows Vista nicht zu erwarten gewesen wären.
Windows Vista unterstützt seit SP1 UEFI2.0, aber nicht den älteren EFI_Standard 1.3, der bisher bei
Intel-Macs verwendet wird.[4]
Betriebssysteme und die Unterstützung von EFI
Windows
Windows für Desktop-Systeme unterstützt EFI erst ab Windows Vista mit integriertem Service Pack 1,
alle älteren Windows-Versionen für Desktop-Systeme unterstützen EFI nicht.[5]
Für die auf EFI basierenden Macintoshs wurde ein BIOS-Kompatibilitätslayer nachgereicht, damit
darauf ältere Windows-Versionen gebootet werden können.
Linux
EFI wird auch von Linux unterstützt werden: Präsentationen über EFI anlässlich des „Intel
Entwicklerforums, Herbst 2004“ (engl.: „Intel Developers Forum, Fall 2004“) gab es mit etwa gleicher
Dauer sowohl von Microsoft als auch von Vertretern des Linux-Betriebssystems.
Der stabile Zweig des Linux-Kernels bietet seit Version 2.6.25 auch für die x86-Architektur
Unterstützung für EFI.[6]
Mac OS X
Die im Januar 2006 vorgestellten Apple Macintosh Rechner mit Mac OS X (und alle späteren
Produkte), die auf Intel-CPUs und Chipsätzen basieren, verwenden ebenfalls EFI als Firmware. [7] Sie
sind damit zusammen mit einigen Media-Center-PCs (z. B. Gateway 610 aus dem Jahre 2003) die
ersten EFI-basierten Massenmarktcomputer. Die ausschließliche Nutzung des EFI (zunächst ohne den
optionalen BIOS-Kompatibilitätslayer) verhinderte zunächst auch das Booten von Windows XP auf
Intel-basierten Macintosh-Rechnern. Bald wurde aber durch das Projekt xom eine BIOS-Emulation
nachgerüstet, die das Starten von Windows ermöglichte. Apple rüstete nach einigen Monaten durch
eine Firmware-Aktualisierung den BIOS-Layer nach und bot bis Mitte Oktober 2007 eine kostenlose,
"Boot Camp" genannte Lösung an, die es ermöglicht, Mac OS X und Windows XP auf zwei Partitionen
desselben Rechners zu installieren und durch Neustart (Booten) zwischen den Betriebssystem hin
und her zu wechseln („Dualboot-Lösung“). Seit erscheinen von Mac OS X 10.5 (Leopard) ist Boot
Camp standardmäßig auf allen Intel-Macs vorinstalliert.