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

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

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

Операционные системы

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

лектор: Дроздов Сергей Николаевич

доцент кафедры МОП ЭВМ ЮФУ

dr@pochtamt.ru _dr@mail.ru

Таганрог 2012 г.

2

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

Основные задачи управления устройствами

Классификация периферийных устройств и их архитектура

Прерывания

Архитектура подсистемы ввода/вывода

Способы организации ввода/вывода

Буферизация и кэширование

Драйверы устройств

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

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

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

3

Основные задачи управления устройствами

Периферийные (внешние) устройства (ПУ) – всё, кроме процессора и основной памяти.

Задачи управления ПУ:

обеспечение надежной работы ПУ;

обеспечение эффективности работы (по скорости и по памяти);

возможность легкого подключения новых устройств:

стандартизация работы программ с ПУ.

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

4

Классификация ПУ и их архитектура

Программная архитектура:

совокупность тех структурных особенностей, которые влияют на работу программ с устройством.

Классификация

По типу доступа:

последовательного доступа (sequential access);

произвольного доступа (random access).

По минимальной единице обмена:

символьные (байтовые);

блочные.

По характеру:

физические;

логические;

виртуальные.

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

5

Прерывания

Прерывания

Это сигналы, при поступлении которых нормальная последовательность выполнения программы может быть прервана.

Система запоминает информацию, необходимую для возобновления работы прерванной программы.

Управление передается подпрограмме обработки прерывания (ISR, Interrupt Service Routine).

По завершению обработки прерывания работа программы возобновляется (как правило).

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

6

Прерывания

Основные типы прерываний:

аппаратные прерывания от периферийных устройств;

внутренние аппаратные прерывания (исключения, exceptions);

программные прерывания.

Обработка прерываний:

выполняется только системой (за исключением однозадачных ОС).

Векторные прерывания:

адреса ISR хранятся в массиве, номер прерывания – индекс в этом массиве.

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

7

Прерывания

Прерывания от ПУ генерируются в двух случаях:

при переходе ПУ в состояние готовности;

при возникновении ошибки выполнения операции.

Состояние готовности – когда ПУ ожидает команд от процессора. А именно:

при вводе – когда введены данные, требующие обработки (например, нажата клавиша);

при выводе – когда устройство готово принять данные (закончило предыдущую операцию или только что включено).

Обработка прерываний от всех или некоторых ПУ может быть временно запрещена, чтобы не помешать системным операциям. Как правило, запрет длится не более нескольких миллисекунд.

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

8

Прерывания

Внутренние прерывания (исключения):

при попытке выполнить несуществующую или недоступную в данном режиме команду;

при обращении к несуществующей или недоступной данному процессу ячейке памяти;

при делении на 0;

и т.п.

Обработка исключений не может быть

запрещена.

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

9

Прерывания

Программные прерывания:

вызываются выполнением специальной команды;

это похоже на вызов подпрограммы, но указывается не адрес, а номер прерывания (при этом система может изменить адрес используемой ISR);

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

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

10

Архитектура подсистемы ввода/вывода

Устройство обычно представлено одним или несколькими регистрами.

Регистр данных – служит для обмена данными (чтения и записи);

Регистр управления и состояния;

биты состояния – передача процессору текущего состояния устройства (готовность, наличие ошибки, сигнал прерывания);

биты управления – от процессора к ПУ: задание режима работы, определение адресов ввода/вывода, запрет/разрешение

прерываний, запуск операции.

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