Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы по ОС.docx
Скачиваний:
46
Добавлен:
16.04.2015
Размер:
63.9 Кб
Скачать

Обеспечение удобного логического интерфейса между устройствами и приложениями

Практически все современные ОС поддерживают в качестве основы такого интерфейса файловую модель периферийных устройств, когда любое устройство выглядит для прикладного программиста последовательным набором байт, с которым можно работать с помощью унифицированных системных вызовов (например, read и write), задавая имя файла-устройства и смещение от начала последовательности байт. Для поддержания такого интерфейса подсистема ввода-вывода должна проделать немалую работу, учитывая разницу в организации операций обмена данными, например, с жестким диском и графическим терминалом.

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

Поддержка широкого спектра драйверов и включение нового драйвера в систему

Достоинством подсистемы ввода-вывода любой универсальной ОС является наличие разнообразного набора драйверов для наиболее популярных периферийных устройств.

Чтобы операционная система не испытывала недостатка в драйверах, необходимо наличие четкого, удобного и открытого интерфейса между драйверами и другими компонентами ОС. Для поддержки процесса разработки драйверов операционной системы выпускается так называемый пакет DDK (Driver Development Kit), представляющая собой набор инструментальных средств – библиотек, компиляторов и отладчиков

Поддержка синхронных и асинхронных операций ввода-вывода

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

Подсистема ввода-вывода должна предоставлять своим клиентам (пользовательским процессам и кодам ядра) возможность выполнять как синхронные, так и асинхронные операции ввода-вывода, в зависимости от потребностей вызывающей стороны.

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

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

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

Высокоуровневые драйверы оформляются по тем же правилам и придерживаются тех же внутренних интерфейсов, что и аппаратные драйверы. Они не вызываются по прерываниям, так как взаимодействуют с управляемым устройством через посредничество аппаратных драйверов.

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

Файлы

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

Файл – это поименованная область на диске. В файлах хранится различного рода информация

Файловая система – это набор соглашений, определяющих организацию данных на магнитных носителях.

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

В любую ОС входит подсистема СУФ (система управления файлами) - комплекс системных программных средств, реализующих организацию файлов в определенную систему, позволяющая выполнять операции над файлами, такие как создание, удаление, запись, поиск и др.

Эта система управления файлами будет работать только с той ОС, для которой она создана, но при этом она позволит работать с файлами, созданными с помощью системы управления файлами другой ОС, работающей с той же файловой системой