1. Главная страница » Компьютеры » Plugplay plug and play

Plugplay plug and play

Автор: | 16.12.2019

Наверное, каждый юзер компьютера слышал о таком понятии, как Plug and Play. Оно уже достаточно давно вошло в обиход повседневного языка компьютерщиков. Несмотря на простоту перевода, далеко не все разбираются в теме «Plug and Play — что это такое?». Попробуем рассмотреть этот вопрос несколько подробнее.

Plug and Play — что это такое?

Начнем, пожалуй, с самого перевода термина Plug and Play, иногда обозначаемого как Plug & Play или PnP. Если придерживаться дословного перевода с английского, то plug означает «включить», «подключить», «присоединить», а play – «играть». Итак, что же получается? Plug and Play — что это такое? Можно дать ответ в виде трактовки типа «подключил и играй (работай)».

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

Как появилась технология Plug and Play?

Период появления теперь уже ставшей повсеместно распространенной технологии Plug and Play датируется 1995 годом. Она была создана благодаря усилиям разработчиков корпорации Western Digital, которая и сыграла ключевую роль в ее развитии.

В то время она чем-то особо новым не явилась, поскольку ранее в несколько другом виде использовалась на шинах MCA и EISA. С появлением шины PCI, ставшей настоящим промышленным стандартом, нововведение в области компьютерных технологий взяла на вооружение корпорация Microsoft, которая впервые попыталась внедрить его в ОС Windows 98.

Естественно, та система по сравнению с более поздними продуктами была еще очень "сырой", и список поддерживаемых устройств был достаточно ограниченным. Тем не менее, начало было положено. Теперь в любой системе есть поддержка Plug and Play. Что это такое с современной точки зрения, можно объяснить на простейших примерах.

Основные принципы работы

Грубо говоря, пример работы технологии Plug and Play можно увидеть, когда к компьютеру через порт USB подключается обычная флэшка. Система в трее выдает сообщение о том, что найдено новое устройство, и по прошествии некоторого времени сообщает, что оно готово к работе. Кстати, это касается любого «железного» компонента.

Не будем вдаваться в технические аспекты. Рядовому юзеру хватит того, что при подключении любого устройства, поддерживающего этот стандарт, «операционка» автоматически определяет его тип и производителя, после чего в том же режиме, без участия пользователя, устанавливает наиболее подходящий драйвер из своей базы данных для корректного функционирования (за исключением редких случаев). Заметьте, по окончании процесса даже перезагрузка не требуется.

Что такое и как работает Plug and Play ?

Когда вы включаете операционную систему, поддерживающую принцип Plug and Play (дословно с английского означает “подключил и заработало”), первостепенным арбитром, ответственным за слаженную работу Windows и «железо» ПК является, как, вы уже знаете, BIOS. Этот принцип, конечно, одинаков для всех ОС с пользовательским интерфейсом. Она, Windows, изыскивает оборудование в чреве компьютера на предмет правильности работы и минимального его набора для корректного исполнения возлагаемых задач со стороны пользователя. BIOS определяет эти устройства, основываясь на их индивидуальных показателях (идентификаторах) – кусочках кода, которые прошиты в чипы памяти устройств. После считывания информации об устройстве, BIOS передаёт контроль Windows. Это вы тоже знаете.

Читайте также:  Crt проектор принцип работы

Plug and Play . Что дальше?

Для понимания дальнейших процессов введём ещё пару понятий. В работу вступает специальный инструмент операционной системы – конфигуратор Windows. Настоящее его название модуль управления конфигурацией. В Windows именно он отвечает за ведение системного реестра – спинного мозга системы. Так вот, это самый конфигуратор добавляет к своим же записям драйверы специальных устройств, которые называются нумераторы. Нумератор – программка, которая выполняет роль интерфейса между операционной системой и каким-то устройством. Существуют нумераторы шин, портов, специальной шины SCSI (интерфейс малой компьютерной системы) и множество других. Windows во время работы постоянно опрашивает нумераторы об идентификации устройства, с которым нумератор будет работать, и что этому устройству будет необходимо для работы.

Собрав всю информацию с нумераторов, система записывает её на хранение в дерево аппаратных средств – базу данных, хранящихся в оперативной памяти. Сразу после этого необходимо проверить дерево на отсутствие аппаратных конфликтов. Попросту говоря, для каждого устройства должно работать своё прерывание, своя «ирка». Windows и принимает решение, какое из прерываний для какого из устройств назначить. Нумераторы просто сохраняют эту информацию (информацию о распределении ресурсов) в программируемых регистрах (ячейках кэш-памяти чипов).
Наконец, система начинает искать подходящий для каждого из устройств драйвер. Драйвер, напомню, это кусок кода, который сообщает системе информацию об устройстве. Если Windows не находит драйвер, она сразу пытается его установить. Когда драйверы загружены, система сообщает устройству через его драйвер, какими ресурсами пользоваться. Драйвер включает в работу своё устройство, система полностью загрузилась. Вы увидели вплывающее окно, которое гласит: “Устройство установлено и готово к использованию”. Можно работать.

