Сетевое ПО Лекция 9 (1061296)
Текст из файла
1Сетевое ПО. Лекция 9 (2014 г.)Оглавление12345Подсистема ввода-вывода Windows.................................................................................................................. 11.1 Структура подсистемы ................................................................................................................................ 11.2 Особенности архитектуры подсистемы ввода-вывода ............................................................................... 21.3 Файловый ввод-вывод с отображением в память ....................................................................................... 31.4 Модель драйверов Windows ........................................................................................................................
3Сетевая поддержка ввода-вывода ..................................................................................................................... 52.1 Основные компоненты ................................................................................................................................ 52.2 Архитектура драйвера файловой системы.................................................................................................. 62.2.1Локальные FSD................................................................................................................................... 62.2.2Удаленные FSD ..................................................................................................................................
7Протокол CIFS................................................................................................................................................... 8Драйверы протоколов(транспорт TDI(Transport Driver Interface) .................................................................... 94.1 Состав драйверов протоколов ..................................................................................................................... 94.2 Реализация транспортов TDI......................................................................................................................11Драйверы сетевых адаптеров(библиотека драйверов NDIS(Network Driver Interface Specification) ..............135.1 Компоненты NDIS ......................................................................................................................................135.2 Разновидности минипорт-драйверов NDIS................................................................................................155.3 NDIS, ориентированная на логические соединения ..................................................................................161 Подсистема ввода-вывода Windows1.1 Структура подсистемыСтруктура подсистемы ввода-вывода построена таким образом, чтодрайверы можно устанавливать и удалять динамически.
При этом терминдрайвер в Windows употребляется в более широком смысле, чем обычныйтермин драйвер устройства. Файловые системы - это тоже драйверы, но болеесложные. Они принимают запросы ввода-вывода, анализируют их и, в своюочередь, обращаются к драйверам физических устройств.Системыввода-выводаподдерживаетпараллельноевыполнениепроцессов, аппаратно-программную синхронизацию и взаимное исключениепри доступе к общим буферам.Управление системой ввода-вывода осуществляют пакеты. Это означает,что каждый запрос ввода-вывода представлен в виде пакета запроса вводавывода (I/O Request Packet, IRP) - структуры данных с информацией,необходимой на текущем этапе выполнения операции ввода-вывода.Ввыполненииоперациимогутучаствоватьнесколькослоевпрограммного обеспечения, между которыми передаются соответствующиепакеты (рис.
1).Менеджер ввода-вывода в действительности не управляет вводом-Сетевое ПО. Лекция 9 (2014 г.)2выводом. Его задача - создать IRP, передать его соответствующему драйверу иудалить по завершении операции.Драйвер получает IRP, выполняет указанную в нем операцию и либовозвращает его обратно менеджеру ввода-вывода для завершения операции,либо передает через менеджер другому драйверу.Такая структура подсистемы ввода-вывода обеспечивает широкиевозможности комбинирования модулей.
Например, можно включить виерархию модулей, реализующих файловую систему, функции зеркалированияи чередования, а также функции протоколирования файловых операций.1.2 Особенности архитектуры подсистемы ввода-выводаОдной из важных особенностей системы ввода-вывода Windows являетсяее асинхронность.Асинхронные сервисы позволяют приложению выдать запрос вводавывода и продолжать работу, пока устройство передает данные (рис. 2).Система ввода-вывода поддерживает оба режима выполнения операций(синхронные и асинхронные).Приблизительно одна треть базовых сервисов асинхронны по умолчанию,к их числу относятся такие длительные операции, как чтение и запись файла, атакже просмотр содержимого каталога.Для того, чтобы использовать режим, противоположный заданному поумолчанию, поток должен явно указать его при вызове операции, как показанона рис.
2 (в терминологии Win32 асинхронный ввод-вывод называетсясовмещенным). Когда придет время синхронизации с завершением операцииввода-вывода, поток может выполнить вызов ждать( дескриптор), указав вкачестве параметра дескриптор файла.Однако независимо от того, какой режим ввода-вывода выберетприложение, сама система ввода-вывода работает полностью асинхронно. Длявыполнения асинхронных запросов в операционной системе предусмотренспециальный процесс с несколькими рабочими потоками.3Сетевое ПО. Лекция 9 (2014 г.)1.3 Файловый ввод-вывод с отображением в памятьФайловый ввод-вывод с отображением в память осуществляетсясовместно системой ввода-вывода и менеджером виртуальной памяти.Расположенный на диске файл может рассматриваться как часть виртуальнойпамяти процесса, поэтому, например, для записи данных в файл процессудостаточно будет записать их по соответствующему адресу в памяти.
Этиизменения будут записаны диспетчером виртуальной памяти на диск в ходеобычной операции откачки страниц.При осуществлении файлового ввода-вывода с отображением впамятьпроизводительностьприложений,которыевыполняютзначительный объем ввода-вывода или работают с большим числомфайлов, может быть повышена. Этого нетрудно достичь благодаря двумфакторам: во-первых, запись в память выполняется гораздо быстрее записи надиск, а во-вторых, диспетчер виртуальной памяти оптимизирует свой доступ кдиску.1.4 Модель драйверов WindowsДля взаимодействия драйверов устройств с ядром и исполнительнойсистемой во всех операционных системах Windows используется такназываемая модель драйверов Windows (Windows Driver Model, WDM).Термин драйвер соответствует широкому спектру модулей, включаяменеджер ввода-вывода, который передает между другими драйверами IRP, носам не взаимодействует с аппаратным обеспечением.
Сюда же можно отнестидрайвер файловой системы, преобразующий файловые операции в блочные, иредиректор, превращающий локальные файловые операции в вызовыудаленного сетевого файл-сервера.В WDM определено три типа драйверов(рис. 3): Драйвер шины управляет одной из коммуникационных шинсистемы, например PCI или USB. Он осуществляет мониторингсостояния шины и управление питанием, а также следит заподсоединениемиотсоединениемфизическихустройств4Сетевое ПО. Лекция 9 (2014 г.)(поддерживает режим plug-and-play). Функциональный драйвервыполняет классическиефункцииуправления устройствами, а также преобразует интерфейсныеоперации устройства в IRP-форму для взаимодействия с болеевысокими уровнями программного обеспечения системы.
Длянепосредственного взаимодействия с аппаратным устройствомфункциональныйдрайверприбегаеткпомощислояабстрагирования от оборудования. Благодаря такой организациисистемы, например, драйвер определенного типа сетевых плат PCIможет работать с подобными платами на любом компьютере. Фильтрующий драйвер, работающий только с пакетами запросовввода-вывода.Каждый драйвер включает набор подпрограмм, с помощью которых онвзаимодействует с менеджером ввода-вывода. К ним относятся:o инициализационнаязагрузке,иподпрограмма,соответствующаяейвыполняемаяподпрограммаприеговыгрузки,вызываемая перед удалением драйвера из системы;o подпрограмма удаления устройства, создающая новый объектдля представления только что подсоединенного к системеустройства;o наборподпрограммдиспетчеризации,вызываемыхдляобслуживания каждого типа IPR (например, DispatchRead иDispatchWrite);o подпрограмма начала ввода-вывода, которая используется впростых драйверах, способных обрабатывать в каждый моментвремени только один IRP - возможно, из-за ограничения,налагаемого физическим устройством (большинство драйверовподдерживают параллельную обработку пакетов);o подпрограмма обработки прерывания, которая вызывается в ответна прерывание от устройства,5Сетевое ПО.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.