Wie steuert das BIOS E / A-Geräte ohne Treiber?
Zum Beispiel, wie wird ein Bild angezeigt, während der Computer bootet, wenn das BIOS keine Treiber für die Grafikkarte hat.
Gibt es einen generischen Treiber, der für alle BIOS und Hardware-Systeme Standard ist und dem BIOS ermöglicht, grundlegende Funktionen auszuführen, unabhängig davon, welche Hardware installiert ist.
Jede Hilfe wäre dankbar.
Vielen Dank.
Do you have a specific problem your trying to solve?
Ja, sie versuchen das Problem zu lösen, eine Antwort auf die von ihnen gestellte Frage zu finden. ¬_¬Antworten:
Standards. Alle Komponenten implementieren eine Basisschnittstelle, und das BIOS ist darauf programmiert, diese zu verwenden. Da es sich um eine Basisschnittstelle handelt (wofür das 'B' im BIOS steht), kann es natürlich nicht alle Funktionen der Hardware nutzen. das bleibt der Software überlassen, die über Treiber direkt auf die Hardware zugreifen kann.
Ursprünglich erstellten die BIOS-Hersteller eine Reihe von APIs , die Geräte verwenden sollten, wenn sie kompatibel sein wollten. Sie taten dies über " Interrupts ", was eine Möglichkeit für ein Gerät ist, das Programm zu unterbrechen , um es wissen zu lassen, dass etwas passiert ist und umgekehrt.
Beim Pre-Boot-Display implementiert die Firmware der Grafikkarte VESA (Video Electronics Standards Association), einen Standard, der erstellt wurde, um den Zugriff auf die Grafikhardware zu vereinfachen. Das BIOS kann mit den Standardfunktionen auf die Video-Hardware zugreifen. Es ähnelt in gewisser Weise der Implementierung von DirectX als übergeordnetes API für Hardware, sodass Programmierer nicht jede einzelne Hardwarekonfiguration berücksichtigen mussten.
Art von. Es ist kein Treiber, sondern eine Standard-API . Eine Reihe von Programmierfunktionen, mit denen grundlegende Dinge wie die Initialisierung eines Geräts oder die Eingabe und Ausgabe von Daten ausgeführt werden können.
Wenn Hersteller ihre Produkte verkaufen möchten, müssen sie sicherstellen, dass sie mindestens die Standard-APIs implementieren, damit sie kompatibel sind. Auf diese Weise kann das System die Hardware erkennen und bei bootkritischen Geräten auf der Basisebene darauf zugreifen, bis ein Softwaretreiber geladen werden kann, der weiß, wie er vollständig darauf zugreifen kann.
quelle
Das BIOS in einem PC sollte eine ähnliche Funktion erfüllen wie das BIOS in einem 8-Bit-CP / M-System, das vor der Übernahme des PCs Mitte der 80er Jahre populär war. Das BIOS sollte einen minimalen Bootloader und hardwareabhängige Low-Level-Routinen für die Ein- und Ausgabe an einige Geräte (Bildschirm, Festplatte, Band, COM-Port) enthalten. Das Wissen dazu wurde in das ROM eingebaut - kein Treiber erforderlich und natürlich keine zusätzliche Hardware, die von diesem ROM unterstützt wird. (Dinge wie Energieverwaltung und ACPI kamen viel später, in den 90er Jahren, nachdem sich der PC als allgegenwärtige Plattform etabliert hatte.)
(Das CP / M-Dateisystem befand sich in einer Komponente, die von der BDOS-Festplatte geladen wurde. Ebenso ist das Wissen über das FAT-Dateisystem und dessen Schnittstellen in (mindestens einer von) zwei versteckten Dateien MSDOS.SYS oder IO.SYS nicht enthalten.) des BIOS ROM.)
Allerdings ... Das PC-BIOS unterstützte im Gegensatz zu CP / M den Begriff "Option ROMS", der auf einer Erweiterungskarte enthalten sein könnte. Es gab also zumindest einen minimalen Mechanismus, um das BIOS zu erweitern. Grafikkarten, die mit CGA beginnen (MDA, der Vorgänger von CGA, hat dies möglicherweise auch getan), verfügen über ein Options-ROM, das die E / A-Funktionen der BIOS-Schnittstelle erweitert oder hinzufügt. (Aus diesem Grund wird vor dem Start des BIOS eine NVidia-Meldung angezeigt.) Dies gilt auch für Festplattencontroller und SCSI-Karten. All das tun sie immer noch. Viele ältere Netzwerkkarten haben einen Sockel für ein Boot-ROM.
Denken Sie auch daran, dass Hersteller von PC-Klonen, die in den 80er Jahren entstanden sind, sich sehr schnell entschieden haben, nicht nur ein kompatibles BIOS-Interface bereitzustellen, sondern die gesamte PC-Plattform einschließlich der gesamten Low-Level-Hardware wie dem Timer-Chip kopieren mussten , Interrupt-Controller usw. (Dies war relativ einfach, da nur wenig von IBM proprietär war.) Dies lag daran, dass das BIOS nur langsam vorging und Programmierer direkt auf die Hardware zugegriffen haben, insbesondere für Spiele.
Daher kann zwischen Options-ROMs und diesem Konsens der Standardhardware, die die PC-Plattform bildet, sowie der Tatsache, dass sie während der gesamten Entwicklung des PCs abwärtskompatibel gehalten wurde, Folgendes geschehen, wenn das Display ohne Treiber verwendet werden soll:
Die gesamte PC-Anzeigehardware funktioniert beim Booten weiterhin im "VGA-kompatiblen" Modus. Der ursprüngliche IBM VGA-Adapter hatte Modi, die mit früheren EGA-, CGA- und MDA-Karten kompatibel waren. Dies bedeutet, dass etwas, das über das BIOS oder außerhalb eines Betriebssystems ausgeführt wird, davon ausgehen kann, dass es weiterhin den gleichen Speicher lesen und schreiben kann, der jetzt wie 1985 mit dem Bildschirm verbunden ist.
quelle