Вот как описывает принцип Plug and Play Microsoft в пояснениях к схеме:

Исходное состояние После того, как управляющая программа Plug and Play привязала необходимые аппаратные ресурсы к устройству, она посылает пакет запроса ввода-вывода (IRP), указывая, что все драйверы устройства приведены в состояние боевой готовности. Устройство могло быть только что установлено и запускается впервые, а может было перезапущено после остановки в его работе при повторном балансировании элементов интерфейса системы (под лихо закрученной последней фразой понимается пероформление, например, списка устройств в окне Мой компьютер при добавлении нового устройства к системе).

Подготовка к отключению Управляющая программа Plug and Play посылает запрос драйверу, чтобы тот убрал из системы программное обеспечение удаляемого устройства. Система это делает в тот момент, когда пользователь удаляет устройство с помощью функции “Удаление устройства из системы”, щёлкая по значку в трее, сразу и без предупреждения выдёргивает шнур USB из гнезда или пытается обновить драйверы устройства.

Немедленное (внзапное) отключение Ууправляющая программа Plug and Play посылает запрос драйверу, оповещая его, что устройство удалено из системы. В ответ драйвер прекращает подачу питания на устройство и предпринимает дополнительные (если необходимо) меры по удалению устройства
Подготовка к удалению Управляющая программа Plug and Play посылает запрос драйверу, может ли он сейчас остановить устройство. Если все загруженные для этого устройства драйверы отвечают утвердительно, они же и вводят устройство в состояние “Устройство может быть удалено”.

Состояние “Выключено” Управляющая программа Plug and Play держит драйверы устройства в состоянии готовности ко включению.

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

Содержание

История технологии [ править | править код ]

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

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

Читайте также:  Ktmrm что это за служба
Слева: Блоки джамперов различного размера. Справа: Блок DIP-переключателей с 8 переключателями

Позднее процесс переконфигурирования плат расширения был автоматизирован. [3]

MSX [ править | править код ]

Выпущенная в 1983 году система MSX, [4] была изначально разработана как система, ориентированная на работу с Plug and Play. Это было реализовано с использованием специально организованной системы слотов расширения, каждый из которых, включая субслоты в случае использования расширителя слотов (slot expander) [5] обладал собственным виртуальным адресным пространством, что устраняло сам источник для возможных конфликтов адресов между устройствами. Для конфигурирования системы не требовалось переключать джамперы или проводить любые другие процедуры в ручном режиме. Независимое адресное пространство позволяло использовать в устройствах расширения дешевые микросхемы. Слой промежуточной логики, осуществлявший ретрансляцию виртуальных адресов в реальные так же оказался весьма дешев в реализации. На стороне программного обеспечения драйверы и расширения программного обеспечения поставлялись в постоянной памяти, расположенной на картах расширения. Это позволило ASCII Corporation создать систему, которая не требовала дисков с драйверами и каких-либо пользовательских манипуляций с программным обеспечением во время установки дополнительного оборудования. Расширения BIOS, устанавливаемые на ПЗУ (ROM Extansions в терминологии MSX) обеспечивали реализацию слоя аппаратных абстракций (HAL), который позволял программному обеспечению работать со стандартным API устройств, не обращая внимания на особенности его аппаратной реализации.

NuBus [ править | править код ]

Разработанная в 1984 в Массачусетском технологическом институте, архитектура шины расширения NuBus была задумана [6] как нейтральный по отношению к используемой платформе интерфейс с полностью автоматическим конфигурированием подключённых к нему устройств. Спецификация интерфейса включала в себя даже одновременную поддержку big endian так и little endian представления чисел, бывших ранее одной из причин несовместимости платформ. Однако, повышенная сложность реализации нейтрального по отношению к платформе интерфейса, требовавшая более дорогих чипов, в 1980-х годах стала фактором, воспрепятствовавшим широкому распространению этого интерфейса.

Amiga Autoconfig и Zorro II [ править | править код ]

В 1984 году компания Commodore разработала протокол Autoconfig и шину расширения Zorro для своего семейства персональных компьютеров Amiga. Разработка была впервые представлена публике на выставке Consumer Electronics Show, проходившей в Лас-Вегасе в 1985, под названием "Lorraine", данному прототипу технологии. Так же как и NuBus, устройства, подключаемые к шине Zorro не требовали никаких джамперов и DIP-переключателей. Сведения о конфигурации устройства хранились в ПЗУ карты расширения и хост-система, при загрузке выделяла карте необходимые ей ресурсы. Архитектура Zorro не получила широкого распространения в индустрии и, практически, не применялась за пределами продуктовой линейки Amiga. Однако, она последовательно обновлялась до версии Zorro II и 32-битной Zorro III.

Micro Channel Architecture [ править | править код ]

