- •Диспетчеризация прерываний в ос
- •16. Задачи ос по управлению устройствами ввода-вывод. Разделение устройств и данных между процессами
- •Согласование скоростей обмена и кэширование данных
- •Разделение устройств и данных между процессами
- •Обеспечение удобного логического интерфейса между устройствами и приложениями
- •Поддержка широкого спектра драйверов и включение нового драйвера в систему
- •Поддержка синхронных и асинхронных операций ввода-вывода
- •Многослойная модель подсистемы ввода-вывода
- •Имена файлов
- •Иерархическая структура файловой системы
- •Физическая и виртуальная геометрия диска. Компакт-диски
- •Логическая структура жесткого диска
- •Структура mbr
- •Примеры файловых систем. Cd-rom (iso 9660, udf), fat
- •Примеры файловых систем. Файловая система fat
- •Организация файловой системы ntfs
- •Режимы хранения информации на дисках
- •Высокоуровневое форматирование
- •Низкоуровневое форматирование
- •ExFat в современных операционных системах
Обеспечение удобного логического интерфейса между устройствами и приложениями
Практически все современные ОС поддерживают в качестве основы такого интерфейса файловую модель периферийных устройств, когда любое устройство выглядит для прикладного программиста последовательным набором байт, с которым можно работать с помощью унифицированных системных вызовов (например, read и write), задавая имя файла-устройства и смещение от начала последовательности байт. Для поддержания такого интерфейса подсистема ввода-вывода должна проделать немалую работу, учитывая разницу в организации операций обмена данными, например, с жестким диском и графическим терминалом.
Данная модель часто используется только в качестве базиса, над которым подсистема ввода-вывода строит более содержательную модель устройств конкретного типа.
Поддержка широкого спектра драйверов и включение нового драйвера в систему
Достоинством подсистемы ввода-вывода любой универсальной ОС является наличие разнообразного набора драйверов для наиболее популярных периферийных устройств.
Чтобы операционная система не испытывала недостатка в драйверах, необходимо наличие четкого, удобного и открытого интерфейса между драйверами и другими компонентами ОС. Для поддержки процесса разработки драйверов операционной системы выпускается так называемый пакет DDK (Driver Development Kit), представляющая собой набор инструментальных средств – библиотек, компиляторов и отладчиков
Поддержка синхронных и асинхронных операций ввода-вывода
Операция ввода-вывода может выполняться по отношению к программному модулю, запросившему операцию, в синхронном или асинхронном режимах. Синхронный режим означает, что программный модуль приостанавливает свою работу до тех пор, пока операция ввода-вывода не будет завершена. В асинхронном режиме программный модуль продолжает выполняться в мультипрограммном режиме одновременно с операцией ввода-вывода.
Подсистема ввода-вывода должна предоставлять своим клиентам (пользовательским процессам и кодам ядра) возможность выполнять как синхронные, так и асинхронные операции ввода-вывода, в зависимости от потребностей вызывающей стороны.
Многослойная модель подсистемы ввода-вывода
Существует большое разнообразие устройств ввода-вывода, обладающих существенно различными характеристиками (принтер и диски, графический монитор и сетевой адаптер и т. п.). Многослойное построение подсистемы ввода-вывода позволяет соблюдать баланс между двумя весьма противоречивыми требованиями: с одной стороны, необходимо учесть все особенности каждого устройства, а с другой стороны, обеспечить унифицированный интерфейс для устройств всех типов.
Постепенно, по мере развития операционных систем и усложнения структуры подсистемы ввода-вывода, наряду с традиционными драйверами в операционных системах появились так называемые высокоуровневые драйверы, которые располагаются в общей модели подсистемы ввода-вывода над традиционными драйверами. Появление высокоуровневых драйверов можно считать дальнейшим развитием идеи многослойной организации подсистемы ввода-вывода. Вместо того чтобы концентрировать все функции по управлению устройством в одном программном модуле, во многих случаях гораздо эффективней распределить их между несколькими модулями в соседних слоях иерархии. Традиционные драйверы, которые стали называть аппаратными драйверами, низкоуровневыми драйверами, или драйверами устройств, подчеркивая их непосредственную связь с управляемым устройством, освобождаются от высокоуровневых функций и занимаются только низкоуровневыми операциями. Количество уровней драйверов в подсистеме ввода-вывода обычно не ограничивается каким-либо пределом, но на практике чаше всего используют от двух до пяти уровней драйверов - слишком большое количество уровней может снизить скорость операций ввода-вывода.
Высокоуровневые драйверы оформляются по тем же правилам и придерживаются тех же внутренних интерфейсов, что и аппаратные драйверы. Они не вызываются по прерываниям, так как взаимодействуют с управляемым устройством через посредничество аппаратных драйверов.
Аппаратные драйверы после запуска операции ввода-вывода должны своевременно реагировать на завершение контроллером заданного действия, и для решения этой задачи они взаимодействуют с системой прерываний.
Файлы
Одной из задач ОС является предоставление удобного способа работы пользователя с данными. Для этого ОС заменяет физическую структуру хранящихся данных логической моделью, которая представляется в виде дерева каталогов, выводимого на экран утилитами (NC, Проводник). Информация на дисках хранится в файлах. Элементами этой структуры является файл и файловая система.
Файл – это поименованная область на диске. В файлах хранится различного рода информация
Файловая система – это набор соглашений, определяющих организацию данных на магнитных носителях.
Файловая система определяет, как хранятся файлы и каталоги, формат каталогов, как можно узнать, какие участки свободны, какие заняты. В файловую систему включены совокупность всех файлов диска и наборы информационных структур, используемых для управления файлами (каталоги, таблицы распределения файлов).
В любую ОС входит подсистема СУФ (система управления файлами) - комплекс системных программных средств, реализующих организацию файлов в определенную систему, позволяющая выполнять операции над файлами, такие как создание, удаление, запись, поиск и др.
Эта система управления файлами будет работать только с той ОС, для которой она создана, но при этом она позволит работать с файлами, созданными с помощью системы управления файлами другой ОС, работающей с той же файловой системой