Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы ОС.docx
Скачиваний:
45
Добавлен:
22.09.2019
Размер:
3.18 Mб
Скачать

5 7. Компоненты операций ввода-вывода файловой системы Windows. (Лекция 12)

После получения IRP (1) драйвер DFS определяет, допустим ли для объекта «файл» кэшируемый запрос. Если нет (2), то производится некэшируемое чтение с диска. Если да (3) то обращение к кэшу. В случае, если читаемый блок в кэше отсутствует, то резервируется память и запрос передается диспетчеру памяти (4). Последний инициирует некэшируемое чтение с диска (5-6) .

Ускорение чтения и записи: Подсистема отложенной записи – позволяет модифицировать блоки файла в памяти кэша, периодически инициируя ее сброс на диск. Подсистема записи страниц – инициирует IRP с требованием записи блоков файла на диск. Подсистема опережающего чтения – чтение данных из файлов и их запись в память кэша еще до получения обращения к ним. Виртуальная память выделяется блоками на основе хронологии операций чтения для каждого файла.

В архитектуре ввода/вывода NT управление драйверами файловом системы осуществляет диспетчер ввода/вывода. Архитектура ввода/вывода NT не только поддерживает традиционные файловые системы, но и обеспечивает функционирование сетевого редактора и сервера в качестве драйверов файловой системы. С точки зрения диспетчера ввода/вывода, нет никакой разницы между работой с файлом, сохраненным на удаленном компьютере сети, и работой с файлом на локальном жестком диске. Редиректоры и серверы могут быть загружены и выгружены динамически, так же как и любые другие драйверы; на одном компьютере может одновременно находиться большое число редиректоров и серверов.

Компоненты системы ввода-вывода представлены на рисунке. Каждый запрос на ввод-вывод представлен пакетом IRP (I/O Request Packet). Пакеты передаются от одной подсистемы ввода-вывода к другой. Менеджер ввода-вывода определяет порядок доставки пакетов IRP файловым системам и драйверам устройств. Менеджер не выполняет операций ввода-вывода, он только создает пакет IRP, передает его нужному драйверу и удаляет пакет, когда операция завершается. Драйвер же, получив IRP, выполняет операцию ввода-вывода, а затем возвращает пакет менеджеру для уничтожения или передачи другому драйверу.

Термин "драйвер" в Windows NT имеет более широкое значение, чем "драйвер устройства". Файловая система - это сложный драйвер, который принимает запросы к файлам и передает свои более конкретные запросы драйверам физических устройств.

К омпоненты подсистем в/в: Драйверы файловой системы аналогичны другим драйверам, поскольку взаимодействуют с диспетчером ввода-вывода и IRP. Драйверы файловой системы являются логическими, так как не взаимодействуют непосредственно с аппаратным обеспечением; например, файловая система не делает различия между дисками с интерфейсом SCSI и с интерфейсом АТА (иногда называе-мым IDE). Тем не менее драйверы файловой системы отличаются от других драйверов. Некоторые из этих отличий приведены ниже: - Драйверы файловой системы всегда вызываются в контексте потока, запрашивающего операцию ввода-вывода. - Драйверы файловой системы активно взаимодействуют с диспетчером кэша и диспетчером виртуальной памяти, используя эти два компонента для буферизации данных. Например, файловая система использует услуги диспетчера кэша для кэширования метаданных файловой системы (это может быть расположение файлов и каталогов на диске), чтобы избежать повторных запросов одних и тех же метаданных. - Драйверы файловой системы являются единственными драйверами, которые обеспечивают работу методов ввода-вывода на основе IRP. Подобный метод называется быстрым вводом-выводом (Fast I/O) и представляет собой несколько входных точек драйвера. Диспетчер ввода-вывода вызывает эти точки для выполнения операций ввода-вывода, поскольку данные могут быть кэшированы и поэтому быстро обработаны. Драйвер файловой системы может завершить вызов неудачно, если это необходимо, а диспетчер ввода-вывода просто повторит тот же запрос ввода-вывода с помощью обычного пакета IRP. - Понятие драйверов фильтров файловых систем тесно связано с понятием драйверов файловых систем. Драйверы фильтрации файловых систем используются для реализации широкого диапазона различных технологий, например шифрованной файловой системы (EFS) и поддержки служб удаленного хранения (RSS).