Динамическая загрузка и выгрузка драйверов
Поддержка широкого спектра драйверов
Достоинством любой современной ОС является разнообразие набора драйверов для наиболее популярных устройств и поддержка нескольких файловых систем. Наличие удобного и открытого интерфейса между драйверами и другими компонентами ОС необходимо для того, чтобы драйверы писали не только разработчики ОС, но и производители устройств.
Существуют два типа интерфейсов:
1) “драйвер-ядро” (Driver Kernel Interface, DKI) для взаимодействия с ядром ОС
2) интерфейс “драйвер-устройство” (Driver Device Interface, DDI) для взаимодействия с контроллером
Для поддержки разработки драйверов обычно выпускается пакет DDK (Driver Development Kit). Представляет собой набор библиотек, компиляторов и отладчиков.
Набор потенциально поддерживаемых ОС периферийных устройств всегда существенно шире набора устройств, которыми ОС должна управлять при установке на конкретной машине. Важным свойством ОС является возможность динамически (без останова ОС) загружать в оперативную память требуемый драйвер и выгружать его при необходимости, что существенно экономит системную область памяти.
Данные на дисках организуются в файловые системы (ФС). Свойства ФС во многом определяют свойства ОС (отказоустойчивость, быстродействие, емкость и пр.).
Популярные файловые системы переходят из одной ОС в другую (например, FAT из MS DOS в OS/2, MS Windows, Unix).
Обычно в ОС имеется слой программного обеспечения, отвечающий за простоту подключения новой файловой системы. Например, слой VFS (Virtual File System) в версиях Unix.