Интерфейс внешних устройств. Драйверы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Интерфейс внешних устройств. Драйверы



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

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

В связи с этим наиболее приемлемым решением проблемы взаимодействия программ и ВУ является перекладные функции непосредственного взаимодействия с ВУ на ОС. ОС должна содержать модули, умеющие работать с каждым конкретным ВУ, а программа должна работать с ВУ через API ОС. Интерфейс внешних устройств реализуется в ОС с помощью специального вида программ, называемых драйверами. Драйвер – это программа, которая обеспечивает взаимодействие между ВУ определенного типа и операционной системой.

ОС имеет строго заданный стандарт на перечень функций, которые должно выполнять устройство того или иного типа и на порядок взаимодействия с таким ВУ (то есть обобщенные интерфейс ВУ данного типа). Фактически, этот интерфейс описывает некоторое виртуальное устройство, с которым и работает ядро системы.

Драйвер пишется так, сто та его часть, с которой взаимодействует ядро ОС, полностью соответствует заданному интерфейсу виртуального ВУ. Драйвер принимает от ОС команды в стандартизированном виде, перекодирует их в команды конкретного вида ВУ и передает в ОС данные от ВУ также в стандартном формате. ОС может работать с любым ВУ, для которого имеется драйвер, реализующий стандартный протокол взаимодействия. Ядро ОС, а значит и прикладные программы, использующие API, работают с ВУ через драйвер. В результате они могут общаться с ВУ, не зная ничего о его конкретном типе, наборе команд и прочих особенностях.

Более того, некоторые функции, поддерживаемые драйвером, устройство может вообще не реализовать аппаратно. Если, в соответствии с протоколом, в данной ОС устройство данного типа обязано реализовать данную функцию, то эта функция может быть реализована не самим устройством, а его драйвером. Впрочем, и такое поведение драйвера вовсе не обязательно. Часто бывает, что ряд функций ВУ считается необязательным. Для таких функций предусматриваются средства проверки, с помощью которых обращаются к драйверу программа (или ядро ОС) могут определить поддерживается ли определенная функция. Если необходимая функция поддерживается, она используется, а если нет, то программа должна самостоятельно решить эту проблему.

Так, например, если видеоадаптер компьютера не поддерживает возможности рисования ломанных линий, но ОС требует, что такая функция была, драйвер может перекодировать запрос на рисование ломанной линии в набор из нескольких запросов на рисование отрезков и именно этот набор передать устройству. Естественно, такая реализация даст худшую производительность, чем на устройстве, аппаратно поддерживающем рисование ломанных, однако, функция все-таки будет реализована, и устройство можно будет использовать. С другой стороны, драйвер может просто отказаться рисовать ломанные. Ели функция вывода ломанных не является обязательной, система, прежде чем ее использовать, должна проверить, поддерживается ли она используемым устройством, и если нет, то выполнить рисование ломаной отрезками самостоятельно.



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 31; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.105.108 (0.004 с.)