プラグアンドプレイ(PnP)とは
プラグアンドプレイ(Plug and Play、PnP)とは、パソコンに
周辺機器や
拡張カードを接続した際に、
ハードウェア、
ファームウェア、ドライバ、
オペレーティングシステム(OS)、アプリケーションが自動的に連携し、機器の組み込みと設定を自動で行う仕組みです。
ユーザーが特別な操作をしなくても、機器を接続するだけで使えるようになるため、「つないだら(plug)、実行できる(play)」という意味でこの名称がつけられました。この技術は、パソコンの
ユーザビリティ(使いやすさ)を向上させる重要な要素の一つです。また、ドライバの自動インストール機能とも呼ばれます。
概要
初期の
コンピュータでは、
周辺機器を接続しただけではすぐに使えず、ユーザー自身が機器を動かすための設定を行う必要がありました。これらの設定は、I/Oポートや割り込みの割り当てなど、
ハードウェアに近い低水準なものであり、
コンピュータに詳しくないユーザーにとっては非常に難しいものでした。
プラグアンドプレイは、このような問題を解決するために開発されました。
周辺機器や
拡張カードを接続すると、
ハードウェアとOSが自動的に機器を認識し、必要なリソースの割り当てや
デバイスドライバの導入などを自動で行います。これにより、ユーザーは複雑な設定を意識せずに機器を利用できるようになりました。
しかし、初期のプラグアンドプレイは完璧ではなく、想定外の動作が見られることもありました。そのため、「Plug and Pray(つなぎ、そして祈れ)」と揶揄されることもありました。
歴史
プラグアンドプレイは、Windows 95の主要な機能の一つとして登場しました。しかし、
PC/AT互換機|PC_AT互換機市場では各メーカーが足並みを揃えるのが難しく、登場当初は混乱が続きました。Windows 95時代のパソコンは、USBや
IEEE 1394などの新しい規格ではなく、AT/PS/2ポート、
シリアルポート、
パラレルポートなどのレガシーデバイスを使用していました。また、プラグアンドプレイに対応していない古い
ハードウェアも存在し、それがシステムに混在することで正常に動作しないケースもありました。
その後、インターフェースの世代交代やOSの改良が進み、Windows 98 SEやWindows 2000が登場する頃には、この種の問題は大幅に改善されました。
Linuxでは、エンドユーザー向けの
デスクトップ環境を第一義としていないことや、安定したレガシーデバイスを重視する傾向があったため、プラグアンドプレイの普及は遅れていました。しかし、
2000年代に入ると、KNOPPIXなど、
ハードウェアの認識機能を改良したディストリビューションが登場し、改善が進みました。
プラグ・アンド・プレイ前史
プラグアンドプレイは、Windows 95で初めて規格・用語として登場しましたが、その概念は以前から存在していました。30年以上にわたるパーソナル
コンピュータの歴史の中で、プラグアンドプレイの前史ともいえるいくつかの環境や実装が存在します。
プラグアンドプレイのルーツとして挙げられるのが、1970年代末に登場した
Apple IIです。
Apple IIには、原始的なプラグアンドプレイに似た仕組みが備わっていました。
拡張カードには、最大256バイトまたは2048バイトの基本制御プログラムを書き込んだROMが搭載されており、カードが差し込まれたスロットをプログラムから指定するだけで使えるようになっていました。
Apple IIのカードスロットには、
ハードウェアがどのスロットに装着されているかをソフトウェア的に識別できる仕組みがあり、同じカードを複数挿してもそれぞれのカードを識別できました。
1980年代半ばに登場した
MSXでは、本体に「拡張スロット」が用意されていました。このスロットは、ROMカセットの差し込み口と、
ハードウェアの拡張・増設用のバス、メモリソケットなどの役割を兼ねていました。
MSXでは、このスロットを利用して、カートリッジを単なるソフトウェアの供給媒体としてではなく、
ハードウェアの拡張手段としても利用しました。
ハードウェア拡張用のカートリッジには、
デバイスドライバに相当するBIOSや、アプリケーションソフトを搭載したROMが内蔵されていました。
MSXのシステムは、起動時にすべてのスロットのROMを一度ずつ呼び出し、初期化の機会を与えていました。
Macintoshによる実装
Apple IIの後継であるMacintoshは、当初拡張スロットを持っていませんでしたが、1987年のMacintosh IIシリーズからNuBusという拡張スロットを採用しました。NuBusは、適切な
デバイスドライバを用意すればプロセッサに依存しない汎用的な実装規格であり、スロットごとにリソースを調停する機能を持っていました。これは、現在のPCIバスとほぼ変わらないプラグアンドプレイ機能を実現していました。
1995年に発表されたPower Macintoshシリーズでは、より高速で汎用性の高いPCIバスが採用されました。
実例
プラグアンドプレイが標準的に実現されているインターフェース規格には、以下のものがあります。
NuBus
PCカード/CardBus/
ExpressCard
PCI/AGP/PCI Express/Thunderbolt
USB
IEEE 1394
SATA/Serial Attached SCSI
これらに先んじて、半自動的なプラグアンドプレイを実現していたインターフェース規格には、以下のものがあります。
MCA
EISA
NESA
また、以下のレガシーなインターフェース規格にも、後付けでプラグアンドプレイが実現されました。
ISA
Cバス
シリアルポート
パラレルポート
VGA
コネクタ (VESA DDC)
ATA/ATAPI(ケーブルセレクト)
SCSI (SCAM)
脚注
関連項目
ホットスワップ
ユーザビリティ
* Universal Plug and Play