BIOSにはある種の汎用「ドライバー」がありますか


22

BIOSは、ドライバーの形式なしでI / Oデバイスをどのように制御しますか?

たとえば、BIOSにグラフィックカード用のドライバーがない場合、コンピューターの起動中にイメージがどのように表示されますか。

BIOSがインストールされているハードウェアに関係なく基本的な機能を実行できるようにする、すべてのBIOSおよびハードウェア全体で標準的な何らかの汎用ドライバーがあります。

任意の助けをいただければ幸いです。

ありがとう。


解決しようとしている特定の問題がありますか?BIOSがあるかどうかを尋ねる場合、ユニバーサルジェネリックドライブを使用しません
-Ramhound

最小限の標準出力形式(vesa)があり、ビデオカードには独自の経歴があると思います。それに、bios / uefiファームウェアが3Dでリアルタイムにレンダリングされるようなものではありません。
ジャーニーマンオタク

5
@Ramhoundそれは私が解決しようとしている問題ではなく、単なる一般的な質問です。システムにどんなグラフィックカードを入れても、起動中に表示が変わりません。BIOSにプログラムされた標準インターフェイスがありますか?
RJSmith92

4
Do you have a specific problem your trying to solve? はい、彼らは彼らが尋ねた質問への答えを見つける問題を解決しようとしています。¬_¬
Synetech

回答:


13

BIOSにはある種の汎用「ドライバー」がありますか

BIOSは、ドライバーの形式なしでI / Oデバイスをどのように制御しますか?

標準。すべてのコンポーネントは基本的なインターフェイスを実装しており、BIOSはそれを使用するようにプログラムされています。もちろん、これは基本的なインターフェイスであるため(BIOSの「B」の略です)、ハードウェアの全機能を活用することはできません。これは、ハードウェアに直接アクセスできるドライバーを介して実装するソフトウェアに任されています。

もともと、BIOSメーカーは、互換性が必要な場合にデバイスが使用することが期待されるAPIのセットを作成しました。彼らはこれを「割り込み」を介して行いました。これは、デバイスがプログラムに割り込み、何かが発生したことを通知する方法であり、その逆も同様です。

たとえば、BIOSにグラフィックカード用のドライバーがない場合、コンピューターの起動中にイメージがどのように表示されますか。

起動前ディスプレイの場合、ビデオアダプターのファームウェアは、ディスプレイハードウェアへのアクセスを簡素化するために作成された標準であるVESA(Video Electronics Standards Association)を実装しています。BIOSは、提供されている標準機能を使用してビデオハードウェアにアクセスする方法を知っています。これは、DirectXがハードウェアの高レベルAPIとして実装された方法にやや似ているため、プログラマはすべてのハードウェア構成を考慮する必要がありません。

BIOSがインストールされているハードウェアに関係なく基本的な機能を実行できるようにする、すべてのBIOSとハードウェアに対応する汎用ドライバーがありますか?

並べ替え。これはドライバーではなく、標準のAPIです。デバイスの初期化やデータの入出力などの基本的なことを行うために使用できるプログラミング関数のセット。

メーカーが自社製品を販売したい場合、互換性を確保するために、少なくとも標準APIを実装する必要があります。このように、システムはハードウェアを検出でき、起動に不可欠なデバイスの場合、それらに完全にアクセスする方法を知っているソフトウェアドライバーをロードできるようになるまで、基本レベルでアクセスできます。


ありがとう、素晴らしい答え。OSがロードされるまで、BIOS割り込み呼び出し(使用するDOSシステム)はまだ使用されていますか?
RJSmith92

1
はい、BIOSは使用できるさまざまな割り込みを提供します(ただし、すべてのBIOSがすべての機能を提供するわけではありません)。DOSシステムはこれらを使用していましたが、DOSはまた、物事を行うための高レベルのソフトウェア割り込みを提供するINT 21および2Fを作成しました(DOS /ハードウェアアセンブラープログラミングがとても恋しいです)。事実、EFIや将来登場するものであっても、互換性を提供するために必要な基本的な低レベルの機能が常に必要です。さまざまな形式をとることがありますが、何らかの共通言語がなければ、システムがハードウェアデバイスを使用する方法はありません。
Synetech

