Читаем Операционная система UNIX полностью

Для каждого обслуживаемого драйвером сетевого адаптера создается отдельная структура данных DL_bdconfig_t, описывающая характеристики адаптера и содержащая необходимую для управления адаптером информацию, а также статистику, являющуюся частью MIB (Management Information Base). Эта структура используется аппаратно-независимой и зависимой частями совместно, в том числе и для передачи определенной информации между ними.

В частности, эта структура содержит следующие поля:

majorСтарший номер устройства, связанного с данным сетевым адаптером
io_startАдрес начала области ввода/вывода
io_endАдрес конца области ввода/вывода
mem_startАдрес начала базовой памяти
mem_endАдрес конца базовой памяти
irq_levelУровень прерывания
шах_sapsМаксимальное число точек доступа (SAP)
flagsФлаги состояния адаптера
mibСписок статистических данных

Поле flags может включать следующие флаги:

BOARD_PRESENTУстанавливается драйвером после успешной инициализации адаптера
BOARD_DISABLEDУстанавливается драйвером при неудачной инициализации адаптера. Этот флаг также может быть установлен, если драйвер определит нарушения в функционировании адаптера
TX_BUSYУказывает на отсутствие ресурсов, например отсутствие необходимых буферов для передачи кадра
TX_QUEUEDУказывает на наличие кадров, ожидающих передачи

Для каждого подключенного пользователя услуг, или, другими словами, для каждой активной SAP драйвер создает структуру данных DL_sap_t, описывающую тип и характеристики точки доступа. Приведем описание некоторых полей этой структуры:

stateСостояние SAP. Возможные состояния определены интерфейсом DLPI. Исходное состояние точки доступа DL_UNBOUND
sap_addrУникальный адрес (идентификатор) SAP
flagsФлаги, определяющие дополнительные характеристики SAP
read_qУказатель на очередь чтения потока, связанного с SAP
write_qУказатель на очередь записи потока, связанного с SAP
mac_typeТип используемого протокола доступа и формат используемого кадра. Возможные значения включают:
DL_CMACDIEEE 802.3
DL_ETHEREthernet 2.0
DL_TPBIEEE 802.4
DL_TPRIEEE 802.5
DL_HDLCISO HDLC
DL_FDDIFDDI
service_modeРежим передачи данных. В локальных сетях обычно используется режим без установления связи без подтверждения DL_CLDLS
provider_styleТип поставщика услуг: DL_STYLE1 или DL_STYLE2
bdУказатель на структуру DL_bdconfig_t, связанную с сетевым адаптером
next_sapУказатель на следующую точку доступа в списке активных SAP
max_spduМаксимальный размер данных, которые могут быть переданы в кадре
min_spduМинимальный размер данных, которые могут быть переданы в кадре

Дополнительные характеристики SAP хранятся в поле flags, которое может включать следующие флаги:

Перейти на страницу:

Похожие книги

Архитектура операционной системы UNIX (ЛП)
Архитектура операционной системы UNIX (ЛП)

Настоящая книга посвящена описанию внутренних алгоритмов и структур, составляющих основу операционной системы (т. н. «ядро»), и объяснению их взаимосвязи с программным интерфейсом. Таким образом, она будет полезна для работающих в различных операционных средах. При работе с книгой было бы гораздо полезнее обращаться непосредственно к исходному тексту системных программ, но книгу можно читать и независимо от него.  Во-вторых, эта книга может служить в качестве справочного руководства для системных программистов, из которого последние могли бы лучше уяснить себе механизм работы ядра операционной системы и сравнить между собой алгоритмы, используемые в UNIX, и алгоритмы, используемые в других операционных системах. Наконец, программисты, работающие в среде UNIX, могут углубить свое понимание механизма взаимодействия программ с операционной системой и посредством этого прийти к написанию более эффективных и совершенных программ.

Морис Дж Бах , Морис Дж. Бах

ОС и Сети, интернет / ОС и Сети / Книги по IT