ドライバーはオペレーティングシステムの一部ですか?


14

OSに含まれているものと含まれていないものを理解するのは困難です。プリンタードライバーやグラフィックドライバーなどのデバイスドライバーはOSの一部ですか?OSの定義について考えると、ドライバーはOSの一部だと思います。


6
はいといいえ。低レベルで動作し、内部インターフェイスにアクセスできるという点で、これらはOSの一部です。そして、多くはOSの動作にとって重要です。しかし、それらは一般に別個の「プラグ交換可能な」部品であり、多くの場合、OSとは異なる会社によって構築されます。「OS」の定義に依存し、単一の会社はありません。
ダニエルRヒックス

「含む」を定義してください。新しいドライブにインストールするためにWindows DVDにあることが保証されていますか?または概念的にOSの一部ですか?
おがくず

回答:


12

はい、ドライバーはOSの一部です。OSカーネルと同じ特権レベルで実行されます。ドライバーを作成するには、OS内部について十分な知識が必要です。ドライバーの役割は、アプリケーションがハードウェアの特定の詳細を知る必要なく、OS API(アプリケーションプログラミングインターフェイス)を介して使用できるように、ハードウェアの抽象化を提供することです。多くの場合、同じハードウェアを多くのアプリケーションで同時に共有することもできます。

ドライバーがOSの一部ではないと考えるようユーザーを誤解させるのは、多くのベンダーがOSとは別に作成するハードウェアのドライバーを提供していることです。実際、多くのドライバーはロード可能なモジュールとして提供され、ロードしてOSに動的に参加できます。それらが使用されなくなったら、OSから「切断」でき、正常に動作し続けます。

ロード可能かどうかに関係なく、ドライバーは常にシステムで使用可能にするデバイスに固有であるため、OSの「オプション」部分である場合もありますが、操作時にドライバーに参加します。


1
私は同意しません(ただし、反対票は控えます)、単にあなたがそれを述べた方法のために、ドライバーが常に含まれたり使用されたりするわけではありません。オペレーティングシステムはカーネルです。限目。Windowsエクスプローラーは、オペレーティングシステムに付属していますが、オペレーティングシステムの一部ではありません。カーネルは実際の処理部分なので、OSであると考えます。その他の項目は含まれてばかりOSの一部ではない
カナダのルーク

また、ユーザーレベルでドライバーを実行できるため、ほとんどの場合、カーネルレベルでドライバーを実行する必要はありません。
マット

ルークの要点を見ることができます。システムが動作するために必要ではない多くのオプションのデバイスがあるので、その意味でドライバーがOSの一部ではないことに同意できます。@Mattが言ったように、一部のドライバーはユーザーモードドライバー(多くのプリンタードライバーも)になりますが、私のポイントはドライバーの大部分、特に構造的なもの(ビデオ、ディスクコントローラーなど)はカーネルモードドライバーであり、ロードされると、実行中のカーネルの実際の部分になります。カーネルは単独では何も役に立たないため、ドライバーがオペレーティングシステムの一部である(またはなる)と言っても十分だと思います。
クラウディオ

1
それは本当にはい/いいえの質問です。技術的にはドライバーはOSに含まれていませんが、異なるデバイスとの通信にはドライバーが必要になります。たとえば、ビデオ。カーネルに要求を行い、カーネルが要求をディスプレイドライバーに転送してから情報を返して、実際に何かを確認できるようにします。
マット

3
@Luke- カーネルはOS全体ではないとしても、OSの一部であると認めているようです。OSまたはカーネルのソースコードを見たことがありますか?MSで働いたり、NDAに署名しない限り、Windowsカーネルコードは表示されません。しかし、Linuxカーネルはオープンソースであり、すべての(非専有)Linuxドライバーはカーネルソースコードの一部です。Linuxカーネルのソースコードは、カーネル部分とドライバー部分に分離されていません。ソースツリーには、コアモジュールとドライバーモジュールがすべて一緒に含まれています。MSがWindowsのソースコードを同様の方法で処理することを期待します。
おがくず

5

「OS」という用語は、多くのことを意味します。

ほとんどのオペレーティングシステムでは、カーネルはすべてを管理および「実行」するコードの一部であり、ハードウェアへのアクセスを調停しますが、通常はそれ自体では何も面白いことはできません。上の場合」。OSの多くの定義には、使い慣れた標準化された環境を構成するユーティリティ、シェル、およびプログラムが含まれます。

ドライバーはカーネルに依存しており、プラグインのように「拡張」すると言うのがおそらく最も正しいでしょう。Linuxは「ロード可能なカーネルモジュール」の概念をサポートしています。すべてのデバイスドライバーはロード可能なカーネルモジュールにできます。これらのモジュールの1つまたは複数が「組み込み」であり、カーネルから分離されていないカーネルを構築することもできます。そのため、Linuxで「モジュールレス」カーネルを実際に構築できますが、カーネルに組み込まれたモジュール以外のハードウェアはサポートできません。

私はWindowsの基本にはあまり詳しくありませんが、ごく少数の「ミニポート」ドライバーを除いて、すべてのドライバーはブート時にロードされる外部ファイルです。Windowsでのサービスの作成を少し掘り下げると、ドライバーは実際にはWindowsでの特別な形式のサービスのようです。一部のプログラムは、ドライバーをインストールして低レベルのハードウェアにアクセスしますが、必ずしもデバイスを駆動する必要はありません。これらは通常、デバイスマネージャーの「非プラグアンドプレイ」ドライバーです。したがって、ドライバーは、Linuxでロード可能なカーネルモジュールと概念的に同じ機能を果たすようにも見えます。

簡単にするために、これらはOSの一部であり、OSなしでは実際には使用できず、OSを起動しない限り有用ではないが、いずれの場合でも描画される線は任意であると言います。


1

ドライバーはOSの一部ではありません。ドライバーは、OSがデバイスまたはハードウェアと通信するのに役立つと言えます。OSには、Windows XPやVistaのようにデフォルトですべてのドライバーが含まれているわけではありませんが、Windows 7では必要なドライバーのほとんどが含まれているため、OSの一部ではないので混同しないでください。


drvierはオペレーティングシステムの一部ではないと言う事実は、あなたが何をしているかわからないことを証明しています。Windows XPには、Windows VistaおよびWindows 7と同じ多くのドライバーが含まれています。マイクロソフトは、これらのリリースのデバイス用の汎用ドライバーをさらに含めるために多大な労力を費やしました。
ラムハウンド

はい。ドライバーなしでは、デバイスを使用できません。そのため、ドライバーはOSがデバイスと通信するのに役立ち、一部についてはOSの一部であり、一部はそうではないという質問について言えます。そこには、OSに付属していない多くのドライバーがあります。
デブ

技術的には、ドライバはOSが付属していない場合でも、それはあるあなたがインストールし、それを使用するOSの一部。それの証拠は、それがOSによって殺されることができる通常のアプリケーションではなく、それ自体の一部であるので、ひどく書かれたドライバーがあなたのシステム全体をロックできることです。
クラウディオ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.