割り込み呼び出しはカーネルとカーネルレベルのサービスでまだ使用されていることを理解しています。それは真実ではありませんか?
BlueRaja-ダニーPflughoeft

@BlueRaja、おそらく起動中(ハードウェアにアクセスする何らかの方法が必要)が、検出ルーチンを実行した後、適切なドライバー(単なる低レベルプログラム)を使用してハードウェアに直接アクセスします。カーネルでさえ、ハードウェアを最大限に活用するために直接アクセスする必要があります。たとえば、高度なCPU機能を利用したり、メモリコントローラーとチップセットの使用を最適化したりします。
Synetech

22

PCのBIOSは、PCが80年代半ばに引き継ぐ前に普及していた8ビットCP / MシステムのBIOSと同様の機能を果たすことを目的としていました。BIOSは、最小限のブートローダーと、いくつかのデバイス(画面、ディスク、テープ、COMポート)への入出力を行うハードウェア依存の低レベルルーチンを含むことを目的としていました。これを行うための知識はROMに組み込まれています-ドライバーは不要であり、もちろん、このROMでサポートされる追加のハードウェアはありません。(電源管理やACPIのようなものは、PCがユビキタスプラットフォームとしての地位を確立した後、90年代のずっと後に来ました。)

(CP / M「ファイルシステム」は、BDOSと呼ばれるディスクからロードされたコンポーネントにありました-同様に、FATファイルシステムとそのインターフェースの知識は、MSDOS.SYSまたはIO.SYSの2つの隠しファイル(少なくとも1つ)にあります-一部ではありませんBIOS ROMの。)

ただし... CP / Mとは異なり、PC BIOSは拡張カードに含めることができる「オプションROM」の概念をサポートしていました。そのため、BIOSを拡張するための少なくとも最小限のメカニズムがありました。CGAで始まるビデオカード(CGAの前身であるMDAも同様です)には、BIOSインターフェイスにI / O機能を拡張または追加するオプションROMがあります。(これが、BIOSが起動する前にNVidiaメッセージが表示される理由です。)ハードコントローラーとSCSIカードも同様です。これらはすべてまだ有効です。多くの古いネットワークカードには、ブートROM用のソケットがあります。

80年代に生まれたPCクローンメーカーは、互換性のあるBIOSインターフェースのみを提供することを非常に迅速に決定しましたが、タイマーチップなどのすべての低レベルハードウェアを含めて、PCプラットフォーム全体をコピーしなければならなかったことにも留意してください、割り込みコントローラなど(IBM独自のものがほとんどないため、これは比較的簡単でした。)これは、BIOSの処理が遅く、プログラマーがハードウェアに直接アクセスするため、特にゲームのためです。

したがって、オプションROMとPCプラットフォームを形成するこの標準ハードウェアのコンセンサスの間、およびPCの進化を通じて下位互換性が保たれているという事実の間、ドライバーなしでディスプレイを使用したい場合は次のことができます。

  • ビデオハードウェアのオプションROMによって「フック」される可能性のある標準BIOSインターフェイスを使用する
  • または、システム内のハードウェアについて推測し、基本的なハードウェアに直接アクセスします

すべてのPCディスプレイハードウェアは、起動時に「VGA互換」モードで動作します。元のIBM VGAアダプターには、以前のEGA、CGA、およびMDAカードと互換性のあるモードがありました。つまり、BIOSまたはOSの外部から実行されているものは、1985年に慣例によりディスプレイに接続された同じメモリを読み書きできると想定できるということです。


答えてくれてありがとう。したがって、拡張カードのBIOSは、マザーボードBIOSで使用できるように、何らかの標準に従う必要がありますか?
RJSmith92

1
それが長年の慣習ではなく標準と同じくらいかどうかはわかりませんが、そのようなものです。ここでは、BIOSブート仕様(BBS)が正式な標準の何かであると思います。 en.wikipedia.org/wiki/Option_ROM
LawrenceC

はい、それは私が探していたようなものです。再びありがとう
-RJSmith92
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.