В 1987, IBM выпустила обновленную линейку моделей IBM PC, известную как семейство Personal System/2, использовавшую новую шину расширения — Micro Channel Architecture. [7] PS/2 были способно к полностью автоматическому самоконфигурированию. Каждое из устройств расширения поставлялось в комплекте с дискетой, содержащей специальный файл, предназначенный для конфигурирования системы. Пользователь вставлял плату расширения, включал компьютер, вставлял дискету и компьютер автоматически назначал прерывания, каналы DMA и прочие потребные плате ресурсы.

По сравнению с реализациями в упомянутых выше системах, такая схема автоконфигурирования имела тот недостаток, что дискета могла испортиться или потеряться и единственный способ восстановления необходимого файла настроек — это получить его от компании по почте, или загрузить из BBS компании IBM. Без диска новое устройство было полностью бесполезным и компьютер не мог нормально загрузиться до того, как это устройство не будет отключено от шины расширения. В то же время, преимуществом такого подхода была теоретическая возможность обновить информацию, необходимую для работы устройства.

Шина Micro Channel не получила широкой поддержки [8] поскольку IBM препятствовала её использованию независимыми производителями IBM PC совместимых компьютеров. Каждый из разработчиков устройств, совместимых с MCA подписывал с IBM соглашение о неразглашении технических деталей и должен был платить IBM лицензионные отчисления с каждого устройства, что повышало их стоимость.

Читайте также:  1С бухгалтерия 8 расчет зарплаты

EISA [ править | править код ]

Выпущенный консорциумом из 9 производителей IBM PC-совместимых компьютеров стандарт EISA позиционировался как альтернатива MCA. Он обладал чрезвычайно схожим способом реализации Plug and Play, основанном на файлах конфигурации, поставляемых в комплекте с дискетами. Однако, в отличие от MCA, компьютер с несконфигурированным устройством EISA всё же мог загрузиться и продолжить работу, без доступа программного обеспечения к этому устройству.

Так же как и Micro Channel, EISA не получила широкого распространения и, в дальнейшем сама технология и основанная на ней реализация Plug and Play не развивались.

ISA и PCI [ править | править код ]

Шина ISA появилась раньше, чем в системы с её использованием стала внедряться технология Plug and Play. В связи с этим карты расширения, работающие с этой шиной, использовали массу разнообразных техник настройки, включая джамперы и DIP-переключатели, перемычки, фирменные драйверы и утилиты и прочие методы в разнообразных комбинациях. Появление на картах Plug and Play в виде спецификации от Microsoft дополнительно усложнило эту систему, тем более, что различные операционные системы реализовывали Plug and Play по-разному.

Остроту проблемы с настройкой карт ISA для конечных пользователей сняло, скорее, не внедрение Plug and Play, а постепенный выход этого стандарта из широкого оборота. Упомянутая спецификация Microsoft ISA PnP она же — Legacy Plug and Play включала в себя требования как к оборудованию, так и к доработкам BIOS и поведению операционной системы. Она потеряла свою актуальность по мере распространения стандарта PCI, в котором технология Plug and Play была реализована изначально.

В 1995 Microsoft выпустила Windows 95, в которой впервые попыталась автоматизировать определение установленных устройств и их конфигурирование. В той степени, в которой это было вообще возможно и с реализацией режима возврата к ручному конфигурированию системы, если это было необходимо. Во время процесса начальной установки Windows 95 она пыталась первоначально определить все устройства, установленные в системе. Постольку, поскольку этот процесс не поддерживался индустрией в полном объёме и не обладал обратной совместимостью, операционная система писала журнал в котором маркировала попытки автоопределения устройств. Если в результате этой процедуры компьютер подвисал, то у пользователя оставалась возможность принудительно его перегрузить. Процесс автоопределения конфигурации компьютера при новой её загрузке продолжался с пропуском той его фазы, которая ранее вызвала зависание. Таким образом система могла постепенно пройти процедуру определения конфигурации компьютера до конца. [9]

VMEbus и производные технологии [ править | править код ]

Несмотря на то, что в первоначальной реализации шины VMEbus технология Plug and Play реализована не была, ряд расширений и производных стандартов, в частности, VME64x, поддерживают Plug and Play. В целом, ситуацию с конфигурированием VMEbus-совместимых плат можно сравнить c ситуацией с платами ISA — не полностью общепринятые стандарты сочетаются с частными решениями отдельных производителей в произвольных комбинациях.

Текущее состояние технологии [ править | править код ]

В настоящее время основная острота проблемы с автоопределением конфигурации компьютеров операционной системой для компьютеров общего применения давно уже снята. Абсолютное большинство устройств, интерфейсов расширения и операционных систем поддерживают процедуры Plug and Play.

Среди таких интерфейсов можно назвать

и многие другие.

В то же время в большинстве случаев пользователь оказывается лишён контроля за тонкостями настройки своих устройств и периферийных интерфейсов компьютера. Например, такие интерфейсы как FireWire и USB делят пропускную способность между всеми устройствами, подключенными к конкретному порту такого интерфейса, но у пользователя нет возможности управлять распределением полосы пропускания между этими устройствами. Оно обеспечивается автоматически, средствами операционной системы.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *