Какие функции возложены на драйвер периферийного устройства
Обновлено: 21.11.2024
Драйвер периферийного устройства SPB управляет периферийным устройством, подключенным к простой периферийной шине (SPB). Аппаратные регистры этого устройства доступны только через SPB. Для чтения или записи на устройство драйвер должен отправлять запросы ввода-вывода на контроллер SPB. Только этот контроллер может инициировать передачу данных на устройство и с устройства через SPB.
Начиная с Windows 8, Windows обеспечивает поддержку драйверов для периферийных устройств на простых периферийных шинах (SPB). SPB, такие как I²C и SPI, широко используются для подключения к низкоскоростным сенсорным устройствам, таким как акселерометры, устройства GPS и мониторы уровня заряда батареи. В этом обзоре описывается, как драйвер периферийного устройства SPB во взаимодействии с другими системными компонентами управляет периферийным устройством, подключенным к SPB.
Драйвер периферийного устройства SPB может быть создан для использования инфраструктуры драйверов пользовательского режима (UMDF) или платформы драйверов режима ядра (KMDF). Дополнительные сведения о разработке драйвера UMDF см. в разделе Начало работы с UMDF. Дополнительные сведения о разработке драйвера KMDF см. в разделе Начало работы с каркасом драйверов режима ядра.
Информация о конфигурации устройства
Аппаратные регистры периферийного устройства, подключенного к SPB, не отображаются в памяти. Доступ к устройству возможен только через контроллер SPB, который последовательно передает данные на устройство и с устройства по SPB. Для выполнения операций ввода-вывода драйвер периферийного устройства SPB отправляет на устройство запросы ввода-вывода, а контроллер SPB выполняет передачу данных, необходимую для выполнения этих запросов. Дополнительные сведения о запросах ввода-вывода, которые можно отправлять на периферийные устройства на SPB, см. в разделе Использование интерфейса запросов ввода-вывода SPB.
На следующей диаграмме показан пример аппаратной конфигурации, в которой SPB — в данном случае шина I²C — соединяет два периферийных устройства с модулем системы на кристалле (SoC). Периферийные устройства являются внешними по отношению к модулю SoC и подключаются к четырем контактам на модуле. Модуль SoC содержит основной процессор (не показан), а также контроллер I²C и контроллер ввода-вывода общего назначения (GPIO). Процессор использует контроллер I²C для последовательной передачи данных на два периферийных устройства и обратно. Линии запроса прерывания от этих устройств подключены к двум контактам GPIO, которые настроены как входы прерывания. Когда устройство сигнализирует о запросе прерывания, контроллер GPIO передает прерывание процессору.
Поскольку контроллер GPIO и контроллер I²C в этом примере интегрированы в модуль SoC, их аппаратные регистры отображаются в памяти, и процессор может напрямую обращаться к ним. Однако процессор может получить доступ к аппаратным регистрам двух периферийных устройств только косвенно, через контроллер I²C.
SPB не является шиной Plug and Play (PnP) и поэтому не может использоваться для автоматического обнаружения и настройки новых устройств, подключенных к шине. Соединения шины и прерывания устройства, подключенного к SPB, часто являются постоянными. Даже если устройство можно отключить от слота, этот слот обычно предназначен для устройства. Кроме того, SPB не обеспечивает внутриполосного аппаратного пути для ретрансляции запросов на прерывание от периферийного устройства на шине к контроллеру шины. Вместо этого аппаратный путь для прерываний отделен от контроллера шины.
Поставщик аппаратной платформы хранит информацию о конфигурации периферийного устройства, подключенного к SPB, в прошивке ACPI платформы. Во время запуска системы драйвер ACPI перечисляет устройства на шине для диспетчера PnP. Для каждого перечисляемого устройства ACPI предоставляет информацию о шине устройства и соединениях с прерываниями. Менеджер PnP сохраняет эту информацию в хранилище данных, которое называется ресурсный центр.
При запуске устройства диспетчер PnP предоставляет драйверу устройства набор аппаратных ресурсов, которые инкапсулируют информацию о конфигурации, хранящуюся в концентраторе ресурсов для устройства. Эти ресурсы включают идентификатор соединения и номер прерывания. Идентификатор соединения содержит информацию о соединении с шиной, такую как контроллер SPB, адрес шины и тактовая частота шины. Прежде чем на устройство можно будет отправлять запросы ввода-вывода, драйвер должен сначала использовать идентификатор соединения, чтобы открыть логическое соединение с устройством. Номер прерывания — это ресурс прерывания Windows, к которому драйвер может подключить свою процедуру обслуживания прерываний (ISR). Драйвер можно легко переносить с одной аппаратной платформы на другую, поскольку идентификатор соединения и номер прерывания являются высокоуровневыми абстракциями, которые скрывают специфичную для платформы информацию о физической шине и соединениях прерывания.
Уровни программного и аппаратного обеспечения
На следующей блок-схеме показаны уровни программного и аппаратного обеспечения, которые соединяют периферийное устройство на SPB с прикладной программой, использующей это устройство. Драйвер периферийного устройства SPB в этом примере является драйвером UMDF. Периферийное устройство (внизу схемы) — сенсорное устройство (например, акселерометр). Как и на предыдущей схеме, периферийное устройство подключено к шине I²C и передает запросы на прерывание через контакт на контроллере GPIO.
Три блока, показанные серым цветом, являются системными модулями. Начиная с Windows 7, расширение класса сенсора доступно как специфичное для сенсора расширение UMDF. Начиная с Windows 8, расширение платформы SPB (SpbCx) и расширение платформы GPIO (GpioClx) доступны как расширения KMDF, которые выполняют функции, характерные для контроллеров SPB и контроллеров GPIO соответственно.
В верхней части предыдущей схемы приложение вызывает методы Sensor API или Location API для связи с сенсорным устройством. С помощью этих вызовов приложение может отправлять запросы ввода-вывода на устройство и получать уведомления о событиях от устройства. Дополнительные сведения об этих API см. в разделе Знакомство с платформой датчиков и определения местоположения в Windows.
Когда приложение вызывает метод, требующий связи с драйвером периферийного устройства SPB, Sensor API или Location API создает запрос ввода-вывода и отправляет его драйверу периферийного устройства SPB. Модуль расширения класса датчиков помогает драйверу обрабатывать эти запросы ввода-вывода. Когда драйвер получает новый запрос ввода-вывода, драйвер немедленно передает запрос расширению класса датчика, которое ставит запрос в очередь до тех пор, пока драйвер не будет готов его обработать. Если запрос ввода-вывода от приложения требует передачи данных на периферийное устройство или от него, драйвер периферийного устройства SPB создает запрос ввода-вывода для этой передачи и отправляет запрос на контроллер I²C. Такие запросы обрабатываются совместно SpbCx и драйвером контроллера I²C.
SpbCx — это системный компонент, который управляет очередями запросов ввода-вывода для контроллера SPB, такого как контроллер I²C в этом примере. Драйвер контроллера I²C, который предоставляется поставщиком оборудования для контроллера, управляет всеми специфическими для оборудования операциями в контроллере I²C. Например, драйвер контроллера обращается к отображенным в памяти аппаратным регистрам контроллера, чтобы инициировать передачу данных на периферийное устройство и с него по шине I²C.
Периферийное устройство сигнализирует о запросе на прерывание, когда происходит аппаратное событие, требующее внимания со стороны драйвера периферийного устройства SPB или приложения пользовательского режима. Линия прерывания от периферийного устройства подключается к выводу GPIO, настроенному на прием запросов на прерывание. Когда устройство сигнализирует прерывание на контакт GPIO, контроллер GPIO сигнализирует прерывание процессору. В ответ на это прерывание обработчик ловушки прерывания ядра вызывает ISR GpioClx. Этот ISR запрашивает драйвер контроллера GPIO, который затем обращается к отображенным в памяти аппаратным регистрам контроллера GPIO, чтобы идентифицировать прерывающий вывод GPIO. Чтобы заглушить прерывание, драйвер контроллера GPIO либо очищает (если прерывание срабатывает по фронту), либо маскирует (если срабатывает по уровню) запрос на прерывание на выводе GPIO. Прерывание должно быть заглушено, чтобы предотвратить повторный вызов процессором того же прерывания при возврате обработчика прерывания. Для прерывания, запускаемого по уровню, ISR в драйвере периферийного устройства SPB должен получить доступ к аппаратным регистрам периферийного устройства, чтобы сбросить прерывание, прежде чем можно будет демаскировать вывод GPIO.
Прежде чем обработчик прерывания ядра вернется, он планирует выполнение ISR в драйвере периферийного устройства SPB на уровне IRQL = PASSIVE_LEVEL. Начиная с Windows 8, драйвер UMDF может подключать свой ISR к прерыванию, которое драйвер получает как абстрактный ресурс прерывания Windows; для получения дополнительной информации см. раздел Обработка прерываний. Чтобы определить, какой ISR вызывать, операционная система ищет виртуальное прерывание, назначенное прерывающему контакту GPIO, и находит ISR, подключенный к прерыванию. Это виртуальное прерывание помечено как вторичное прерывание на предыдущей диаграмме. Напротив, аппаратное прерывание от контроллера GPIO помечено как основное прерывание.
Поскольку ISR в драйвере периферийного устройства SPB работает на пассивном уровне, ISR может использовать запросы синхронного ввода-вывода для доступа к аппаратным регистрам в периферийном устройстве. ISR может блокировать до тех пор, пока эти запросы не будут выполнены.ISR, который работает с относительно высоким приоритетом, должен вернуться как можно скорее и отложить всю фоновую обработку прерывания на рабочую процедуру, которая работает с более низким приоритетом.
В ответ на вторичное прерывание драйвер периферийного устройства SPB отправляет событие в расширение класса датчика, которое уведомляет приложение пользовательского режима о событии через Sensor API или Location API.
Несмотря на то, что были приложены все усилия для соблюдения правил стиля цитирования, могут быть некоторые расхождения. Если у вас есть какие-либо вопросы, обратитесь к соответствующему руководству по стилю или другим источникам.
Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.
периферийное устройство, также известное как периферийное устройство, периферийное устройство компьютера, устройство ввода-вывода или устройство ввода-вывода, любое из различных устройств (включая датчики), используемое для ввода информации и инструкций в компьютер для хранения или обработки и доставки обрабатывает данные человеку-оператору или, в некоторых случаях, машине, управляемой компьютером. Такие устройства составляют периферийное оборудование современных цифровых вычислительных систем.
Периферийные устройства обычно делятся на три типа: устройства ввода, устройства вывода и устройства хранения (которые имеют характеристики первых двух). Устройство ввода преобразует поступающие данные и инструкции в набор электрических сигналов в двоичном коде, понятный цифровому компьютеру. Устройство вывода меняет процесс, переводя оцифрованные сигналы в форму, понятную пользователю. Когда-то для ввода данных широко использовались считыватели перфокарт и бумажных лент, но теперь они были вытеснены более эффективными устройствами.
Как Интернет перемещает информацию между компьютерами? Какая операционная система сделана Microsoft? Войдите в этот тест и проверьте свои знания о компьютерах и операционных системах.
К устройствам ввода относятся клавиатуры, похожие на пишущие машинки; портативные устройства, такие как мышь, трекбол, джойстик, трекпад и специальная ручка с сенсорной панелью; микрофоны, веб-камеры и цифровые фотоаппараты. Они также включают в себя датчики, которые передают компьютеру информацию об окружающей среде — температуре, давлении и т. д. Еще одним механизмом прямого ввода является оптический лазерный сканер (например, сканеры, используемые с терминалами торговых точек в розничных магазинах), который может считывать данные со штрих-кодом или оптические шрифты символов.
К оборудованию вывода относятся видеотерминалы, струйные и лазерные принтеры, громкоговорители, наушники и такие устройства, как проточные клапаны, которые управляют механизмами, часто в ответ на компьютерную обработку входных данных датчиков. Некоторые устройства, такие как видеотерминалы и концентраторы USB, могут обеспечивать как ввод, так и вывод. Другими примерами являются устройства, обеспечивающие передачу и прием данных между компьютерами, например модемы и сетевые интерфейсы.
Большинство вспомогательных запоминающих устройств, таких как, например, дисководы CD-ROM и DVD, накопители флэш-памяти и внешние дисководы, также служат устройствами ввода-вывода (см. память компьютера). Даже такие устройства, как смартфоны, планшетные компьютеры и носимые устройства, такие как фитнес-трекеры и смарт-часы, можно рассматривать как периферийные устройства, хотя они могут работать независимо.
Существуют различные стандарты подключения периферийных устройств к компьютерам. Например, последовательное подключение передовой технологии (SATA) является наиболее распространенным интерфейсом или шиной для магнитных дисков. Шина (также известная как порт) может быть как последовательной, так и параллельной, в зависимости от того, передается ли по пути данных один бит за раз (последовательный) или сразу несколько (параллельный). Последовательные соединения, в которых используется относительно мало проводов, как правило, проще, чем параллельные соединения. Универсальная последовательная шина (USB) — это обычная последовательная шина.
Редакторы Британской энциклопедии Эта статья была недавно отредактирована и обновлена Эриком Грегерсеном.
В вычислительной технике драйвер устройства (обычно называемый драйвером) представляет собой компьютерную программу, которая управляет определенным типом устройства, подключенного к компьютеру, или управляет им. Драйвер предоставляет программный интерфейс для аппаратных устройств, позволяя операционным системам и другим компьютерным программам получать доступ к аппаратным функциям без необходимости знать точные сведения об используемом оборудовании.
Драйвер обычно связывается с устройством через компьютерную шину или подсистему связи, к которой подключается оборудование. Когда вызывающая программа вызывает подпрограмму в драйвере, драйвер выдает команды устройству. Как только устройство отправляет данные обратно драйверу, драйвер может вызывать подпрограммы в исходной вызывающей программе. Драйверы зависят от оборудования и операционной системы. Обычно они обеспечивают обработку прерываний, необходимую для любого необходимого асинхронного зависящего от времени аппаратного интерфейса.
Цель
Драйверы устройств упрощают программирование, выступая в качестве переводчика между аппаратным устройством и приложениями или операционными системами, которые его используют. Программисты могут писать код приложения более высокого уровня независимо от того, какое конкретно оборудование использует конечный пользователь.
Например, высокоуровневое приложение для взаимодействия с последовательным портом может просто иметь две функции для "отправки данных" и "получения данных". На более низком уровне драйвер устройства, реализующий эти функции, будет связываться с конкретным контроллером последовательного порта, установленным на компьютере пользователя. Команды, необходимые для управления UART 16550, сильно отличаются от команд, необходимых для управления преобразователем последовательного порта FTDI, но каждый аппаратно-зависимый драйвер устройства абстрагирует эти детали в один и тот же (или аналогичный) программный интерфейс.
Разработка
Написание драйвера устройства требует глубокого понимания того, как аппаратное и программное обеспечение работает для данной функции платформы. Поскольку для работы драйверам требуется низкоуровневый доступ к аппаратным функциям, драйверы обычно работают в среде с высокими привилегиями и могут вызвать проблемы в работе системы, если что-то пойдет не так. Напротив, большинство программ пользовательского уровня в современных операционных системах можно остановить, не оказывая существенного влияния на остальную часть системы. Даже драйверы, работающие в пользовательском режиме, могут привести к сбою системы, если устройство запрограммировано ошибочно. Эти факторы делают диагностику проблем более сложной и опасной.
Таким образом, задача написания драйверов обычно ложится на инженеров-программистов или инженеров-компьютерщиков, которые работают в компаниях, занимающихся разработкой аппаратного обеспечения. Это потому, что у них есть лучшая информация, чем у большинства посторонних, о конструкции их оборудования. Более того, традиционно считалось, что в интересах производителя оборудования гарантировать, что его клиенты смогут использовать свое оборудование оптимальным образом. Как правило, драйвер логического устройства (LDD) пишется поставщиком операционной системы, а драйвер физического устройства (PDD) реализуется поставщиком устройства. Но в последние годы сторонние производители написали множество драйверов устройств, в основном для использования с бесплатными операционными системами с открытым исходным кодом. В таких случаях важно, чтобы производитель оборудования предоставил информацию о том, как устройство обменивается данными. Хотя эту информацию можно получить путем обратного проектирования, с аппаратным обеспечением это сделать гораздо сложнее, чем с программным.
Microsoft попыталась уменьшить нестабильность системы из-за плохо написанных драйверов устройств, создав новую платформу для разработки драйверов под названием Windows Driver Foundation (WDF). Это включает в себя структуру драйверов пользовательского режима (UMDF), которая поощряет разработку определенных типов драйверов — в первую очередь тех, которые реализуют протокол на основе сообщений для связи со своими устройствами — в качестве драйверов пользовательского режима. Если такие драйверы работают со сбоями, они не вызывают нестабильности системы. Модель Kernel-Mode Driver Framework (KMDF) по-прежнему позволяет разрабатывать драйверы устройств в режиме ядра, но пытается обеспечить стандартные реализации функций, которые, как известно, вызывают проблемы, включая отмену операций ввода-вывода, управление питанием и поддержка устройств воспроизведения.
У Apple есть платформа с открытым исходным кодом для разработки драйверов для Mac OS X, которая называется I/O Kit.
В средах Linux программисты могут создавать драйверы устройств как части ядра, отдельно как загружаемые модули или как драйверы пользовательского режима (для определенных типов устройств, где существуют интерфейсы ядра, например для USB-устройств).Makedev включает в себя список устройств в Linux: ttyS (терминал), lp (параллельный порт), hd (диск), цикл, звук (включая микшер, секвенсор, DSP и аудио)…
Файлы .sys для Microsoft Windows и модули .ko для Linux содержат загружаемые драйверы устройств. Преимущество загружаемых драйверов устройств заключается в том, что их можно загружать только при необходимости, а затем выгружать, что экономит память ядра.
Режим ядра и пользовательский режим
Драйверы устройств, особенно на современных платформах Microsoft Windows, могут работать в режиме ядра (кольцо 0 на процессорах x86) или в пользовательском режиме (кольцо 3 на процессорах x86). Основным преимуществом запуска драйвера в пользовательском режиме является повышенная стабильность, поскольку плохо написанный драйвер устройства пользовательского режима не может привести к сбою системы из-за перезаписи памяти ядра. С другой стороны, переходы между пользовательским режимом и режимом ядра обычно приводят к значительным потерям производительности, тем самым запрещая драйверы пользовательского режима из-за низкой задержки и высоких требований к пропускной способности.
К пространству ядра пользовательский модуль может получить доступ только с помощью системных вызовов. Программы конечного пользователя, такие как оболочка UNIX или другие приложения с графическим интерфейсом пользователя, являются частью пользовательского пространства. Эти приложения взаимодействуют с оборудованием через функции, поддерживаемые ядром.
Приложения
Из-за разнообразия современного оборудования и операционных систем драйверы работают в самых разных средах. Драйверы могут взаимодействовать с:
- принтеры
- видеоадаптеры
- Сетевые карты
- Звуковые карты
- Локальные шины различных типов — в частности, для управления шинами в современных системах.
- Различные шины ввода-вывода с низкой пропускной способностью (для указывающих устройств, таких как мыши, клавиатуры, USB и т. д.)
- Компьютерные запоминающие устройства, такие как жесткий диск, CD-ROM и шины гибких дисков (ATA, SATA, SCSI)
- Реализация поддержки различных файловых систем
- Сканеры изображений
- Цифровые камеры
Общие уровни абстракции для драйверов устройств включают:
Поэтому выбор и установка правильных драйверов устройств для данного оборудования часто является ключевым компонентом конфигурации компьютерной системы.
Драйверы виртуальных устройств
Драйверы виртуальных устройств представляют собой особый вариант драйверов устройств. Они используются для эмуляции аппаратного устройства, особенно в средах виртуализации, например, когда программа DOS запускается на компьютере с Microsoft Windows или когда гостевая операционная система запускается, например, на хосте Xen. Вместо того, чтобы позволить гостевой операционной системе взаимодействовать с оборудованием, драйверы виртуальных устройств берут на себя противоположную роль и эмулируют часть оборудования, так что гостевая операционная система и ее драйверы, работающие внутри виртуальной машины, могут иметь иллюзию доступа к реальному оборудованию. Попытки гостевой операционной системы получить доступ к оборудованию направляются в драйвер виртуального устройства в основной операционной системе, например, в виде вызовов функций. Драйвер виртуального устройства также может отправлять смоделированные события на уровне процессора, такие как прерывания, в виртуальную машину.
Виртуальные устройства также могут работать в невиртуализированной среде. Например, виртуальный сетевой адаптер используется с виртуальной частной сетью, а виртуальный диск — с iSCSI. Хорошим примером драйверов виртуальных устройств могут быть Daemon Tools.
Существует несколько вариантов драйверов виртуальных устройств, таких как VxD, VLM, VDD.
Открыть драйверы
- Принтеры: CUPS
- RAID: CCISS (командный интерфейс Compaq для поддержки SCSI-3)
- Сканеры: SANE
- Видео: Vidix, инфраструктура прямого рендеринга
Описания часто используемых драйверов устройств для Solaris
- fas: быстрый/широкий контроллер SCSI
- hme: быстрый (10/100 Мбит/с) Ethernet
- isp: дифференциальные контроллеры SCSI и карта SunSwift
- glm: (модуль связи Gigabaud) контроллеры UltraSCSI
- scsi: устройства с последовательным интерфейсом малых компьютеров (SCSI).
- sf: soc+ или социальная арбитражная петля Fibre Channel (FCAL)
- soc: контроллеры SPARC Storage Array (SSA) и управляющее устройство
- социальные сети: последовательные оптические контроллеры для FCAL (soc+)
- Модель драйвера дисплея Windows (WDDM) — архитектура драйвера графического дисплея для Windows Vista, Windows 7 и Windows 8.
- Фонд драйверов Windows (WDF)
- Модель драйвера Windows (WDM)
- Спецификация интерфейса сетевого драйвера (NDIS) — стандартный API драйвера сетевой карты.
- Advanced Linux Sound Architecture (ALSA) — стандартный интерфейс звукового драйвера Linux с 2009 года.
- Scanner Access Now Easy (SANE) — общедоступный интерфейс для аппаратного обеспечения сканера растровых изображений
- I/O Kit — платформа Apple с открытым исходным кодом для разработки драйверов устройств Mac OS X.
- Installable File System (IFS) — API файловой системы для IBM OS/2 и Microsoft Windows NT
- Open Data-Link Interface (ODI) — API сетевой карты, аналогичный NDIS
- Унифицированный интерфейс драйверов (UDI) — проект межплатформенного интерфейса драйверов
- Dynax Driver Framework (dxd) — кроссплатформенная платформа драйверов C++ с открытым исходным кодом для KMDF и IOKit
Идентификаторы
Устройство на шине PCI или USB идентифицируется двумя идентификаторами, каждый из которых состоит из 4 шестнадцатеричных чисел. Идентификатор поставщика идентифицирует поставщика устройства. Идентификатор устройства идентифицирует конкретное устройство этого производителя/поставщика.
Устройство PCI часто имеет пару идентификаторов для основного чипа устройства, а также пару идентификаторов подсистемы, которая идентифицирует поставщика, который может отличаться от производителя чипа.
Периферийное устройство — это «устройство, которое используется для ввода информации в компьютер или получения информации из него». [1]
Существует три различных типа периферийных устройств:
- Ввод, используемый для взаимодействия или отправки данных на компьютер (мышь, клавиатура и т. д.)
- Вывод, обеспечивающий вывод пользователю данных с компьютера (мониторы, принтеры и т. д.)
- Хранилище, в котором хранятся данные, обрабатываемые компьютером (жесткие диски, флешки и т. д.)
Периферийные устройства человеко-машинного интерфейса (HMI).
Обзор
Периферийное устройство обычно определяется как любое вспомогательное устройство, такое как компьютерная мышь или клавиатура, которое каким-либо образом подключается к компьютеру и работает с ним. Другими примерами периферийных устройств являются карты расширения, графические карты, сканеры изображений, ленточные накопители, микрофоны, громкоговорители, веб-камеры и цифровые камеры. ОЗУ — оперативная память — занимает грань между периферийным и основным компонентом; технически это периферийное устройство для хранения данных, но оно требуется для каждой основной функции современного компьютера, и удаление ОЗУ эффективно отключит любую современную машину. Многие новые устройства, такие как цифровые часы, смартфоны и планшетные компьютеры, имеют интерфейсы, которые позволяют использовать их в качестве периферийных устройств на полном компьютере, хотя они не зависят от хоста, как другие периферийные устройства. Согласно наиболее техническому определению, единственными частями компьютера, которые не считаются периферийными устройствами, являются центральный процессор, блок питания, материнская плата и корпус компьютера.
В системе на чипе периферийные устройства встроены в ту же интегральную схему, что и центральный процессор. Их по-прежнему называют «периферийными устройствами», несмотря на то, что они постоянно подключены к своему хост-процессору (и в некотором смысле являются его частью).
Общие периферийные устройства
- Ввод
- Клавиатура
- Компьютерная мышь
- Графический планшет
- Сенсорный экран
- Сканер штрих-кода
- Сканер изображений
- Микрофон
- Веб-камера
- Игровой контроллер
- Световое перо
- Сканер
- Цифровая камера
- Дисплей компьютера
- Принтер
- Проектор
- Динамик
- Диск для гибких дисков
- Флэш-накопитель
- Диск
- Интерфейс для хранения данных на смартфоне или планшете.
- CD/DVD-привод
- Модем
- Контроллер сетевого интерфейса (NIC)
Устройства ввода
В вычислительной технике устройство ввода – это периферийное устройство (часть аппаратного компьютерного оборудования), используемое для передачи данных и управляющих сигналов в систему обработки информации, такую как компьютер или другое информационное устройство. К устройствам ввода относятся клавиатуры, мыши, сканеры, цифровые камеры и джойстики.
Многие устройства ввода можно классифицировать по следующим признакам:
- модальность ввода (например, механическое движение, звук, изображение и т. д.)
- ввод является дискретным (например, нажатия клавиш) или непрерывным (например, положение мыши, хотя и оцифровано в дискретную величину, происходит достаточно быстро, чтобы считаться непрерывным)
Указывающие устройства, которые представляют собой устройства ввода, используемые для указания положения в пространстве, можно дополнительно классифицировать в соответствии с:
- Прямой или косвенный вход. При прямом вводе пространство ввода совпадает с пространством отображения, т.е.указание делается в пространстве, где появляется визуальная обратная связь или указатель. Сенсорные экраны и световые перья предполагают прямой ввод. Примеры непрямого ввода включают мышь и шаровой манипулятор.
- Является ли информация о местоположении абсолютной (например, на сенсорном экране) или относительной (например, с помощью мыши, которую можно поднять и изменить положение)
Прямой ввод почти всегда является абсолютным, но косвенный ввод может быть как абсолютным, так и относительным. Например, оцифровывающие графические планшеты, которые не имеют встроенного экрана, включают непрямой ввод и определяют абсолютные положения и часто работают в режиме абсолютного ввода, но они также могут быть настроены для имитации режима относительного ввода, такого как сенсорная панель, где стилус или шайбу можно поднять и переместить.
Устройства ввода и вывода составляют аппаратный интерфейс между компьютером и сканером или контроллером 6DOF.
Клавиатуры
Клавиатура – это устройство взаимодействия с пользователем, представленное в виде набора кнопок. Каждая кнопка или клавиша может использоваться либо для ввода лингвистического символа в компьютер, либо для вызова определенной функции компьютера. Они действуют как основной интерфейс ввода текста для большинства пользователей. В традиционных клавиатурах используются пружинные кнопки, хотя в более новых вариантах используются виртуальные клавиши или даже проекционные клавиатуры. Это похожее на пишущую машинку устройство, состоящее из матрицы переключателей.
Примеры типов клавиатур включают:
- Кейер
- Клавиатура
- Подсвеченная программная функциональная клавиатура (LPFK)
Указывающие устройства
Компьютерная мышь
Указывающие устройства – наиболее часто используемые сегодня устройства ввода. Указывающее устройство — это любое устройство интерфейса пользователя, которое позволяет пользователю вводить пространственные данные в компьютер. В случае с мышами и сенсорными панелями это обычно достигается путем обнаружения движения по физической поверхности. Аналоговые устройства, такие как 3D-мыши, джойстики или джойстики, работают, сообщая об угле отклонения. Движения указывающего устройства повторяются на экране движениями указателя, создавая простой и интуитивно понятный способ навигации по графическому пользовательскому интерфейсу компьютера (GUI).
Композитные устройства
Пульт Wii с прикрепленным ремешком
Устройства ввода, такие как кнопки и джойстики, можно объединить на одном физическом устройстве, которое можно рассматривать как составное устройство. Многие игровые устройства имеют такие контроллеры. Технически мыши являются составными устройствами, так как они отслеживают движение и предоставляют кнопки для нажатия, но обычно считается, что составные устройства имеют более двух различных форм ввода.
- Игровой контроллер
- Геймпад (или джойстик)
- Пэддл (игровой контроллер)
- Поворотный переключатель/манипулятор (или ручка)
- Пульт Wii
Устройства обработки изображений и ввода
Датчик Microsoft Kinect
Устройства ввода видео используются для оцифровки изображений или видео из внешнего мира в компьютер. Информация может храниться в различных форматах в зависимости от требований пользователя.
- Цифровая камера
- Цифровая видеокамера
- Портативный медиаплеер
- Веб-камера
- Сенсор Microsoft Kinect
- Сканер изображений
- Сканер отпечатков пальцев
- Сканер штрих-кода
- 3D-сканер
- Лазерный дальномер
- Отслеживание взгляда
- Компьютерная томография
- Магнитно-резонансная томография
- Позитронно-эмиссионная томография
- Медицинское УЗИ
Устройства ввода звука
Устройства ввода звука используются для захвата звука. В некоторых случаях устройство вывода звука можно использовать в качестве устройства ввода для захвата производимого звука.
- Микрофоны
- MIDI-клавиатура или другой цифровой музыкальный инструмент
Устройства вывода
Устройство вывода – это любая часть аппаратного компьютерного оборудования, используемая для передачи результатов обработки данных, выполняемой системой обработки информации (например, компьютером), которая преобразует сгенерированную электронным способом информацию в удобочитаемую форму. [3] [4]
Устройства отображения
Устройство отображения – это устройство вывода, которое визуально передает текст, графику и видеоинформацию. Информация, отображаемая на устройстве отображения, называется электронной копией, поскольку информация существует в электронном виде и отображается в течение временного периода времени. Устройства отображения включают ЭЛТ-мониторы, ЖК-мониторы и дисплеи, газовые плазменные мониторы и телевизоры. [5]
Ввод/вывод
Входные данные – это сигналы или данные, полученные системой, а выходные – сигналы или данные, отправленные из нее.
Существует множество устройств ввода и вывода, таких как многофункциональные принтеры и компьютерные навигационные системы, которые используются для специализированных или уникальных приложений. [6] В вычислительной технике ввод/вывод относится к связи между системой обработки информации (например, компьютером) и внешним миром. Входы — это сигналы или данные, полученные системой, а выходы — это сигналы или данные, отправленные из нее.
Примеры
Эти примеры устройств вывода также включают устройства ввода/вывода. [7] [8] Принтеры и визуальные дисплеи являются наиболее распространенным типом устройств вывода для взаимодействия с людьми, но голосовая связь становится все более доступной. [9]
- Динамики
- Наушники
- Экран (монитор)
- Принтер
- Помощь в голосовом общении
- Автомобильная навигационная система
- Тиснение Брайля
- Проектор
- Плоттер
- Телевидение
- Радио
Память компьютера
В вычислительной технике под памятью понимаются устройства, используемые для хранения информации для использования в компьютере. Термин «первичная память» используется для систем хранения данных, которые функционируют на высокой скорости (т. е. ОЗУ), в отличие от вторичной памяти, которая обеспечивает хранение программ и данных, доступ к которым медленный, но обеспечивает большую емкость памяти. При необходимости первичная память может быть сохранена во вторичной памяти с помощью метода управления памятью, называемого «виртуальной памятью». Архаичным синонимом памяти является хранилище. [10]
Энергозависимая память
DDR-SD-RAM, SD-RAM и две старые формы RAM.
Энергозависимая память – это компьютерная память, для хранения которой требуется питание. Большая часть современной полупроводниковой энергозависимой памяти представляет собой статическое ОЗУ (см. SRAM) или динамическое ОЗУ (см. DRAM). SRAM сохраняет свое содержимое до тех пор, пока подключено питание, и к ней легко подключиться, но она использует шесть транзисторов на бит. Динамическое ОЗУ сложнее в интерфейсе и управлении и требует регулярных циклов обновления, чтобы предотвратить потерю его содержимого. Однако DRAM использует только один транзистор и конденсатор на бит, что позволяет достичь гораздо более высокой плотности и, с большим количеством битов на микросхеме памяти, быть намного дешевле в расчете на бит. SRAM не подходит для системной памяти настольных компьютеров, где преобладает DRAM, но используется для их кэш-памяти. SRAM является обычным явлением в небольших встроенных системах, которым может потребоваться всего несколько десятков килобайт или меньше. Будущие технологии энергозависимой памяти, которые надеются заменить или конкурировать с SRAM и DRAM, включают Z-RAM, TTRAM, A-RAM и ETA RAM.
Читайте также: