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

Среда ndis для сетевых драйверов

Описанные в предыдущем разделе драйверы протоколов не обращаются к сети непосредственно. Подключение компьютера к сети обеспечивается сетевой пла­той или микросхемой, либо встроенной, либо вставляемой в гнездо расшире­ния. Каждая сетевая плата (называемая иногда сетевым адаптером) способна ра­ботать с определенным типом кабеля и в сети определенной топологии.

Сетевые платы поставляются вместе с сетевыми драйверами, которые в про­шлом часто реализовывали определенный сетевой протокол — например, XNS или TCP/IP. Windows NT допускает одновременную загрузку нескольких драйве­ров для разных протоколов; но было бы далеко не лучшим решением, если бы каждый изготовитель сетевых плат переписывал свои драйверы

Рис. 9-14. Интерфейс NDIS 3.0.

для поддержки нескольких протоколов. Чтобы помочь независимым производителям избежать лишней работы, Windows NT предоставляет интерфейс и среду, называемую спе­цификацией интерфейса сетевого драйвера (network driver interface specifica­tion, NDIS), которые изолируют сетевые драйверы от особенностей различных сетевых протоколов и наоборот (это иллюстрирует рис. 9-14).Вместо того, чтобы писать для Windows NT транспорто-зависимые драй­веры, производители сетевого оборудования реализуют интерфейс NDIS на са­мом верхнем уровне одного драйвера. Это позволяет любому драйверу прото­кола работать с данной сетевой платой, вызывая функции этого интерфейса. Таким образом, пользователь может работать и по сети TCP/IP, и по сети NetBEUI (или DECnet, NetWare, VINES и т. д.) при помощи одной сетевой платы и одного сетевого драйвера.Интерфейс NDIS присутствовал и в LAN Manager, но для Windows NT была разработана новая версия NDIS 3.0. Эта версия является переносимой (написа­на на С), модернизирована для использования 32-разрядных адресов вместо 16-разрядных и многопроцессорных компьютеров. Она поддерживает несколько независимых сетевых соединений и несколько од­новременно загруженных транспортных протоколов. Каждый драйвер NDIS отвечает за посылку и прием пакетов по сети и за управление сетевой платой. В своем нижнем слое он работает непосредственно с обслуживаемой им платой или платами, используя для доступа к ним процеду­ры NDIS. Драйвер NDIS запускает операции ввода-вывода на сетевой плате и получает от нее прерывания. Он вызывает расположенные над ним драйверы протоколов, чтобы сообщить о получении данных или уведомить о завершении передачи исходящих данных. Благодаря NDIS сетевые драйверы переносимы и не содержат информа­ции о процессоре или ОС, с которыми работают. Сетевые драйверы вызывают процедуры NDIS, чтобы изолировать себя от особенностей аппаратной плат­формы, поэтому их можно легко переносить с одной системы Windows NT на другую или на будущие системы MS-DOS\Windows. В Windows NT программное обеспечение NDIS вызывает функции ядра NT для получения и освобождения спин-блокировок (чтобы сделать безопасной работу в многопроцессорной среде), а также обращается к процедурам диспетчера ввода-вывода для подклю­чения объектов-прерываний к нужным IRQL в таблице распределения ядра. Это лишь два примера задач, которые сетевому драйверу пришлось бы выполнять самостоятельно, если бы он был написан как обычный драйвер NT. Вызывая вместо этого процедуры NDIS, драйверы NDIS, написанные для Windows NT, легко переносятся в среду драйверов виртуальных устройств Windows.

  1. Среда распределенных вычислений. RPC. Именованные каналы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]