Файловая система
Специальные файлы
Многоуровневые драйверы
Менеджеры ввода-вывода
В подсистеме ввода-вывода помимо модулей, отражающих специфику внешних устройств и образующих вертикальные подсистемы, существует модуль универсального назначения, который организует работу всех компонентов системы ввода-вывода, это менеджер ввода-вывода. Он образует некую оболочку.
Основные задачи менеджера:
1) системные вызовы ввода-вывода
2) взаимодействие с контроллером
3) поддержка внутреннего интерфейса взаимодействия модулей ввода-вывода
4) взаимодействие с другими модулями ОС
Пример: менеджер ввода-вывода Windows NT. Организует взаимодействие между модулями с помощью пакетов-запросов ввода-вывода IRP (I/O Request Packet)
Драйвера делятся на:
1) низкоуровневые (аппаратные). Непосредственно управляют работой контроллеров внешних устройств.
Аппаратные драйверы делятся на:
1) блок-ориентированные – управляют устройствами прямого
доступа, которые хранят информацию о блоках фиксированного размера, каждый из которых имеет свой адрес. Например, драйверы диска.
2) байт-ориентированные –управляют устройствами,
поддерживающими побайтный адресуемый обмен. Например, драйверы принтера, терминала, сетевого адаптера.
2) высокоуровневые. Обеспечивают логический интерфейс к устройствам, например драйверы файловых систем.
По мере развития операционных систем и усложнения структуры подсистемы ввода-вывода наряду с аппаратными или низкоуровневыми появились высокоуровневые драйверы. Если различным приложениям необходимо работать с различными логическими моделями одного и того же физического устройства, то для этого в системе устанавливается несколько драйверов на одном уровне, работающих над одним аппаратным драйвером. Обычно используется от 2-х до 5 уровней.
Для унификации и структуризации программного обеспечения ввода-вывода, устройства рассматриваются как некоторые специальные (виртуальные) файлы. Такой подход позволяет использовать общий набор базовых операций ввода-вывода для любых устройств.
Пример: ОС UNIX. Специальные файлы помещаются в каталог /dev. При появлении нового устройства пользователь с помощью команды mknod имеет возможность создать новую запись.
Файл –это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные.
Основными целями использования файлов являются:
1) долговременное и надежное хранение информации
2) совместное использование информации
Файловая система – это часть операционной системы, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами.
В широком смысле понятие «файловая система» включает:
1) совокупность всех файлов на диске
2) наборы структур данных, используемых для управления файлами, такие, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске
3) комплекс системных программных средств, реализующих управление файлами, в частности: создание, уничтожение, чтение, запись, именование, поиск и другие операции над файлами.