Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОС / 2. ОС - Управление устройствами

.pdf
Скачиваний:
57
Добавлен:
01.06.2015
Размер:
393.99 Кб
Скачать

51

Управление устройствами в UNIX

Драйверы устройств – символьные и блочные.

Для символьных устройств – только символьные драйверы.

Для блочных устройств – блочные и символьные драйверы.

Псевдоустройства – например, системная память (адреса которой недоступны программам пользователя)

Таблицы драйверов в основной памяти, отдельно для символьных и блочных:

строки таблицы соответствуют конкретным драйверам;

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

клетки таблицы содержат адреса точек входа для функций

драйвера.

Операционные системы. Управление устройствами

52

Управление устройствами в UNIX

Наиболее важные функции драйверов:

открытие устройства;

закрытие устройства;

обработка аппаратного прерывания (ввод/вывод порции данных, если устройство готово);

опрос готовности устройства (по таймеру, если прерывания не используются);

чтение данных;

запись данных;

вызов блока стратегии (постановка запроса в очередь; возможно, обращение к кэшу);

выполнение специальных функций.

Операционные системы. Управление устройствами

53

Управление устройствами в UNIX

Интересная выдумка UNIX: устройства представлены как специальные файлы.

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

В отличие от Windows, эти имена хранятся в одном из каталогов файловой системы, как и имена обычных файлов.

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

Старший номер – это номер строки в таблице драйверов.

Младший номер может иметь различный смысл, например, номер физического диска.

Операционные системы. Управление устройствами