- •Обслуживание ввода – вывода
- •Организация ввода-вывода
- •Структура контроллера устройства
- •Понятие драйвера пу
- •Синхронный ввод-вывод
- •Асинхронный ввод-вывод
- •Буферный ввод-вывод
- •3. Последовательность операций, выполняемых каналом ввода - вывода Опрос устройств и прерывания. Исключительные ситуации и системные вызовы
- •4. Канальная программа
- •7. Очередь запросов на ввод - ывывод Блокирующиеся, неблокирующиеся и асинхронные системные вызовы
- •8. Алгоритм обработки прерываний по вводу- выводу
- •9. Примеры управления вводом - выводом Алгоритмы планирования запросов к жесткому диску
- •Строение жесткого диска и параметры планирования
- •Алгоритм First Come First Served (fcfs)
- •Алгоритм Short Seek Time First (sstf)
- •Алгоритмы сканирования (scan, c-scan, look, c-look)
Обслуживание ввода – вывода
Одной из главных функций ОС является управление всеми устройствами ввода-вывода компьютера. ОС должна передавать устройствам команды, перехватывать прерывания и обрабатывать ошибки; она также должна обеспечивать интерфейс между устройствами и остальной частью системы. В целях развития интерфейс должен быть одинаковым для всех типов устройств (независимость от устройств).
Операцией ввода-вывода называют передачу информации между процессором или памятью компьютера и любыми другими устройствами, которые по причине конструктивного отделения от процессора принято называть периферийными. К ним прежде всего относятся:
– внешние запоминающие устройства (жесткие, гибкие, лазерно-оптические диски и др.);
– устройства ввода информации (клавиатура, сканер, мышь, модем и др.);
– устройства вывода информации (монитор, принтер, графопостроитель и др.)
Устройства ввода-вывода делятся на два типа: блок-ориентированные устройства и байт-ориентированные устройства.
Блок-ориентированные устройства хранят информацию в блоках фиксированного размера, каждый из которых имеет свой собственный адрес. Самое распространенное блок-ориентированное устройство - диск.
Байт-ориентированные устройства не адресуемы и не позволяют производить операцию поиска, они генерируют или потребляют последовательность байтов. Примерами являются терминалы, строчные принтеры, сетевые адаптеры. Однако некоторые внешние устройства не относятся ни к одному классу, например, часы, которые, с одной стороны, не адресуемы, а с другой стороны, не порождают потока байтов. Это устройство только выдает сигнал прерывания в некоторые моменты времени.
Передачей информации управляет ЦП. В простейшем случае специальная инструкция процессора позволяет передавать информацию между ПУ и регистром процессора, который в таком случае оказывается занятым в течение всей передачи. Забота об эффективном использовании процессора привела к автономии ПУ, которым стали передаваться функции управления, а за процессором сохранялась инициатива запуска и контроля операций.
Организация ввода-вывода
В настоящее время наиболее
распространена схема организации
ввода-вывода, изображенная на рисунке.
Контроллер представляет собой устройство управления, приспособленное к заданному типу внешних устройств, например, контроллер жестких или гибких дисков. Главный интерес здесь заключается в том, чтобы разделить контроллер и устройство и связать устройства одного типа с одним единственным контроллером. В этом случае передача информации в каждый момент времени осуществляется только с одним устройством. На других устройствах в это время можно одновременно выполнять лишь те действия, которые не связаны с непосредственной передачей информации. В связи с этим мы можем наблюдать заметное замедление при обмене двух устройств, обслуживаемых одним контроллером. Разделение функций между контроллером и ПУ зависит от типа ПУ. Как правило, логические функции (соединение и синхронизация операций, передача сигналов об окончании работы) предоставляются контроллеру, а физические (передача) – устройству.
Совокупность контроллер – ПУ определяет интерфейс группы устройств. В системе невозможно обслуживание ПУ, которое подключено к контроллеру с отличным от предусмотренного для него интерфейса.