Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Программный интерфейс ввода-вывода

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

Прерывания

Опрос устройств

Операционная система с помощью прерываний по таймеру организует опрос устройств – периодический анализ состояния каждого внешнего устройства. В процессе работы в состоянии устройств могли произойти изменения, например, пользователь установил флэшку в USB-порт, включил или выключил принтер и т.д. При опросе устройств ОС определяет состояние каждого устройства, которое может быть следующим:

  • command-ready – готово к выполнению команд;
  • busy – занато;
  • error – ошибка.

При выполнении ввода-вывода аппаратура организует цикл busy-wait ожидания ввода-вывода с устройством: если устройство занято, процесс ждет его освобождения.

Линия запросов на прерывания (interrupt request – IRQ) переключается устройством ввода-вывода, которое сигнализирует с помощью запроса на прерывание о начале или окончании ввода-вывода.

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

Работа с вектором прерываний основана на приоритетах внешних устройств, инициировавших прерывания.

На рис. 21.2 приведена схема ввода-вывода, управляемого прерываниями.

Рис. 21.2. Ввод-вывод, управляемый прерываниями.

В таблица 2 приведены номера прерываний в процессоре Intel Pentium.

Таблица 2. Tаблица номеров прерываний в процессоре Intel Pentium
Номер прерывания Описание
  ошибка при делении
  исключение при отладке
  прерывание по null
  точка остановки
  прерывание, обнаруженное INTO
  исключение по выходу за границы
  неверный код операции
  устройство недоступно
  двойное прерывание
  переполнение сегмента сопроцессора
  неверный сегмент состояния задачи
  сегмент отсутствует
  ошибка стека
  общее прерывание по защите
  отказ страницы
  (зарезервировано Intel, не использовать)
  ошибка в операции с плавающей точкой
  контроль выравнивания
  контроль аппаратуры
19-31 зарезервировано Intel, не использовать
32-255 маскируемые прерывания

Ввод-вывод с прямым доступом к памяти (DMA)

Как уже отмечалось ранее, при традиционной организации ввода-вывода контроллер устройства использует собственную буферную память, что приводит к необходимости двойной пересылки данных – сначала процессор пересылает данные в буфер, созданный ОС, затем ОС пересылает данные в буфер устройства. Ввод-вывод с прямым доступом к памяти (Direct Memory Access – DMA) - более эффективная схема организации ввода-вывода, основанная на использовании фрагмента основной памяти в качестве буфера устройства для выполнения ввода-вывода. Схема.используется с целью избежать программируемого ввода-вывода для больших пересылок данных. Схема требует специальной аппаратуры – DMA-контроллера – в настоящее время такие контроллеры приобретают все более широкое распространение. DMA позволяет избежать участия процессора в пересылках больших объемов данных непосредственно между устройством ввода-вывода и памятью.

На рис. 21.3 приведена схема организации DMA.

Рис. 21.3. Процесс выполнения ввода-вывода по схеме DMA.

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

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

Более низкий уровень, уровень драйверов устройств, скрывает различия между контроллерами ввода-вывода конкретных устройств от ядра ОС.

Устройства ввода-вывода различаются по многим параметрам в силу их специфики, например:

  • Устройство для работы с потоками символов или с блоками;
  • Устройство последовательного или прямого доступа;
  • Разделяемое или специализированное (монополизируемое) устройство;
  • Различия по скорости выполнения операций устройствами;
  • Устройство для чтения/записи, или только для чтении, или только для записи.

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

Рис. 21.4. Структура модулей ввода-вывода в ядре ОС.

Классификация устройств ввода-вывода по различным характеристикам и их примеры приведены в таблица 3.

Таблица 3. Характеристики устройств ввода-вывода
классификация варианты примеры
режим передачи данных
  • символьный
  • блочный
  • терминал
  • диск
метод доступа
  • последовательный
  • произвольный
  • модем
  • CD-ROM
метод передачи данных
  • синхронный
  • асинхронный
  • лента
  • клавиатура
возможность совместного доступа
  • монопольный
  • общий
  • лента
  • клавиатура
скорость устройства
  • латентность
  • время поиска
  • скорость передачи
  • задержка между операциями
 
направленнность ввода-вывода
  • только чтение
  • только запись
  • чтение-запись
  • CD-ROM
  • графический контроллер
  • диск
<== предыдущая лекция | следующая лекция ==>
Основные концепции | Сетевые устройства существенно отличаются от блочных и символьных; имеют свой собственный интерфейс и систему команд
Поделиться с друзьями:


Дата добавления: 2013-12-13; Просмотров: 1015; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.