Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы 2008 / Госы2.doc
Скачиваний:
75
Добавлен:
29.05.2015
Размер:
986.62 Кб
Скачать

Вопрос 20 - Программные средства управления внешними устройствами. Драйвер – назначение и структура

Драйвер устройства - это программа, которая построена по определенным правилам и обеспечивают правильную работу устройств. Правила определяют специальную структуру программы драйвера устройств.

С помощью драйверов устройств операционная система управляет периферийным оборудованием компьютера. Стандартные драйверы устройств образуют часть операционной системы.

Взаимодействие OС с драйвером

При вызове операционной системой драйвера она передает ему пакет данных. Такой пакет данных называется заголовком запроса. Он содержит сведения о том, что необходимо делать драйверу и где найти необходимые данные. Например, если необходимо записать символ в последовательный порт, то нужно указать команду записи и записываемый символ (данные), т.е. OС должна передать драйверу команду и данные.

Структура заголовка запроса

Номер

Длина

Описание

1

1 байт

длина пакета, т.е. длина в байтах конкретного заголовка запроса;

2

1 байт

номер устройства;

3

1 байт

номер команды (код);

4

2 байта

слово состояния - 16 битовое слово, каждый бит которого несет информацию об успешном или (конкретно) неуспешном окончании

5

8 байт

зарезервировано для ОС;

6

переменная длина

адреса данных - зависит от команды, находящейся в 3-ем элементе

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

Операционная система автоматически создает заголовок запроса, когда прикладная программа (программа пользователя) осуществляет запрос на обслуживание, требующий использование драйвера устройства.

Структура программы драйвера

Программа драйвера устройства состоит из пяти следующих частей.

  • Заголовок устройства.

  • Область данных и локальных процедур.

  • Процедура стратегии.

  • Процедура прерывания.

  • Обработка команд.

Заголовок устройства для ОС

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

Процедуры Стратегия и Прерывание

Эти две процедуры объединяются для обработки каждой команды, которые передает ОС драйверу устройства. Всякий раз, когда ОС просит драйвер обработать команду, например, произвести считывание или запись, она вызывает его дважды. В первый раз она передает управление процедуре Стратегия, второй - процедуре Прерывание.

Можно считать процедуру Стратегия инструкциями, которые производят подготовку и инициализацию драйвера, а процедуру Прерывание – для обработки командного запроса из ОС.

Соседние файлы в папке госы 2008