- •Режимы ядра и пользователя Windows
- •Процесс, контекст процесса и потоки
- •Архитектура Windows nt
- •Уровень аппаратных абстракций
- •Диспетчер объектов
- •2. Монитор ссылок безопасности
- •3. Диспетчер процессов
- •4. Подсистема Plug and Play
- •5. Диспетчер энергопитания
- •6. Диспетчер виртуальной памяти
- •7. Диспетчер кэша
- •1. Программный интерфейс приложений ввода-вывода (I/o api)
- •2. Диспетчер ввода-вывода (I/o Manager)
- •3. Драйверы файловых систем
- •Графическая подсистема
- •Пользовательский режим
1. Программный интерфейс приложений ввода-вывода (I/o api)
По сути, этот компонент включает функции диспетчера ввода-вывода, предназначенные для более высоких уровней Windows NT, а также компоненты режима ядра, выполняющие операции, связанные с диспетчером печати.
2. Диспетчер ввода-вывода (I/o Manager)
Это элемент выполняемого модуля Windows NT; свойственные ему функции перечислены ниже.
Создание пакетов запроса ввода-вывода (IRP) и направление их соответствующему драйверу, а также перенаправление пакетов запроса ввода-вывода между драйверами.
Удаление и освобождение пакетов запроса ввода-вывода после завершения операции ввода-вывода.
Взаимодействие с диспетчером кэша и другими компонентами NT Executive.
Взаимодействие с диспетчером виртуальной памяти для предоставления файловым системам функций ввода-вывода с записью данных в память.
Мониторинг загруженных файловых систем и их вызов по требованию.
Предоставление поддержки синхронного и асинхронного ввода-вывода. Асинхронный ввод-вывод особенно важен для приложений хранения данных. Например, приложение резервного копирования может использовать асинхронный ввод-вывод для размещения в очереди нескольких запросов, что позволяет полностью загрузить устройство записи на ленту.
Управление буферами для операций ввода-вывода.
3. Драйверы файловых систем
Операционная система предоставляет функции файловых систем с помощью драйверов режима ядра.
Система Windows NT поставляется вместе с такими файловыми системами:
NTFS (файловая система NT);
UDFS (универсальная дисковая файловая система);
CDFS (файловая система компакт-дисков);
FAT (таблица размещения файлов).
Драйверы файловой системы являются логическими, так как не взаимодействуют непосредственно с аппаратным обеспечением; например, файловая система не делает различия между дисками с интерфейсом SCSI и с интерфейсом АТА (иногда называемым IDE). Тем не менее драйверы файловой системы отличаются от других драйверов.
Некоторые из этих отличий приведены ниже.
Драйверы файловой системы всегда вызываются в контексте потока,запрашивающего операцию ввода-вывода.
Драйверы файловой системы активно взаимодействуют с диспетчером кэша и диспетчером виртуальной памяти, используя эти два компонента для буферизации данных. Например, файловая система использует услуги диспетчера кэша для кэширования метаданных файловой системы (это может быть расположение файлов и каталогов на диске), чтобы избежать повторных запросов одних и тех же метаданных.
Драйверы файловой системы являются единственными драйверами, которые обеспечивают работу методов ввода-вывода на основе IRP. Подобный метод называется быстрым вводом-выводом (Fast I/O) и представляет собой несколько входных точек драйвера.
Диспетчер ввода-вывода вызывает эти точки для выполнения операций ввода-вывода, поскольку данные могут быть кэшированы и поэтому быстро обработаны. Драйвер файловой системы может завершить вызов неудачно, если это необходимо, а диспетчер ввода-вывода просто повторит тот же запрос ввода-вывода с помощью обычного пакета IRP.