オペレーティングシステムが外部デバイスとのコミュニティに「ドライバー」を使用する場合、それは、OS(windows、linux、&osxなど)にevery single外部デバイス用のドライバーがあらかじめパッケージ化されている必要があることを意味しますか?
私が個人的に外部デバイス用のドライバーをダウンロードしに行く必要がなかったので、私はこれを尋ねます。新しいグラフィックスカードをインストールしたり、USB経由で何かを差し込んだりすると、オペレーティングシステムには既にすべてのドライバーが含まれているようですが、これはどのようにして実現可能ですか?
たとえば、どこかの企業が無作為に新しいネットワークカードまたはグラフィックスカードの開発を始めることにした場合はどうでしょうか。
さまざまなOSは、この新しいデバイス用のドライバーをどの程度正確に保持していますか?自社でドライバーを開発する必要がありますか?次に、さまざまなオペレーティングシステムに通知しますか?
オペレーティングシステムのメンテナは、ドライバが安全かどうかをどのようにして知るのですか?つまり、ハードウェアのすべての部分に対応するドライバがある場合、すべてを監査することは不可能であるべきです。
小さくて趣味のOSはどうですか?どのようにして、さまざまなデバイス用のドライバーを入手しますか?
さらに、BIOSチップなどはさまざまなハードウェアデバイスとどのように通信できますか?これまでに作成されたすべてのハードウェアのドライバも持っていますか?
はい、ここではトピックから外れています。金曜日の夕方なのでとにかく答えようと思います。
はい、OSにはドライバーがあらかじめパッケージされています。通常、それらはロード可能であり、問題のデバイスがインストールされていない限りロードされません。多くの場合、ドライバーは元のメディアに含まれていない場合がありますが、OSが新しいデバイスを検出したときにダウンロードされます。
いいえ、これまでに作成されたすべてのデバイスに対してではありません。多くのデバイスでは、ドライバーはデバイスの製造元から入手でき、OSディストリビューションには含まれていません。多くのAndroid電話の問題は、特定のハードウェアのドライバーがプロプライエタリバイナリBLOBであり、決してアップストリームされないか、利用可能にならないことです。そのため、PostmarketOSのようなものの実行は、ある程度リバースエンジニアリングに依存します。
多くのデバイスには、クラス互換のドライバーが必要です。ネットワークカードは、NICチップ製造元が提供する、使用するチップ、または下位互換性のあるチップ用のドライバー。ほとんどのUSBデバイスは、キーボード、マウス、ネットワークインターフェイス/モデムのクラス仕様に準拠しているため、特定のドライバーを必要としません、など.
趣味のOSはねじ込まれています。それらが実際のハードウェアで実行されている場合、熱狂的な貢献者が持つ可能性のあるハードウェア用のドライバーができあがります。アクセラレーションなしで、VESAフレームバッファモードでグラフィックスを実行できます。まだ何もないよりずっと良いです! USBサポートは非常に役立ちます。比較的少ない労力でキーボード、マウス、ネットワーク、さらには外部ストレージを使用できます。多くの愛好家のOSは、非常に特定のハードウェア(IBM PC、Amiga)、またはQEMU、virtualboxなどでのみ実行されるため、少数のドライバーを使用可能にする必要があります。
BIOSはマザーボードに固有です。特定の大容量記憶装置コントローラーに関する知識が読み込まれ、それらから起動できるようになっています。せいぜい、それはUSBデバイスについて知っており、USBマウスとVESAフレームバッファを使用してGUIを描画できるかもしれません。 RAIDコントローラーは、独自のBIOSが付属しており、そこからの起動を可能にしていました。