Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Способы программирования устройств вводад-вывода. Пример, управление мышью




Способы буферизации. Обработка ошибок.

Важным аспектом ПО ввода-вывода является буферизация. Часто данные, поступающие с устройства, не могут быть сохранены сразу там, куда они в конечном итоге направляются. Например, когда пакет приходит по сети, ОС не знает, куда его поместить, пока не будет изучено его содержимое, для чего этот пакет нужно где-то временно сохранить. Кроме того, для многих устройств реального времени крайне важными оказываются параметры сроков поступления данных (например, для устройств воспроизведения цифрового звука), поэтому полученные данные должны быть помещены в выходной буфер заранее, чтобы скорость, с которой эти данные получаются из буфера воспроизводящей программой, не зависела от скорости заполнения буфера. Таким образом, удается избежать неравномерности воспроизведения звука. Буферизация включает копирование данных в значительных количествах, что часто является основным фактором снижения производительности операций ввода-вывода. Еще одним важным аспектом ПО ввода-вывода является обработка ошибок. Ошибки должны обрабатываться как можно ближе к аппаратуре. Если контроллер обнаружил ошибку чтения, он должен попытаться по возможности исправить эту ошибку сам. Если он не может это сделать, тогда эту ошибку должен обработать драйвер устройства, возможно, попытавшись прочитать этот блок еще раз. Многие ошибки бывают временными, как, например, ошибки чтения, вызванные пылинками на читающих головках. Такие ошибки часто исчезают при повторной попытке чтения блока. Только если нижний уровень не может сам справиться с проблемой, о ней следует информировать верхний уровень. Во многих случаях восстановление после ошибок может осуществляться на нижнем уровне, прозрачно для верхних уровней, то есть так, что верхние уровни даже не будут знать о наличии ошибок

Принципы организации ввода-вывода.

1) Физические принципы организации ввода-вывода

• Устройства ввода-вывода подключаются к системе через порты.

• Могут существовать два адресных пространства: пространство памяти и пространство ввода-вывода.

• Порты, как правило, отображаются в адресное пространство ввода-вывода и иногда — непосредственно в адресное пространство памяти.

• Использование того или иного адресного пространства определяется типом команды, выполняемой процессором, или типом ее операндов.

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

2) Логические принципы организации ввода-вывода

Структура системы ввода-вывода

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

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

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

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

Принципы программной реализации управления вводом-выводом.

Независимость от устройств; Единообразное именование устройств; Обработка ошибок (ошибки должны обрабатываться таким образом, что можно было бы повторить сбоенную операцию – программно или аппаратно);Использование буферизации (использование промежуточных буферов с целью не допустить влияние на функционирование ОС и пользовательской программы – как только промежуточный буфер заполнен – можно обрабатывать)Под буфером обычно понимается некоторая область памяти для запоминания информации при обмене данных между двумя устройствами, двумя процессами или процессом и устройством;Совместное использование устройств ввода/вывода (максимальная загрузка и параллелизм устройств ввода/вывода)

 

3 способа программирования устройства мыши:

  1. С использованием функций биос для прерывания int 15h
  2. С использованием аппаратных портов
  3. С использованием возможностей стандартного интерфейса Win32 API

Обычно возможностей Win API достаточно, если нужны расширенные возможности –доступ через функции биос или аппаратные порты. Использование портов-самый мощный способ доступа к мыши (нужно значить устройство мыши и иметь документацию на выбраннный стандарт например PS/2). Принцип работы мыши: данные со встроенного в мышь микропроцессора поступают на контроллен клавиатуры, находящийся на материнской плате. На этом этапе происходит также синхронизация последовательно передаваемых данных. Контроллер клавиатуры преобразует поступающую информацию и (посредством биос) передает эти данные драйверу мыши. Двунаправленный последовательный обмен данных между мышью и компьютером происходит через линию данных, в зависимости от сигнала синхронизации. (сразу линия синхронизации=0). Далее следует передача данных, линия данных устан-ся в 0, а линия синхронизации в 1. Данные передаются в след порядке: Стартовый бит (=0); 8 бит данных, начиная с младшего; 1 бит четности; Стоповый бит (=1)

 




Поделиться с друзьями:


Дата добавления: 2015-06-25; Просмотров: 510; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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