Справочник Novell Netware 4




Загружаемые модули NetWare - NLM - часть 2


Однонитевый
модуль NLM найти очень трудно.

В своей выполняемой форме модуль NLM представляет собой файл,
загружаемый и выполняемый на NetWare-cервере операционной системой
NetWare. Он может называться также, как любой другой выполняемый
файл DOS, но имеет расширение .NLM, .DSK, .NAM или .LAN. NLM с
расширением .NLM обычно обеспечивает какое-то служебное средство
или представляет собой утилиту. Именно такой вид NLM чаще используется
при программировании. NLM с расширением .DSK это драйверы диска,
файлы .NAM - это NLM пространства имен, а файлы .LAN - это драйверы
сетевых интерфейсных плат. Исходный код NLM аналогичен любому
другому исходному коду на языке Си. Требуемые для NLM файлы включают
в себя:

  • PRELUDE.OBJ;
  • файл определений (.DEF);
  • Исходные файлы на языке Си.


Файл PRELUDE.OBJ компонуется с NLM и обеспечивает код инициализации
и стандартную функциональность ANSI Си. Здесь обрабатываются такие
вещи, как аргументы этапа выполнения и идентификация процедуры
main().

Файл определений для NLM представляет собой текстовый файл, используемый
для указания директив компиляции и компоновки и задания для NLM
некоторой описательной информации.

Так как операционная система NetWare не использует вытеснения
или выгрузки, то она не особенно беспокоится об отслеживании поведения
работающего в данный момент NLM. NetWare избавлена от непроизводительных
издержек на отслеживания того, какой модуль NLM в данный момент
работает, с каким приоритетом и как долго. Она отслеживает такие
моменты, но не за исключение экстренных случаев не налагает ограничений.
В большинстве случаев операционная система NetWare полагается
на то, что все NLM ведут себя правильно, и что они использую ЦП,
периодически освобождая его. Это позволяет самой NetWare работать
более эффективно.

Один из самых общих моментов, которые вы должны знать об NLM,
это то, что они работают вместе с операционной системой NetWare.
Это означает, что они в большинстве случает имеют доступ к той
же памяти и используют тот же ЦП. Вы можете выделить свой собственный
стек, распределить переменные и память. Можно также использовать
набор библиотек, предлагающих многие функции, которые вы можете
выполнять. С их помощью вы можете запрашивать информацию ли услуги
операционной системы NetWare.



Содержание  Назад  Вперед