Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


ќрганизаци€ программного обеспечени€ ввода-вывода




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

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

ќчень близкой к идее независимости от устройств €вл€етс€ иде€ единообразного именовани€, то есть дл€ именовани€ устройств должны быть прин€ты единые правила.

ƒругим важным вопросом дл€ программного обеспечени€ ввода-вывода €вл€етс€ обработка ошибок. ¬ообще говор€, ошибки следует обрабатывать как можно ближе к аппаратуре. ≈сли контроллер обнаруживает ошибку чтени€, то он должен попытатьс€ ее скорректировать. ≈сли же это ему не удаетс€, то исправлением ошибок должен зан€тьс€ драйвер устройства. ћногие ошибки могут исчезать при повторных попытках выполнени€ операций ввода-вывода, например, ошибки, вызванные наличием пылинок на головках чтени€ или на диске. » только если нижний уровень не может справитьс€ с ошибкой, он сообщает об ошибке верхнему уровню.

≈ще один ключевой вопрос - это использование блокирующих (синхронных) и неблокирующих (асинхронных) передач. Ѕольшинство операций физического ввода-вывода выполн€етс€ асинхронно - процессор начинает передачу и переходит на другую работу, пока не наступает прерывание. ѕользовательские программы намного легче писать, если операции ввода-вывода блокирующие - после команды READ программа автоматически приостанавливаетс€ до тех пор, пока данные не попадут в буфер программы. ќ— выполн€ет операции ввода-вывода асинхронно, но представл€ет их дл€ пользовательских программ в синхронной форме.

ѕоследн€€ проблема состоит в том, что одни устройства €вл€ютс€ раздел€емыми, а другие - выделенными. ƒиски - это раздел€емые устройства, так как одновременный доступ нескольких пользователей к диску не представл€ет собой проблему. ѕринтеры - это выделенные устройства, потому что нельз€ смешивать строчки, печатаемые различными пользовател€ми. Ќаличие выделенных устройств создает дл€ операционной системы некоторые проблемы.

ƒл€ решени€ поставленных проблем целесообразно разделить программное обеспечение ввода-вывода на четыре сло€ (рисунок 2.30):

  • ќбработка прерываний,
  • ƒрайверы устройств,
  • Ќезависимый от устройств слой операционной системы,
  • ѕользовательский слой программного обеспечени€.

–ис. 2.30. ћногоуровнева€ организаци€ подсистемы ввода-вывода





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-05-08; ћы поможем в написании ваших работ!; просмотров: 541 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

∆изнь - это то, что с тобой происходит, пока ты строишь планы. © ƒжон Ћеннон
==> читать все изречени€...

2076 - | 1884 -


© 2015-2024 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.011 с.