Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС / Тема_4.ppt
Скачиваний:
256
Добавлен:
11.04.2015
Размер:
5 Мб
Скачать
☆

Контроллер

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

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

11

4.2. Основные функции подсистемы ввода-вывода

Основные компоненты: драйверы, файловая система, система прерываний, супервизор ввода-вывода

Драйверы управляют внешними устройствами. В работе подсистемы ввода-вывода активно

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

Файловая система - это основное хранилище информации в любом компьютере.

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

12

4.2. Основные функции подсистемы ввода-вывода

Она активно использует остальные части подсистемы ввода-вывода.

Кроме того, модель файла лежит в основе большинства механизмов доступа к периферийным устройствам.

Супервизор ввода-вывода – это компонентом операционной системы, который управляет вводом-выводом.

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

13

4.2. Основные функции подсистемы ввода-вывода

Самый главный принцип организации ввода вывода в мультизадачных ОС

Любые операции по управлению вводом- выводом объявляются привилегированными и могут выполняться только кодом самой операционной системы.

Как правило, в режиме супервизора (режим ядра) выполнение команд ввода-вывода разрешено, а в пользовательском режиме — запрещено.

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

14

4.2. Основные функции подсистемы ввода-вывода

Самый главный принцип организации ввода вывода в мультизадачных ОС

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

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

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

15

4.2.1.Основные функции подсистемы ввода-вывода

1.Организация параллельной работы устройств ввода- вывода и процессора.

2.Согласование скоростей обмена и кэширование данных.

3.Разделение устройств и данных между процессами.

4.Обеспечение удобного логического интерфейса между устройствами и остальной частью системы.

5.Поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера.

6.Динамическая загрузка и выгрузка драйверов.

7.Поддержка нескольких файловых систем.

8.Поддержка синхронных и асинхронных операций ввода- вывода.

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

16

4.2.1. Основные функции подсистемы ввода-вывода

Основные задачи, возлагаемые на супервизор

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

2.Супервизор ввода-вывода получает запросы на ввод-вывод от супервизора задач или от программных модулей самой операционной системы.

3.Супервизор ввода-вывода вызывает соответствующие распределители каналов и контроллеров, планирует ввод-вывод (определяет очередность предоставления устройств ввода-вывода задачам, затребовавшим эти устройства). Запрос на ввод-вывод либо тут же выполняется, либо ставится в очередь на выполнение.

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

17

4.2.1. Основные функции подсистемы ввода-вывода

Основные задачи, возлагаемые на супервизор

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

5.При получении сигналов прерываний от устройств ввода-вывода супервизор идентифицирует эти сигналы и передает управление соответствующим программам обработки прерываний.

6.Супервизор ввода-вывода осуществляет передачу сообщений об ошибках, если таковые происходят в процессе управления операциями ввода-вывода.

7.Супервизор ввода-вывода посылает сообщения о завершении операции ввода-вывода запросившей эту операцию задаче и снимает ее с состояния ожидания ввода-вывода, если задача ожидала завершения операции.

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

18

4.2.2. Организация параллельной работы устройств ввода-вывода и процессора

Эволюция ввода – вывода

1.Процессор непосредственно управляет периферийным устройством.

2.Устройство управляется контроллером. Процессор использует программируемый ввод - вывод без прерываний (переход к абстракции интерфейса ввода - вывода) – режим обмена с опросом готовности.

3.Использование контроллера прерываний. Ввод-вывод, управляемый прерываниями – режим обмена с прерываниями.

4.Использование модуля (канала) прямого доступа к памяти. Перемещение данных в память (из нее) без использования процессора.

5.Использование отдельного специализированного процессора ввода- вывода, управляемого центральным процессором.

6.Использование отдельного компьютера для управления устройствами ввода-вывода при минимальном вмешательстве центрального процессора.

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

19

Текущая команда программы

1.Программируемый ввод-вывод

без прерываний

 

 

 

 

 

 

 

 

Системный вызов для выполнения

 

Процессор

посылает

операции ввода-вывода

необходимые команды контроллеру

 

 

Вызов драйвера

устройства

ввода-вывода

и

переводит

процесс

в

состояние

 

 

Запрос состояния контроллера

ожидания

завершения

операции

ввода-вывода.

 

Контроллер

ввода-вывода

 

Не готов

 

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

 

сигналы управления

устройством

 

Проверка

 

ввода вывода.

 

 

 

 

 

состояния

 

 

 

 

Готов

Ошибка

После

выполнения

команды

Получить слово от

устройством его контроллер выдает

контроллера ввода-вывода

сигнал готовности.

 

 

 

 

 

Процессор

(через

драйвер

Записать слово в память

устройства)

периодически

 

 

проверяет

состояние

устройства

Нет

Да

ввода вывода

с целью

проверки

Все выполнено ?

завершения операций ввода вывода

 

Следующая команда

 

и готовности к принятию новой

 

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

команды

 

 

 

20

 

 

 

 

 

 

 

 

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