プラグアンドプレイ (Plug and Play, PnP) は、つないだら (Plug)、(ユーザが何か特別なことをしなくても)実行 (Play) できる、という意味で、パーソナルコンピュータ(パソコン)に周辺機器や拡張カード等を接続した際にハードウェアとファームウェア、ドライバ、オペレーティングシステム、およびアプリケーション間が自動的に協調し、機器の組み込みと設定を自動的に行う仕組みのことである。
パソコンのユーザビリティ(使い勝手)を向上させる技術の1つで、「プラグアンドプレイ」という言葉は1995年に登場したWindows 95の主要な機能の1つとして紹介され、この言葉が定着した。ただし、これに類する概念や機能をもつパソコンは、1980年代にもいくつかの環境で存在していた。
目次
1 概要
2 歴史
2.1 プラグアンドプレイ前史
2.1.1 MSXによる実装
2.1.2 Apple IIによる実装
2.1.3 Macintosh による実装
3 実例
4 関連項目
//
初期のコンピュータでは、周辺機器を接続してもすぐには使えず、機器を動かすための設定をユーザ自身が行わなければならないことが多かった。これは、例えばプリンターの印字濃度の調整といった抽象的でユーザに近い理解しやすい水準のものではなく、I/Oポートや割り込みの割り当て設定といった低水準の(よりハードウェアに近い)ものであった。これらの設定にはハードウェアやオペレーティングシステムに関する知識がある程度必要になるため、コンピュータに詳しくないユーザにとっては使い勝手を悪化させる一因になっていた。
プラグアンドプレイは、周辺機器等や拡張カード等をパソコンに接続した際に、ハードウェアやオペレーティングシステムが自動的に機器を認識してリソースの割り当てやデバイスドライバの導入などの作業を行い、ユーザが何もしなくても機器を使えるようにする仕組みを指す。
しかし、この概念を実装したごく初期の環境では想定外の動作(大抵はユーザーの望まない結果をもたらした)がみられる事も侭あり、Plug and Pray(つなぎ、そして祈れ)と揶揄されることもあった。
プラグアンドプレイとは、Windows 3.1の次の世代のオペレーティングシステムとなるWindows 95の主要機能の1つとして登場した概念・規格・用語である。
しかし、多くのパソコンやパーツのメーカーがひしめくPC/AT互換機市場では各社が足並みをそろえる事も容易ではなく、登場からしばらくの間は混乱が続いた。Windows 95時代のパソコンは、周辺機器を接続するコネクタも現在(2005年)のようなUSBやIEEE 1394ではなく、AT/PS/2ポートやRS-232C、パラレルポート等のレガシーデバイスを使用していた。 また、パソコンによってはプラグアンドプレイに対応しない古い規格のハードウェアを用いているものもあり、それらがシステムに混在することでプラグ・アンド・プレイがうまく動作しないケースもあった。
その後、周辺機器や拡張カードを接続するインタフェースの世代交代やオペレーティングシステムの改良が進んだことで、Windows 98 SEやWindows 2000が登場する頃には、この種の問題はほぼ改善された。
Linuxでは、本来の用途が必ずしもエンドユーザ向けのデスクトップ環境を第一義とはしていない面や、安定したレガシーデバイスやデファクトスタンダードで固めたハードウェア構成を指向する傾向も強かった事などから、多彩な周辺機器に柔軟に対応しなければならないエンドユーザ向けの分野では大きく遅れをとっていた。しかし2000年代に入ると、KNOPPIXなどハードウェアの認識機能の改良を進めたディストリビューションも出現してきている。
本来のプラグアンドプレイという規格・用語はPC/AT互換機とWindowsによるものであるが、これらの概念や実装は一朝一夕にして成立・普及するものではなく、30年におよぶパソコンの歴史の中には、その前史とも言えるいくつかの環境や実装が点在する。
パソコンの家電化、すなわち「ホームコンピュータ」としてマイクロソフトとアスキー、および家電系メーカーによって規格が策定され、1980年代半ばに製品が登場した8ビットパソコンMSXでは、プラグアンドプレイの前史的な実装が実際に行われていた。マイクロソフトがパソコンの一般家庭市場への進出を指向した歴史は古く、MSXはその一環として、その最初期段階に具体的な製品として市場に登場したプロダクトである。
MSXでは、システムのリソース管理に「スロット」という概念を用意していた。スロットはバンク切り替えを用いたメモリ空間およびリソースの拡張手法の一種であり、また物理的には同時代のゲーム専用機(端的にはファミコン)のROMカートリッジスロットを彷彿とさせるコネクタでもあった。 同時代のゲーム専用機や他のホームコンピュータと比較した際にMSXが特異であった点は、単にカートリッジの差し替えによってコンピュータの機能を切り替えるという段階に留まらず、BIOSおよびオペレーティングシステムがこのスロットと密接に連携することでリソースの抽象化を行い、システムリソースをソフトウェア/ハードウェアの両面から管理した部分にある。