Plug and Play 略して PnP は人の手を何ら煩わすことなく、ハードウェアを
挿す (Plug) だけで、使用 (Play) できるようにする仕組みのことです。
PnP を実現するには、広い分野に渡る規格化、標準化が必要です。
PnP (挿せば使える)を実現するためには、幾つかの条件を規定、規格化する
必要があります。その条件を下記に示します。
下記の項目で使用している記号について説明します。
もともと PnP とは、Intel 社と Microsoft 社により、1993年 3月に発表された、
"Plug and Play ISA Specification"に由来します。単に PnP と
いった場合、ISAPnP のことでした。現在は Plug and Play(挿せば使える)に、
対応したハードウェアや仕組みのことを、すべて PnP と呼んでいます。
- CPU
x86 系の CPU には、CPU の特性が、特別なレジスタに書き込まれてい
ます。これを、CPU ID と呼んでいます。 Linux では CPU ID を CPU 内蔵
キャッシュメモリ容量の調査と設定、 MTRR の設定に利用しています。
CPU ID の情報は /proc/cpuinfo
で調べることができます。
- メモリ(SPD)
メモリの種類(EDO, SD, PROM)、容量、ECC やパリティの有無
を調べることと、タイミング(CAS, RAS のレイテンシー)の設定ができます。
- ISAPnP
ISA Bus で PnP を実現したものです。
ISAPnP についてで説明します。
- PCI
すべての CPU で共通に使用できることを目指した高速 32bit Bus の
規格です。コネクタやカードの機械的な形状の規定と電気的な特性や
タイミングの規定と、識別子や、ハードウェアの情報を CPU 等から、読み書き
する方法の規定を含みます。PCI は拡張カードや周辺機器の接続だけではなく、
Bus そのものの拡張方法やコンピュータ同士の接続についても、規格化されていま
す。Linux では、問題なく認識できますが、拡張カードではデバイスドライバを
指定しないと、動作しません。
- USB
電源を切ることなく、機器の取り外しや、取り付けができることが特徴
です。手軽に扱えるため、最近は様々な機器のインターフェースに採用されていま
す。しかし Linux では機器毎にプロトコルが存在するため、それに対応するのが
遅れています(ネットワークに当てはめていうと、パケットの送受はできてるが、
サービス ftp smtp pop 等に対応していない状況です)。
- SCSI-2
コネクタの機械的な形状、ケーブルの特性、電気的な特性やタイミ
ングの規定と、送受するコマンドの規定が規格されています。
高速パラレルインターフェースとして、ハードディスクや様々な機器、さらに、
コンピュータまで接続できます。SCSI-2 以前の SCSI は送受するコマンドが
規定されていなかったため、機器の組み合わせの相性問題がありました。
- ATA-3
もともと ATA は IDE ハードディスクの規格でしたが、SCSI コマンドに
似た ATAPI コマンドを規定したことで、CDROM, CDR, DVD, テープ、フロッピーディスク等、多くの機器が接続できるようになりました。
- DDC
ディスプレイやモニタの特性(解像度等)をビデオカード等から読める
ようにした規格です。XFree86 4.0 でサポートされるようになりました。
あの面倒くさい Modeline
から、解放されるかもしれません。
- パラレルポート機器
IBM PC/AT 互換機のパラレルポートが双方向だったこ
とから、発展し IEEE1284 になりました。そして、プリンタ以外にもフロッピーディ
スクドライブ等、比較的低速なパラレルインターフェースに使用できるようになり
ました。
- PC Card
主に、ノートパソコンの拡張用に使用されています。PC Card 規格
の起源は電子手帳に使用するメモリーカードから始まっています。
1986 年に、最初の規格が JEIDA からガイドラインとして公開されました。
その後 1989 年にアメリカで、PCMCIA が設立され、1993 年に JEIDA と
PCMCIA の規格を統一した PC Card 規格になりました。1997 年に CardBus 規格が
発行されました。PnP という言葉の前にできた、最初の PnP です。
Linux では pcmcia-cs として、サポートされてきました。kernel 2.4 では、
PC Card のサポートは kernel に組み込まれました。
略語説明 JEIDA : 日本電子工業振興協会
PCMCIA : Personal Computer Memory Card International Association