デバイスドライバ
【英】device driver
デバイスドライバとは、パソコンに接続されている周辺装置(device)をOSによって制御するために用意されたプログラムのことである。
デバイスドライバが周辺機器を扱う仕様を提供することによって、OSがあらかじめ周辺機器に対応している必要がなくなる。周辺機器のメーカーも、OSの持っている機能に限定されることなく製品を開発することができる。
Windowsシリーズでは、Windows 3.1、Windows 95、Windows 98ではデバイスドライバの形式として主にVxDが使われてきたが、Windows Me、Windows 2000、Windows XPではWDMが主に用いられている。
Windows 95以降は、周辺機器や拡張ボードなどをパソコンに接続した場合に、デバイスドライバのシステムへの組み込みや設定を自動的に行う「PnP」(Plug and Play)機能が搭載された。これによって一部の周辺機器では敢えてデバイスドライバを導入する必要がなくなっている。
Windows Vistaでは、新たにシステム内に設けられた「Driver Store」と呼ばれる領域にドライバを用意しておき、周辺機器が接続された時にDriver Storeを自動的に参照することで、確実にPnPによって周辺機器を認識し制御できるようになる、とされている(2005年現在)。
ソフトウェア: | ソースコード ソフトウェア ダウングレード デバイスドライバ テクニカルプレビュー版 デベロッパープレビュー版 ドライバ |
デバイスドライバ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/04/02 07:32 UTC 版)
デバイスドライバ(英: device driver)とは、コンピュータのデバイス(ハードウェア類。たとえばディスプレイ、プリンター、イーサネットボード、拡張カード、その他周辺機器など)をオペレーティングシステム (OS) が制御するためのソフトウェアである。しばしば略してドライバあるいはドライバーと呼ばれる。
- ^ Microsoft はUniversal Printをドライバレスと言っている [1]
- ^ 印刷タスクの進行状況、紙切れやインク量の状態が読める、という実装もあり得る。
- ^ "A Microsoft-provided class driver is an intermediate driver designed to provide a simple interface between a vendor-written minidriver and the operating system." Class Driver and Minidriver Definitions. Windows Hardware Developer.
- ^ "The different technology-specific driver models use a variety of names for the specific and general pieces of a driver pair. ... Here are some of ... pairs ... audio miniport driver, audio port driver ... battery miniclass driver, battery class driver" Minidrivers, Miniport drivers, and driver pairs. Windows Hardware Developer.
- ^ “PrimeCell UART (PL011) Technical Reference Manual”. ARM. 2012年10月3日閲覧。
- ^ “MAKEDEV — Linux Command — Unix Command”. Linux.about.com (2009年9月11日). 2009年9月17日閲覧。
- ^ “User-mode vs. Kernel-mode Drivers”. マイクロソフト (2003年3月1日). 2008年3月4日閲覧。
- ^ “Introduction to the User-Mode Driver Framework (UMDF)”. マイクロソフト (2006年10月10日). 2008年3月4日閲覧。
- ^ “CCISS”. SourceForge (2010年). 2010年8月11日閲覧。 “Drivers for the HP (previously Compaq) Smart Array controllers which provide hardware RAID capability.”
- ^ Open Source Zone - AMD
- ^ Intel® Graphics for Linux* | 01.org
- ^ "Windows Drivers will run on all Window 10 variants" Windows Hardware Developers. Getting Started with Windows Drivers.
- ^ "Windows Universal Drivers" Windows Blogs. Windows Universal Drivers.
- ^ "The Windows Driver classification will extend and replace the current Universal Driver classification." Windows Hardware Developers. Getting Started with Windows Drivers.
- ^ "For a software driver, your two options are KMDF and the legacy Windows NT driver model." Choosing a driver model. Windows Hardware Developer.
デバイスドライバ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/01/02 15:48 UTC 版)
NVIDIAはGeForce GPUのデバイスドライバにSpectre脆弱性パッチを適用、公開した。なお、Geforce GPUそのものには脆弱性は確認されていないとしている。
※この「デバイスドライバ」の解説は、「Spectre」の解説の一部です。
「デバイスドライバ」を含む「Spectre」の記事については、「Spectre」の概要を参照ください。
デバイスドライバ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/05 04:59 UTC 版)
「オペレーティングシステム」の記事における「デバイスドライバ」の解説
詳細は「デバイスドライバ」を参照 デバイスドライバはハードウェアとのやり取りをするためのソフトウェアである。一般にハードウェアとの通信を行うインタフェースを持ち、ハードウェアの接続される何らかの通信サブシステムやバスを経由して通信を行う。コマンドをハードウェアに送り、データの送受信を行う。また、一方でOSやアプリケーションに対するインタフェースも提供する。ハードウェアに強く依存するプログラムであり、OSにも依存している。これによって、OSやアプリケーションがハードウェアを使って動作することが容易になっている。ハードウェアの非同期的な割り込みの処理もデバイスドライバの役割である。 デバイスドライバの主たる設計目標は抽象化である。ハードウェアは用途が同種のものであっても、機種によって動作や性能などがそれぞれ異なる。新たな機能や性能を提供するハードウェアが登場したとき、それらは従来とは異なった制御方式を採用していることが多い。OSを将来にわたってあらゆるハードウェアを制御できるように設計するのは困難である。従って、個別のハードウェアの制御をOSから切り離す必要がある。デバイスドライバはOSとのインタフェース(関数呼び出し)をデバイス固有の処理に変換することが主たる機能となる。理論的には、新たな制御方法の新しいハードウェアが登場しても、そのハードウェア用のドライバが古いOSに対応していれば、古いOSでもドライバだけ置き換えればハードウェアを制御可能となる。 Vista以前のWindowsやバージョン2.6より以前のLinuxカーネルでは、ドライバ実行は協調的だった。すなわち、あるドライバが無限ループに陥ると、システム全体がフリーズした。その後のバージョンではプリエンプションが可能となり、カーネルがドライバを中断させることができるようになった。
※この「デバイスドライバ」の解説は、「オペレーティングシステム」の解説の一部です。
「デバイスドライバ」を含む「オペレーティングシステム」の記事については、「オペレーティングシステム」の概要を参照ください。
デバイスドライバ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/07/15 10:19 UTC 版)
初期のバージョンでは、システム生成時にカーネルにデバイスドライバを組み込む方式だったが、後にデバイスドライバを別個にロード可能になった。RT-11はデバイス制御やデータ取得に使われることが多いため、デバイスドライバを書いたり改造したりといったことがよく行われていた。DECはサードパーティによるドライバ開発を支援するため、ハードウェア仕様やOS内部についても文書を公開していた。また、ユーザーグループである DECUSによる開発も支援していた。
※この「デバイスドライバ」の解説は、「RT-11」の解説の一部です。
「デバイスドライバ」を含む「RT-11」の記事については、「RT-11」の概要を参照ください。
デバイスドライバ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/03 01:22 UTC 版)
「Unified Extensible Firmware Interface」の記事における「デバイスドライバ」の解説
EFIの仕様では、標準的なアーキテクチャ依存のデバイスドライバに加えて、プロセッサに依存しないデバイスドライバ実行環境を提供しており、EFI Byte CodeまたはEBCと呼ばれている。システムのファームウェアは、その環境にロードされたもしくはその環境内にあるEBCイメージ用のインタプリタを実行できることを、UEFI仕様によって要求されている。その点、EBCはOpen Firmwareに似ている。これはハードウェアに依存しないファームウェアで、PowerPCベースのAppleのMacintoshやサン・マイクロシステムズのSPARCコンピュータなどの間で採用された。 いくつかのアーキテクチャに特化した(非EBCな)EFIデバイスドライバはOSから利用可能なインタフェースを持つことができる。これにより、OSに特化したドライバをロードしなくても、基本的なグラフィックスやネットワーク機能についてはOSがEFIに頼ることができる。
※この「デバイスドライバ」の解説は、「Unified Extensible Firmware Interface」の解説の一部です。
「デバイスドライバ」を含む「Unified Extensible Firmware Interface」の記事については、「Unified Extensible Firmware Interface」の概要を参照ください。
デバイスドライバ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/31 17:32 UTC 版)
「マイクロカーネル」の記事における「デバイスドライバ」の解説
Direct Memory Access (DMA) を頻繁に行うデバイスドライバは、カーネルのデータ構造を含めた物理メモリの任意の位置に書き込める必要がある。そのようなドライバは信頼されていなければならないが、必ずしもカーネル内に含まれている必要はない。実際、カーネルの一部だからといってデバイスドライバがより信頼できるというわけではない。 デバイスドライバをユーザー空間で動作させたとしても、ドライバが発生しうる障害のダメージが低減されることはないが、バグのあるドライバによってシステムの安定性が影響を受けにくくするという効果はある(悪意あるドライバの場合はその限りではない)。(デバイスではなく)ドライバのコード自体が不正なメモリアクセスを行う場合、メモリ管理ハードウェアが捉えることになる。さらにDMAを行わないデバイスでは、ユーザー空間で動作させることでドライバを信頼されないもの(特権が不要なもの)とすることができる。最近ではIOMMUを備えたコンピュータが増えており、IOMMUを使ってデバイスの物理メモリアクセスを制限できることが多い。これもユーザーモードのドライバを信頼されないものとすることができる。 ユーザーモードのドライバは実際にはマイクロカーネルより古くから存在する。1967年の Michigan Terminal System (MTS) で初めて(ファイルシステムも含めた)ユーザー空間のドライバがサポートされた。歴史的には、ドライバをカーネルに含めることはあまり問題とされなかった。周辺デバイスの数は少なく、特権が必須だったためであり、カーネルに含めることで性能問題を防いでいた。Unixもそのスタイルを踏襲し、Linuxや Windows XP 以前のWindowsも同様だった。デバイスの種類が豊富になってくると、ドライバのコード量も増大するようになり、カーネル全体に占める割合も増えていった。
※この「デバイスドライバ」の解説は、「マイクロカーネル」の解説の一部です。
「デバイスドライバ」を含む「マイクロカーネル」の記事については、「マイクロカーネル」の概要を参照ください。
デバイスドライバ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/09 07:26 UTC 版)
「Windows NT系」の記事における「デバイスドライバ」の解説
ユーザーやシステムからハードウェアへのI/Oをそのハードウェア固有の機能から抽象化するものと、システムサービスを提供するものと両方ある。64ビット版Windowsでは、セキュリティと動作の安定性向上のため原則としてデバイスドライバの署名が必須とされている。NT 4.0まではWindows NTカーネルモードドライバが使われ、Windows 2000以降はWindows Driver Modelが使われている。WDMはWindows 98やWindows Meでも同じソースコードでドライバが開発できるように作られている。
※この「デバイスドライバ」の解説は、「Windows NT系」の解説の一部です。
「デバイスドライバ」を含む「Windows NT系」の記事については、「Windows NT系」の概要を参照ください。
デバイスドライバ
固有名詞の分類
- デバイスドライバのページへのリンク