Windows
 Computer >> コンピューター >  >> システム >> Windows

デバイスドライバとは?役割・重要性・種類をわかりやすく解説

デバイスドライバとは、コンピュータのカーネル(OSの中核部分)がさまざまなハードウェアと通信するためのソフトウェアです。ハードウェアが内部でどのように動作しているかという詳細な仕組みを意識することなく、OSとハードウェアをつなぐ架け橋となる存在です。

デバイスドライバは、コンピュータに接続されたハードウェア部品を制御し、適切なインターフェースを提供することで、OSがそのハードウェアを利用できるようにします。つまり、オペレーティングシステムはハードウェアの動作原理を細かく知る必要がなく、共通のインターフェースを通じてカーネルやOSとハードウェアがやり取りできるのです。

このように、デバイスドライバの目的は、対象となるハードウェアをスムーズに動作させるとともに、異なるオペレーティングシステムでも同じハードウェアを使えるようにすることにあります。

デバイスドライバの種類①:カーネルモードとユーザーモード

BIOSから仮想マシンに至るまで、コンピュータに関連するほぼすべてのデバイスにはデバイスドライバが存在します。デバイスドライバは大きく以下の2種類に分類できます。

  1. カーネルデバイスドライバ
  2. ユーザーデバイスドライバ

カーネルデバイスドライバ

カーネルデバイスドライバは、OSの一部としてメモリにロードされる汎用的なドライバです。ドライバ全体ではなくポインタが読み込まれ、必要になった時点ですぐに呼び出せるようになっています。BIOS、マザーボード、プロセッサなど、コンピュータの根幹を担うハードウェア向けのドライバは、このカーネルソフトウェアの一部として組み込まれています。

ただし、カーネルデバイスドライバには課題もあります。呼び出されるとRAMにロードされ、ページファイル(仮想メモリ)へ退避させることができないため、多数のドライバが同時に動作するとマシンの動作が遅くなる可能性があります。これこそが、各OSに「最小システム要件」が定められている理由です。OS側ではカーネルデバイスドライバに必要なリソースをあらかじめ計算に含めているため、エンドユーザーが追加のメモリ容量を気にする必要はありません。

ユーザーモードデバイスドライバ

ユーザーモードデバイスドライバは、ユーザーがコンピュータを使用しているセッション中に起動されることが多いドライバです。カーネルが管理するデバイス以外、いわばユーザーが後からコンピュータに持ち込んだ機器向けのドライバといえます。多くのプラグアンドプレイ対応デバイスのドライバがこのカテゴリに属します。

ユーザーデバイスドライバはディスク上に保存できるため、システムリソースへの負荷を抑えられます。ただし、ゲーム用デバイス関連のドライバについては、応答速度を確保するためにメインメモリ(RAM)に保持しておくことが推奨されます。

デバイスドライバの種類②:ブロックドライバとキャラクタドライバ

ブロックドライバとキャラクタドライバは、データの読み書き方式による分類です。ハードディスク、CD-ROM、USBメモリなどは、使い方によってどちらかのタイプに分類されます。

キャラクタドライバ

キャラクタドライバはシリアルバスで使用され、データを1文字(一般的には1バイト)ずつ書き込みます。シリアルポートに接続されたデバイスはキャラクタドライバを使用しており、たとえばマウスはシリアルデバイスなので、キャラクタデバイスドライバを持っています。

ブロックドライバ

ブロックドライバは、一度に複数の文字(データ)を読み書きする方式です。通常、ブロックデバイスドライバはブロック単位でデータをまとめて処理し、そのブロックに収まるだけの情報を一度に取得します。ハードディスクはブロックデバイスドライバを使用する代表的な例です。CD-ROMもブロックデバイスドライバですが、アプリケーションから呼び出されるたびに、カーネルがデバイスがまだコンピュータに接続されているかどうかを確認する必要がある点が特徴です。

デバイスドライバの種類③:汎用ドライバとOEMドライバ

デバイスドライバには、汎用(ジェネリック)なものと、OEM(相手先ブランド製造)固有のものがあります。

汎用ドライバ

OSに標準で付属しているドライバは、おそらく汎用デバイスドライバでしょう。汎用ドライバは、特定の種類のデバイスであれば、ブランドを問わず使用できるのが特徴です。たとえばWindows 10には多数の汎用ドライバが搭載されており、追加のソフトウェアを手動でインストールしなくても多くのデバイスが動作します。

OEMドライバ

一方、汎用ドライバでは対応できないケースもあります。その場合、機器の製造元であるOEM(相手先ブランド製造メーカー)が独自のデバイスドライバを作成します。これらのOEMドライバは、OSインストール後に別途導入する必要があります。

古い時代のコンピュータでは、マザーボードのドライバさえ外部からインストールしなければなりませんでしたが、それはWindows XPの時代の話です。現在では一部のブランドを除き、ほとんどの内蔵ドライバセットはOSにあらかじめ含まれています。

デバイスドライバの種類④:仮想デバイスドライバ

仮想デバイス向けのドライバは仮想デバイスドライバと呼ばれます。私たちは日常的に、ソフトウェアでハードウェアをエミュレートして使うことがあります。こうした仮想ハードウェアを動かすためのソフトウェアが、仮想デバイスドライバです。

たとえばVPNを利用している場合、インターネットへ安全に接続するために仮想ネットワークカードが作成されることがあります。これは物理的な実体のないカードですが、それでもデバイスドライバが必要であり、VPNソフトウェア自身が仮想デバイスドライバをインストールします。

まとめ

このように、デバイスドライバにはさまざまな種類があり、一つや二つの分類だけで説明するのは難しいものです。本記事では、デバイスドライバの基本的な仕組みと役割を解説するとともに、以下の分類について紹介しました。

  • カーネルモードドライバとユーザーモードドライバ
  • 汎用ドライバとOEMドライバ
  • 仮想デバイスドライバ

それぞれの違いを理解しておくと、ドライバ関連のトラブルシューティングやPC環境の最適化にも役立ちます。ぜひ参考にしてください。

  1. インテル製グラフィックス向け「Modern Windows Driver」とは?UWDの特徴と対応GPU一覧を徹底解説

    MicrosoftはユニバーサルWindowsアプリという概念を提唱しただけでなく、同じ考え方をドライバーの世界にも持ち込みました。その始まりとなったのは、オーディオ用クラスドライバーのアーキテクチャを標準化する「Universal Audio Architecture」です。そして現在では、多くのOEMメーカーがこの仕組みをグラフィックスドライバーにも採用しています。本記事では、グラフィックス向けの「Intel Modern Windows Drivers(インテル・モダンWindowsドライバー)」について詳しく解説します。 Windows 10 October 2018 Update以降

  2. Lorem Ipsum(ロレム・イプサム)とは何か?Web制作で使われる理由を解説

    インターネットをよく利用している方なら、制作中のウェブサイトに不思議なラテン語のテキストが表示されているのを見たことがあるかもしれません。意味不明に見えるその文章は、必ず「Lorem Ipsum(ロレム・イプサム)」という同じ2つの単語で始まります。一体この奇妙なテキストは何なのでしょうか?そして、なぜネット上のあちこちで見かけるのでしょうか? Lorem Ipsumの見た目 Lorem Ipsumは主に、まだ構築中のウェブサイトで見かけます。次のような段落テキストとして表示されているはずです。 Lorem ipsum dolor sit amet, consectetur adipi