Сетевое ПО Лекция 9 (Электронные лекции)
Описание файла
Файл "Сетевое ПО Лекция 9" внутри архива находится в следующих папках: Электронные лекции, 2 модуль СПО. PDF-файл из архива "Электронные лекции", который расположен в категории "". Всё это находится в предмете "сетевое программное обеспечение" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "сетевое программное обеспечение" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
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Сетевое ПО.