1.
Независимый от устройств слой операционной системы.
2. Обработка прерываний.
3. Драйверы устройств.
4. Пользовательский слой программного обеспечения.
Независимый от устройств слой операционной системы
Это компонент представляет собой супервизор ввода/вывода, через который процессы пользователя получают доступ к операциям ввода/вывода.
Точная граница между драйверами и независимыми от устройств программами определяется системой, так как некоторые функции, которые могли бы быть реализованы независимым способом, в действительности выполнены в виде драйверов для повышения эффективности или по другим причинам.
Типичными функциями для независимого от устройств слоя являются:
- обеспечение общего интерфейса к драйверам устройств;
- именование устройств;
- защита устройств;
- обеспечение независимого размера блока;
- буферизация;
- распределение памяти на блок-ориентированных устройствах;
- распределение и освобождение выделенных устройств;
- уведомление об ошибках;
- прием запросов на ввод-вывод от пользователей процессов;
- создание и обслуживание очереди запросов на ввод-вывод;
- обеспечивание запуска драйверов и их динамическую загрузку;
- обработка прерывания ввода/вывода.