レガシープラグアンドプレイ

サウンド カードSound Blaster AWE32 PNP CT3990には、プラグ アンド プレイ ISA バス インターフェイス チップ (大きな正方形のチップ、下段の中央) が搭載されていました。

レガシープラグアンドプレイ[ 1 ]レガシーPnPとも略される) [ 2 ]という用語は、デバイスのオペレーティングシステム設定を目的とした一連の仕様とMicrosoft Windowsの機能を指し、一部のデバイスIDはUEFIフォーラムによって割り当てられている。[ 3 ]これらの規格は主にIBM PC標準バス(後に業界標準アーキテクチャ(ISA)と呼ばれる)を対象としていた。開発当時ISA経由で接続されていたRS-232パラレルポートデバイスなどの一般的な外部バスや特殊バスについても関連仕様が定義されている。

Windowsの機能であるプラグアンドプレイとは、ネイティブのプラグアンドプレイデバイスとの接続、構成、管理をサポートするオペレーティングシステムの機能を指します。[ 4 ]元々は仕様と同じ機能セットの一部と考えられていましたが、この文脈におけるプラグアンドプレイは、主にWindowsドライバ開発に関連する責任とインターフェースを指します。[ 5 ]

プラグアンドプレイは、ユーザーの介入なしにデバイスを検出し、場合によってはI/Oポートやデバイスメモリマップなどのデバイスリソースの軽微な設定を可能にします。PnPは特定の標準規格であり、デバイスリソースのユーザーによる設定の必要性を軽減するハードウェア仕様全般を指す一般的な用語であるプラグアンドプレイとは混同しないでください。[ 6 ]

ACPI は、レガシー プラグ アンド プレイの後継です。

概要

プラグアンドプレイ規格では、デバイスの設定はPnP BIOSによって処理され、オペレーティングシステムにリソース割り当ての詳細が提供されます。このプロセスは起動時に呼び出されます。コンピューターの電源を初めてオンにすると、互換性のあるデバイスが識別され、競合しないIOアドレス割り込み要求番号、DMAチャネルが割り当てられます。

この用語は、MicrosoftがWindows 95製品に関連して採用しました。AmigaOS AutoconfigMac OS NuBusシステムなど、他のオペレーティングシステムでは、既に(様々な名称で、あるいは無名で)同様の機能をサポートしていました。[ 7 ] Yggdrasil Linuxでさえ、Windows 95の少なくとも2年前には「プラグアンドプレイLinux」を宣伝していました。しかし、 Windowsが世界中で普及したことにより、プラグアンドプレイという用語は徐々に普及していきました。

通常、非PnPデバイスはコンピュータのBIOS設定で識別される必要があり、PnPシステムは非PnPデバイスが使用しているリソースを他のデバイスに割り当てないようにする必要があります。従来の非PnPデバイスとPnPシステム間の相互作用に問題が発生すると、PnPシステムが機能しなくなる可能性があり、この技術は歴史的に「プラグアンドプレイ」と呼ばれてきました。[ 2 ]

仕様

レガシープラグアンドプレイ仕様は、 MicrosoftIntelによって定義され、レガシーハードウェアとBIOSへの変更を提案し、オペレーティングシステムに依存したデバイス検出をサポートしました。これらの役割は後にACPI標準[ 1 ]に引き継がれ、 ACPI標準では、電源管理と構成のサポートも、以前の「プラグアンドプレイBIOS」およびAPM仕様で要求されていたファームウェアではなく、オペレーティングシステムに移行しました。以下の標準は、 PCIUSBなどのネイティブプラグアンドプレイ仕様とは対照的に、Microsoftがレガシープラグアンドプレイと呼ぶものを構成しています。

  • プラグアンドプレイBIOS仕様[ 8 ]
  • プラグアンドプレイISA仕様[ 9 ]
  • IEEE 1394 のプラグアンドプレイ設計仕様
  • プラグアンドプレイ外部COMデバイス仕様[ 10 ]
  • プラグアンドプレイパラレルポートデバイス仕様
  • プラグアンドプレイATA仕様
  • プラグアンドプレイSCSI仕様
  • レガシープラグアンドプレイガイドライン

Windows VistaではACPI準拠のBIOSが必要であり、ISAPnPはデフォルトで無効になっています。[ 11 ]

要件

プラグ アンド プレイを使用するには、次の 3 つの要件を満たす必要があります。

  1. OSプラグアンドプレイと互換性がある必要があります。
  2. BIOSプラグ アンド プレイをサポートしている必要があります。
  3. インストールするデバイスは、プラグ アンド プレイ対応デバイスである必要があります。

ハードウェア識別

プラグアンドプレイ対応ハードウェアは通常、コンピュータソフトウェアが正しく識別できるように、何らかのIDコードも提供します。プラグアンドプレイIDには、3バイトのメーカーIDと2バイトの16進数(例:PNP0A08)の組み合わせ、または4バイトのメーカーIDと2バイトの16進数(例:MSFT0101)の組み合わせの2つの形式があります。[ 12 ]さらに、PnPデバイスにはクラスコードとサブシステムIDが含まれる場合があります。[ 13 ]

このIDコードシステムは、プラグアンドプレイが初めて導入された当時、PCで一般的に使用されていた初期の業界標準アーキテクチャ(ISA)ハードウェアには統合されていませんでした。ISAプラグアンドプレイは、PnPの初期の信頼性を著しく低下させる大きな問題を引き起こしました。初期の頃はI/OアドレスIRQラインが誤って設定されることがよくあったため、「プラグアンドプレイ(Plug and Pray)」という揶揄的な言葉が生まれました。その後、 MCAEISA、そして当時業界標準となりつつあった PCIなどのコンピュータバスにこの機能が統合されました。

最後に、コンピュータのオペレーティングシステムはこれらの変更に対応できる必要があります。通常、これはバスからの設定変更を通知する割り込みを探し、バスからその情報を読み取って何が起こったのかを特定することを意味します。古いバス設計では、これらの変更を特定するにはシステム全体の読み取りが必要になることが多く、多くのデバイスにとって時間のかかる作業でした。より現代的な設計では、この「探索」を軽減または排除するための何らかのシステムが採用されています。例えば、USBではこの目的のためにハブシステムが採用されています。

変更箇所が見つかると、OSはデバイス内の情報を調べて変更内容を特定します。そして、デバイスを動作させるために適切なデバイスドライバーをロードする必要があります。以前は、これはすべてかゼロかのどちらかでしたが、最近のオペレーティングシステムには、インターネット上で適切なドライバーを検索し、自動的にインストールする 機能が搭載されていることがよくあります。

参照

参考文献

  1. ^ a b「最終レガシープラグアンドプレイ論文」 。 2016年3月3日時点のオリジナルよりアーカイブ2008年10月25日閲覧。
  2. ^ a bコジェロック、チャールズ M. (2001 年 4 月 17 日)。「プラグアンドプレイ」 . PCガイド. 2016年11月1日時点のオリジナルよりアーカイブ。
  3. ^ tedhudek. 「プラグアンドプレイID - PNPID要求 - Windowsドライバー」 . docs.microsoft.com . 2020年9月9日閲覧
  4. ^ 「プラグアンドプレイ - アーキテクチャとドライバーサポート」。microsoft.com。Microsoft 。 2004年6月16日時点オリジナルよりアーカイブ。
  5. ^ 「WDM: Windows ドライバー モデルの概要」 . microsoft.com . Microsoft. 2004 年 8 月 29 日時点のオリジナルよりアーカイブ。
  6. ^ Kozierok, Charles M. (2001年4月17日). 「プラグアンドプレイ」 . The PC Guide . 2019年2月18日時点のオリジナルよりアーカイブ
  7. ^DNA/Dongly Things」douglasadams.com .
  8. ^ CompaqPhoenix TechnologiesIntel (1994年5月5日).プラグアンドプレイBIOS仕様(PDF) (バージョン1.0A版). 2016年4月23日時点のオリジナル(PDF)からアーカイブ。 2015年6月11日閲覧
  9. ^ IntelMicrosoft (1994年5月5日).プラグアンドプレイISA仕様(RTF) (バージョン1.0A版).
  10. ^ MicrosoftHayes Microcomputer Products .プラグアンドプレイ外部COMデバイス仕様(PDF) 。2016年3月22日時点のオリジナル(PDF)からのアーカイブ
  11. ^ Marshall, Allen. 「Windows VistaのACPI」(PPT) . Microsoft Corporation . 2010年7月2日閲覧
  12. ^ mhopkins-msft (2021年12月15日). 「ISAPNPデバイスの識別子 - Windowsドライバー」 . learn.microsoft.com . 2024年10月12日閲覧
  13. ^ barrygolden (2023年3月22日). 「デバイス管理名前空間オブジェクト - Windows ドライバー」 . learn.microsoft.com . 2024年10月12日閲覧