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

Многослойная модель подсистемы ввода-вывода



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

Многослойность структуры, безусловно, облегчает решение большинства перечис­ленных в предыдущем разделе задач подсистемы ввода-вывода. Обобщенная структура подсистемы ввода-вывода показана на рис. 4.9 [28]. Как видно из рисунка, программное обеспечение подсистемы ввода-вывода делится не только на горизонтальные слои, но и на вертикальные. В данном случае в качестве примера приведены три вертикальные подсистемы управления дисками, графическими устройствами и сетевыми адаптерами. Естественно таких подсистем может быть больше. Например сюда можно добавить под­систему управления текстовыми терминалами или подсистему управления специали­зированными устройствами, такими как аналого-цифровые и цифро-аналоговые преоб­разователи.

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

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

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

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

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

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

Еще одной функцией менеджера ввода-вывода является организация взаимодейст­вия модулей ввода-вывода с модулями других подсистем ОС, таких как подсистема уп­равления процессами, виртуальной памятью и другими.

Задачи файловой системы. Основные понятия

Файл – поименованная совокупность данных, хранящаяся на каком-либо носителе информации.

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

Запись представляет набор связанных полей. Запись воспринимается прикладной программой как единое целое; при обработке записи возможно изменение тех или иных ее полей.

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

Файловая система является частью ОС системы и включает:

¾ совокупность всех файлов на различных носителях информации

¾ наборы структур данных, используемых для управления файлами (каталоги файлов, таблицы распределения свободного и занятого пространства носителей информации)

¾ комплекс системных программных средств, реализующих различные операции над файлами (создание, чтение, запись, уничтожение, изменение свойств)

Файл имеет ряд признаков, которые его характеризуют. Эти признаки называются атрибутами файла, их порядка 16.

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

Среди других атрибутов можно выделить: текущий размер файла; владелец файла; системный, архивный или скрытый файл.

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

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

В каталоги могут входить файлы и другие каталоги. При таком построении формируется древовидная структура.

Специальные файлы – фиктивные файлы, которые ассоциированы с устройствами ввода-вывода. Они используются для унификации доступа к последующим устройствам ввода-вывода.

Именованные конвейеры (каналы) – циклические буферы, позволяющие выходной файл одной программы соединить со входным файлом другой программы.

Отображаемые файлы – это обычные файлы, отображаемые на адресное пространство процессора по указанному виртуальному адресу.





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



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