- •Что такое процесс?
- •Адресное пространство
- •Набор ресурсов
- •Объект-процесс
- •Что такое поток?
- •Многозадачность и мультипроцессорная обработка
- •Многопоточность
- •Объект-поток
- •История
- •Опорная модель osi
- •Встроенная сетевая поддержка
- •Сетевые api
- •Разрешение имен
- •Встроенные сетевые компоненты
- •Открытая архитектура
- •Доступ пользовательского режима к удаленным файловым системам
- •Транспортные протоколы
- •Среда ndis для сетевых драйверов
- •Среда распределенных приложений
- •Удаленный вызов процедур
- •Именованные каналы
- •Корпоративные сети и распределенная защита
Среда ndis для сетевых драйверов
Описанные в предыдущем разделе драйверы протоколов не обращаются к сети непосредственно. Подключение компьютера к сети обеспечивается сетевой платой или микросхемой, либо встроенной, либо вставляемой в гнездо расширения. Каждая сетевая плата (называемая иногда сетевым адаптером) способна работать с определенным типом кабеля и в сети определенной топологии.
Сетевые платы поставляются вместе с сетевыми драйверами, которые в прошлом часто реализовывали определенный сетевой протокол — например, XNS или TCP/IP. Windows NT допускает одновременную загрузку нескольких драйверов для разных протоколов; но было бы далеко не лучшим решением, если бы каждый изготовитель сетевых плат переписывал свои драйверы
Рис. 9-14. Интерфейс NDIS 3.0.
для поддержки нескольких протоколов. Чтобы помочь независимым производителям избежать лишней работы, Windows NT предоставляет интерфейс и среду, называемую спецификацией интерфейса сетевого драйвера (network driver interface specification, 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.
Среда распределенных вычислений. RPC. Именованные каналы.
