Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы СисПО.doc
Скачиваний:
14
Добавлен:
27.09.2019
Размер:
2.93 Mб
Скачать
  1. Режимы управления вводом/выводом. Основные системные таблицы ввода/вывода

РЕЖИМЫ УПРАВЛЕНИЯ ВВОДОМ/ВЫВОДОМ. ОСНОВНЫЕ

СИСТЕМНЫЕ ТАБЛИЦЫ ВВОДА/ВЫВОДА

2.1. Режимы управления вводом/выводом

Имеются два основных режима ввода/вывода:

1) режим обмена с опросом готовности УВВ;

2) режим обмена с прерываниями.

В режиме обмена с опросом готовности УВВ управление вводом/выводом осуществляет центральный процессор (рис. 2).

Рис. 2. К пояснению управления вводом/выводом

В этом случае имеет место программный канал обмена данными между внешними устройствами и оперативной памятью. ЦП посылает устройству управления команду выполнить некоторое действие устройству ввода/вывода. Последнее исполняет команду, транслируя сигналы, понятные центральному процессору и устройству управления в сигналы, понятные УВВ.

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

Гораздо выгоднее выдав команду ввода/вывода на время «забыть» об УВВ и перейти на выполнение другой программы, а появление сигнала готовности трактовать как запрос на прерывание от УВВ.

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

Максимальный интервал времени, в течение УВВ или его контроллер должны выдать сигнал запроса на прерывание, называют установкой тайм-аута. Если это время истекло после выдачи устройству очередной команды, а устройство так и не ответило, то делается вывод о том, что связь с устройством потеряна и управлять им больше нет возможности. Пользователь и/или задача получают соответствующее диагностическое сообщение.

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

Понятие виртуального устройства основывается на понятии SPOOLing (simultaneous peripheral operation on-line – имитация работы с устройством в режиме «он-лайн»).

Главная задача спулинга создать видимость параллельного разделения УВВ с последовательным доступом, которое фактически должно использоваться только монопольно.

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