Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_конспект, тесты 1-4.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
105.47 Кб
Скачать

Режимы управления вводом-выводом:

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

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

Закрепленные устройства – предоставляются некоторому вычислительному процессу на всё его время жизни (например, устройства с последовательным доступом)

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

Спулинг(Spooling – Simultaneous Peripheral Operation On-Line) – ввод-вывод с буферизацией, имитация работы с устройством в режиме непосредственного подключения, создание видимости разделения устройства, являющегося фактически устройством с последовательным доступом, использующимся только монопольно и закрепленным за процессом; более узкое понятие, чем «виртуальное устройство».

Спулинг подходит для символьных и блочных устройств ввода-вывода.

Если каждому вычислительному процессу представляется виртуальное устройство(принтер), то поток символов идет сначала в спул-файл.

Системные процессы, которые управляют спул-файлом – спулеры чтения(Spool-reader) или спулеры записи (Spool-writer).

Локальный спул-файл – файл на компьютере, к которому присоеденен принтер.

Сетевой принтер – некоторый локальный принтер, предоставленный сети. Компьютер, предоставляющий его – принт-сервер.

Буферизированный ввод-вывод:

Буферизация – метод сглаживания всплесков количества запросов на ввод-вывод и является актуальной как для блочных, так и символьных устройств. Буферизация увеличивает производительность ОС и отдельны процессов/потоков. Однако, при слишком частой буферизации и увеличении числа буферов производительность уменьшается.

Буферизированный ввод-вывод – методика, при которой для увеличения эффективности ввода-вывода ввод данных может выполняться заранее, до реального запроса, а вывод данных немного позже реального запроса.

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

Буферизация в ядре с последующим копированием в пространство пользователя – схема буферизированного ввода-вывода, предусматривающая создание буфера внутри ядра после заполнения которого при необходимости вводится страница с буфером пользователя.

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

Циклицеская буферизация – схема из множества буферов (более 2).

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