Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

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

Ключевыми принципами организации ПО ввода-вывода являются:

· Независимость от устройств. Вид программы не должен зависеть от того, читает ли она данные с гибкого диска или с жесткого диска. Каждому устройству присваивается свое логическое имя (в MSDOS – LPT, PRN, COM1, COM2 и т. д.). Для именования устройств должны быть приняты единые правила.

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

· Использование блокирующих (синхронных) и неблокирующих (асинхронных) передач. Большинство операций физического ввода-вывода выполняется как неблокирующие. При этом процессор, выдав команду на передачу данных, переходит на другую работу, пока не наступает прерывание. Это обеспечивает более полное использование процессора. При блокирующей передаче после поступления команды READ программа приостанавливается до тех пор, пока данные не попадут в буфер программы. Пользовательские программы намного легче писать, если операции ввода-вывода блокирующие. Поэтому ОС выполняет операции ввода-вывода как неблокирующие, но представляет их для пользовательских программ как блокирующие.

· Устранение проблем при работе с выделенными устройствами. Устройства ввода-вывода могут быть разделяемыми и выделенными. Диски – это разделяемые устройства, так как одновременный доступ нескольких пользователей к диску не представляет собой проблему. Принтеры – это выделенные устройства, потому что нельзя смешивать строчки, печатаемые различными пользователями.

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

Рис. 6.1. Многоуровневая организация подсистемы ввода-вывода





Дата публикования: 2015-01-26; Прочитано: 3493 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...