Предоставление унифицированного интерфейса для драйверов устройств

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

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

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

Драйвер Драйвер Драйвер Драйвер Драйвер Драйвер

диска принтера клавиатуры диска принтера клавиатуры

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

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

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

Другим аспектом использования унифицированного интерфейса является способ присвоения имен устройствам ввода-вывода. Независимое от устройств программное обеспечение берет на себя отображение символических имен устройств на соответствующие драйверы. Например, в системе UNIX имя устройства, такое как /dev/disk0, однозначно определяет ^узел для специального файла, и этот Ьузел содержит старший номер устройства, который используется для определения соответствующего драйвера. В Ьузле содержится также младший номер устройства, который передается в качестве параметра драйверу, чтобы определить конкретное устройство для проведения операции чтения или записи. У всех устройств есть старший и младший номера, и доступ ко всем драйверам осуществляется с использованием старшего номера, по которому происходит выбор драйвера.

С присвоением имен тесно связан вопрос защиты. Как система препятствует доступу пользователей к тем устройствам, к которым они не имеют права доступа? Как в UNIX, так и в Windows устройства появляются в файловой системе в виде поименованных объектов, что означает распространение обычных правил защиты файлов также на устройства ввода-вывода. Системный администратор может в таком случае установить соответствующие права доступа для каждого устройства.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Предоставление унифицированного интерфейса для драйверов устройств:

  1. Г. Упражнение для предоставления наставникам вашего поля для работы.
  2. Драйвер Счастья в Работе:
  3. Статья 265-1. Незаконное изготовление ядерного взрывного устройства или устройства, которое рассеивает радиоактивный материал или излучает радиацию
  4. Джеф Раскин. Интерфейс: новые направления в проектировании компьютерных систем, 2005
  5. Раскин Джефф. Интерфейс: новые направления в проектировании компьютерных систем, 2005
  6. 3. Права и обязанности по поводу предоставления материалов и оборудования, необходимых для работы.
  7. Статья 414. Права и обязанности собственника земельного участка, предоставленного для застройки
  8. Статья 408. Срок договора о предоставлении права пользования чужим земельным участком для сельскохозяйственных потребностей
  9. Статья 409. Права и обязанности собственника земельного участка, предоставленного в пользование для сельскохозяйственных потребностей
  10. § 65 Предоставление имения в собственность под условием ожидаемого события. – Может ли имение оставаться в неизвестности о лице собственника? – Предоставление имения неродившемуся лицу.
  11. § 65 Компания на акциях. – Первоначальное управление. Выбор правления. – Общее собрание акционеров. – Состав его, созыв, предметы обсуждения, порядок решения. – Отчетность и контроль. – Прекращение компании и ликвидация. – Ограничение в устройстве компаний для банковых операций. – Предполагаемые преобразования. – Иностранные компании. – Товарищество взаимного кредита и другие союзы взаимного содействия.
  12. Раздел V. Федеративное устройство
  13. § 6. Государственное устройство
  14. § 2. Форма государственного (территориально-политического) устройства
  15. § 5. Политико-территориальное устройство. Организация власти на местах
  16. Устройство мира