КАТЕГОРИИ: Архитектура-(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) |
Принципы построения обработчиков прерываний ввода-вывода
Уровни программного обеспечения ввода-вывода. Абстрагирования ввода вывода. Понятие HAL. Принципы создания программного обеспечения вводом-выводом. Асинхронная, синхронный способ передачи данных. Основные задачи, которые должны решать программное обеспечение ввода-вывода: 1. Независимость от устройств. Пример: Программа читающая данные из файла не должна задумываться с чего она читает. 2. Единообразное именование. Пример. Имя файла или устройства не должна отмечаться. 3. Обработка ошибок. Пример ошибки могут быть отслежены на уровне в контроллере, в драйверах и т.д. 4. Перенос данных Синхронный Асинхронный (Процессор запускает перенос данных и переключается на др. задачи до прерывания) 5. Буферизация 6. Проблема выделенных (принтер) и не выделенных (диск) Принтер должен предоставляться только одному пользователю, а диск многим. ОС должна решать все возникающие вопросы. Для решения поставленных проблем нужно разделить программное обеспечение ввода-вывода на 4 слоя:
Хотя большая часть программного обеспечения ввода-вывода находится внутри ОС, некоторая его часть содержится в библиотеках, связываемых с пользовательскими программами. Системные вызовы, включающие вызовы ввода-вывода, обычно делаются библиотечными процедурами.
После того как устройство ввода-вывода начало работу, процессор переключается на другие задачи. Чтобы сигнализировать процессору об окончании работы, устройство инициализирует прерывание, выставляя сигнал на выделенную устройству линию шины (а не выделенный провод). Когда происходит прерывание, то все необходимое для его обработки делает процедура - обработчик прерывания. Затем она может разблокировать запустивший ее драйвер. В ряде случаев она просто выполяет процедуру up на семафоре. В других случаях она вызывает процедуру signal для переменной условия в мониторе. Во всех остальных случаях она посылает заблокированному драйверу сообщение. Кроме этого программное обеспечение выполняет следующие шаги.
Дата добавления: 2015-06-25; Просмотров: 634; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |