Funktionen als BIOS-Ersatz im Protected Mode



  • Moin, Moin...

    Hat jedes 32-Bit-OS eigene Funktionen, die als BIOS-Ersatz auf die Hardware zugreift(z. B. Festplatte und Diskette)? Beispielsweise wird Linux ja nicht jedesmal in den Real Mode zurückschalten, wenn entsprechende Zugriffe notwendig sind.

    Warum ist das BIOS mittlerweile eigentlich nicht für den PM umgearbeitet worden?

    Ciao...



  • Hi.

    Bestimmte Funktionen werden auch von Linux und Windows noch uebers BIOS geregelt. Wie du allerdings richtig erkannt hast, wird dazu meist nicht extra in den RM oder V86 geschaltet. Zu bestimmten Funktionen gibt es da naemlich auch PM-Interfaces (zB. APM, VESA, PCI, PnP und bestimmt noch mehr...).
    Der Rest laeuft allerdings ueber selbst geschriebene Treiber.
    Geht allerdings auch zB. bei Diskette sehr schoen, da das einheitlich geregelt ist - dafuer brauchts nicht unbedingt das BIOS.



  • Moinsen Nobuo T

    Das VESA-PM-Interface ist mir bekannt. Sind die PM-Interfaces der anderen Aufgabengebiete auch standardmäßig im BIOS enthalten? Gibt es Dokus im Netz?

    Ciao...



  • Bei aktuellen PCs sollten die PM-Erweiterungen normalerweise implementiert sein...

    Dokus gibt's auch dazu: Da kannst du zB. bei den OS Dev Links in den FAQ rumstoebern oder via google nach den Spezifikationen suchen...
    Grundsaetzlich laeuft das aber alles so wie beim VESA: Irgendwo im Bereich des ROM-BIOS-Codes steht eine Datenstruktur, die dann eine Addresse fuer einen FAR-Call zu den BIOS-Funktionen enthaelt usw.



  • muss man die bios interfaces für vese, apm und co verwenden? ich würd das lieber nicht tun... beim fdd geht das nämlich wirklich gut und das passt auch sehr schön in mein konzept...



  • Noe, es zwingt dich keiner die BIOS-Schnittstellen zu benutzen.
    Diese BIOSe sind aber an sich schon eine feine Sache, da vor allem bei Grafikkarten nach IBM VGA eigentlich kein Standard mehr existiert.
    Wenn du also ohne VESA hohe Grafikaufloesungen nutzen willst, muesstest du fuer alle moeglichen Krueppel-Grafikkarten eigene Treiber schreiben. 🙄



  • wie macht das bios das denn mit dem vesa? das bios is ja auch nix anderes als ein programm. zb versuchen da welche linux in bios zu bringen. wie also kann das bios die grafikkarten ansprechen? muss ja auch ein standard sein. tut es das über kanäle, die nur das bios erreicht? wenn ich eine andere graka reinsteck geht das die vbe ja immer noch.



  • Das ist eigentlich recht intelligent geloest: Auf Grafikkarten sitzt nochmal ein extra BIOS. Bei aelteren Grafikkarten (so bis 2000) sind das teilweise auch noch so richtig schoen dicke DIL40-Chips.
    Dieses BIOS wird im Zuge des ersten System-POSTs des Systembios initialisiert (manche Grafikkarten zeigen dann auch noch Copyright-informationen an). Du kannst dann erst etwas auf dem Bildschirm sehen, nachdem die Initialisierungsroutinen des Grafikkarten-BIOS abgeschlossen sind.
    So bringt also jede Grafikkarte schon in der Hardware eingebaute Treiber fuer einige Grundfunktionen mit, die dann ueber VBE und die uebrigen int 10h-Funktionen zur Verfuegung gestellt werden. 🙂



  • interessant. könnte man diese funktionen dann nicht auch als programmierer nutzen? könnte man es, wäre man nicht mehr auf das bios angewiesen, hätte aber trotzdem eine einheitliche schnittstelle. wie genau verwendet das bios diese funktionen?



  • Was meinst du mit "diese Funktionen"?
    Du kannst sowohl die vom BIOS zur Verfuegung gestellten Funktionscodes benutzen, wie auch die Grafikkarte direkt per I/O und Speicherzugriffe programmieren.
    Um letzteres tun zu koennen, musst du allerdings - wie ich weiter oben schon schrieb - die Codes (Treiber), die ansonsten das Graka-BIOS zur Verfuegung stellt, fuer jede Grafikkarte komplett neu schreiben.



  • ich glaub ich hab das falsch verstanden, was du geschrieben hast. wenn ich vbe verwende, dann ist das direkt schon die routine des graka-bios. das computer-bios macht da nichts mehr. hab ich das jetz richtig verstanden?



  • jups. 🙂


Anmelden zum Antworten