Что такое plug'n'play и как это работает

Что такое plug'n'play и как это работает

Когда компьютер сразу понимает, что за устройство к нему подключили

Если вы покупаете принтер, клавиатуру или какую-нибудь ещё периферию для компьютера, на коробках может быть написано Plug’n’Play (или Plug & Play). Вот что это значит и что вам с этим делать.

Главное кратко: 

  • Plug & Play значит, что устройство подключается к вашему компьютеру и им можно пользоваться сразу.
  • Устанавливать драйверы и перезагружать компьютер не нужно.
  • Иногда для этого оборудования могут быть дополнительные программы, но для работы устройства они не необходимы.
  • В большинстве случаев Plug & Play распространяется на компьютеры с операционными системами Windows и Mac OS. С Linux сложнее. 

Как было раньше

До изобретения технологий Plug & Play компьютеры не умели понимать, что за устройство к ним подключили. Поэтому, когда вам нужно было подключить к компьютеру что-то новое, нужно было действовать так: 

  • покупаете новое железо — видеокарту, принтер, модем или что угодно ещё;
  • устанавливаете драйвер с дискеты;
  • выключаете компьютер и подключаете новое устройство;
  • включаете компьютер и заходите в настройку;
  • находите только что подключённое устройство;
  • говорите, что для этого устройства нужно использовать такой-то драйвер;
  • перезагружаете компьютер;
  • вот теперь можно работать с новым устройством.

Что такое plug’n’play

Технология Plug’n’play («подключи и пользуйся») означает, что новое устройство можно подключить к компьютеру и сразу начать им пользоваться. Компьютер сам разберётся, что за устройство перед ним, установит нужные драйверы и настроит все свои внутренние штуки. В большинстве случаев — даже без перезагрузки. 

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

  • компьютер понимает, что к нему подключили новое устройство;
  • получает от устройства служебную информацию;
  • смотрит, в какую категорию попадает устройство и что нужно настроить для его работы;
  • если нужны драйверы, добавляет нужные драйверы;
  • если устройство сделано по стандарту своего класса, начинает работать с ним как с устройством нужного класса;
  • добавляет к себе в настройки запись о том, что появилось новое устройство и им можно пользоваться.

Теперь коротко про каждый этап.

Как компьютер узнаёт, что к нему подключили новое устройство

Сразу после включения компьютер начинает спрашивать у каждого порта — подключено к нему что-то или нет. Порты — это разъёмы для подключения внутри и снаружи.

Компьютер постоянно проверяет, подключено ли что-то к порту или нет. Если подключено — то это новое или старое и ничего делать пока не надо? Такой опрос компьютер проводит сотни раз в секунду, поэтому как только мы что-то подключим — компьютер сразу узнает об этом.

Служебная информация от устройства

Как только порт сообщил, что в его разъём что-то подключили, система сразу посылает на этот порт служебное сообщение с вопросом «А ты кто?». Это стандартное сообщение, которое умеют обрабатывать почти все устройства. 

В ответ устройство посылает информацию о себе: тип, марку, модель, параметры работы, версию прошивки и много остальных важных компьютеру свойств. Компьютер получает ответ и смотрит, есть ли такое устройство в списке знакомых ему или нет. 

Если устройство знакомое, то система переходит к следующему этапу. Но иногда бывает так, что устройство понимает, что у него спрашивают, но ничего не посылает в ответ. В этом случае нужно ставить драйвер вручную, а потом подключать устройство заново — без этого компьютер просто не поймёт, что с ним делать.

Внутренняя настройка системы

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

Если всё в порядке и никто никому не мешает, компьютер устанавливает драйверы.

Установка драйверов

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

На самом деле модель принтера — MF4018, но компьютер поставил универсальный драйвер для всей десятой линейки

Если подходящего драйвера в системе не нашлось, компьютер выведет сообщение об ошибке. В этом случае драйвер нужно будет устанавливать вручную:

Что такое plug'n'play и как это работает

Class-compliant-устройства и общие драйверы

Для некоторых устройств в индустрии придумали общие правила работы — например для мышей и клавиатур, простых принтеров и сканеров, MIDI-контроллеров и аудиокарт. Правила описывают, на какие команды должно реагировать устройство, какую информацию отправлять в компьютер, в каком формате и т. д. 

Если какое-то устройство работает по этим правилам, его называют class-compliant — то есть «соответствующий классу». И тогда операционной системе не нужны индивидуальные драйверы для этого конкретного устройства. Достаточно использовать общий драйвер для всех устройств такого типа. 

Class-compliant-устройства оказались очень полезны, когда мы начали подключать устройства к планшетам. Например, вы можете подключить любой соответствующий классу аудиоинтерфейс к Айпаду, и он заработает так, будто он создан специально для этого Айпада. Производителям не нужно писать драйверы отдельно под Айпад, а разработчикам iPadOS не нужно добавлять в поставку операционной системы тысячи однотипных драйверов для разных устройств. 

Так что class-compliant — это гуд. Будет работать без вопросов. 

Как там с Linux

С Линуксом ситуация такая:

  • Есть сборки, у которых в комплекте есть огромная коллекция драйверов, чтобы большинство устройств Plug & Play работали как положено.
  • И есть голые сборки, в которых нет части драйверов (или почти всех).
  • Есть устройства, драйверы на которые уже добавили в Windows, но ещё не отгрузили сообществу Linux.
  • Есть устройства, на которые для Linux в принципе нет драйверов (и не планируется). 

Например, не так давно мы в редакции пытались установить Linux Mint на современный ноутбук Lenovo. В сборке Mint не оказалось драйвера для платы Wifi, а его ручная установка оказалась довольно сложной. А в сборке Ubuntu всё заработало «из коробки». 

В общем, всё сложно.

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Квадратный корень, который ускорил игры в сто раз
Квадратный корень, который ускорил игры в сто раз

Математика, которая дала нам современные игры

medium
Rust — молодой и дерзкий язык программирования
Rust — молодой и дерзкий язык программирования

Говорят, что это одновременно C++ и Haskell.

medium
Большой разбор: как ИИ играет в змейку

Современные технологии против игры прошлого века.

medium
Что означает ошибка SyntaxError: invalid syntax
Что означает ошибка SyntaxError: invalid syntax

Когда Python не может разобраться в ваших командах

easy
Вместо Dropbox: ваше собственное облачное хранилище файлов
Вместо Dropbox: ваше собственное облачное хранилище файлов

Продолжение саги про облачные бэкапы

medium
Таблицы в HTML
Таблицы в HTML

Как они работают и что у них внутри

easy
«Я не успеваю писать код, но участвую во всех важных обсуждениях». Как работает руководитель разработки Яндекс.Практикума
«Я не успеваю писать код, но участвую во всех важных обсуждениях». Как работает руководитель разработки Яндекс.Практикума

От первого сайта за 300$ до руководителя в Яндексе.

easy
Что такое MVP и чем он отличается от прототипа
Что такое MVP и чем он отличается от прототипа

MVP — это от слова «минимал», детка

easy
Как работают алгоритмы кодирования в радиосвязи
Как работают алгоритмы кодирования в радиосвязи

Как вообще это возможно — что по воздуху к нам прилетает видео?

medium
Декомпозиция задач: что это и зачем нужно
Декомпозиция задач: что это и зачем нужно

И как сделать так, чтобы всё шло по плану.

easy
easy