Plug and Play


Plug and Play (сокр. PnP), дословно переводится как «Подключил и играй (работай)» — технология, предназначенная для быстрого определения и конфигурирования устройств в компьютере и других технических устройствах. В зависимости от аппаратного интерфейса и программной платформы (ОС, BIOS), процедура Plug and Play может производиться на этапе начальной загрузки системы или в режиме горячей замены — так это делается, например, для интерфейсов USB и IEEE 1394[1].

Некоторые ранние компьютерные системы, например Apple II могли требовать от пользователя перепаивать и разрезать контакты на платах расширения для их переконфигурирования[2]. Такая техника переконфигурирования была сложной и радикально уменьшала срок работы оборудования.

По мере того, как компьютеры становились доступными всё более широким слоям публики, стали требоваться более простые, удобные и доступные для частого использования технологии переконфигурирования. Первоначально вместо обрезки и перепайки проводников для смены конфигурации карт расширения были предложены джамперы (перемычки) и DIP-переключатели.

Выпущенная в 1983 году система MSX[4] была изначально разработана как система, ориентированная на работу с Plug and Play. Это было реализовано с использованием специально организованной системы слотов расширения, каждый из которых, включая субслоты в случае использования расширителя слотов (slot expander)[5], обладал собственным виртуальным адресным пространством, что устраняло сам источник для возможных конфликтов адресов между устройствами. Для конфигурирования системы не требовалось переключать джамперы или проводить любые другие процедуры в ручном режиме. Независимое адресное пространство позволяло использовать в устройствах расширения дешевые микросхемы. Слой промежуточной логики, осуществлявший ретрансляцию виртуальных адресов в реальные так же оказался весьма дешёв в реализации.

На стороне программного обеспечения драйверы и расширения программного обеспечения поставлялись в постоянной памяти, расположенной на картах расширения. Это позволило ASCII Corporation создать систему, которая не требовала дисков с драйверами и каких-либо пользовательских манипуляций с программным обеспечением во время установки дополнительного оборудования. Расширения BIOS, устанавливаемые на ПЗУ (ROM Extansions в терминологии MSX) обеспечивали реализацию слоя аппаратных абстракций (HAL), который позволял программному обеспечению работать со стандартным API устройств, не обращая внимания на особенности его аппаратной реализации.