Jump to content

Загружаемый модуль NetWare

Загружаемый модуль NetWare
Расширение имени файла
.нлм
Магическое число Загружаемый модуль NetWare
Разработано Новелл
Тип формата Исполняемый файл , Общая библиотека

Загружаемый модуль NetWare [1] [2] [3] ( NLM ) — это загружаемый модуль ядра ( модуль двоичного кода), который можно загрузить в операционную систему Novell NetWare . NLM могут реализовывать драйверы оборудования, функции сервера (например, кластеризацию), приложения (например, GroupWise ), системные библиотеки или утилиты.

NLM поддерживались начиная с Intel 80386. на базе версии NetWare 3.x Предыдущие версии NetWare имели монолитное ядро , и значительные изменения в аппаратном обеспечении или функциональности требовали повторного связывания ядра с объектными модулями.

Из-за проблем со стабильностью ранних NLM сторонних производителей они так и не стали популярными для программирования серверных приложений, за некоторыми исключениями, такими как антивирусные программы, программы резервного копирования и некоторые баз данных продукты .

Функциональность

[ редактировать ]

При загрузке NLM запрашивает ресурсы, такие как память и потоки процессов, у ядра NetWare. Ядро NetWare отслеживает такие запросы и может идентифицировать память и другие ресурсы, назначенные конкретному NLM. NLM могут автоматически загружать другие NLM, от которых они сами зависят.

NLM могут регистрировать команды в ядре NetWare, расширяя словарь команд, доступный в командной строке консоли NetWare.

При правильном кодировании NLM могут быть реентерабельными, что позволяет загружать и запускать несколько экземпляров одного и того же кода.

Проблемы программирования

[ редактировать ]

Первоначально Novell опубликовала набор инструментов разработки для программирования NLM, включая документацию по API ядра и компилятор C ( Watcom ), но сторонняя поддержка исполняемой функции NLM была очень ограничена.

В ранних версиях NetWare (до v4.x) все процессы выполнялись в адресном пространстве ядра без специальной защиты памяти. в NLM могли Поэтому ошибки перезаписать адресное пространство ядра или другого NLM и в конечном итоге привести к сбою сервера - в терминологии Novell, основанной на мэйнфреймах, это было известно как ABEND или ABnormal END .

Более того, NetWare использовала невытесняющую или кооперативную модель многозадачности, а это означает, что NLM должен был регулярно передавать данные ядру. [4] NLM, выполняющий бесконечный цикл Например, , не может быть остановлен.

В NetWare v4.x компания Novell представила ограниченную форму защиты памяти, которая была расширена до защищенных адресных пространств в NetWare v5.x. С помощью этих механизмов правильно закодированные NLM могут быть загружены в собственное адресное пространство, а неправильное поведение NLM может быть предотвращено от нарушения целостности ядра.

Составители

[ редактировать ]

Официальными составителями, выпускающими NLM, являются:

Разработка NLM также возможна с помощью GNU cc и binutils. [6] Более подробную информацию можно найти в HOWTO по программированию загружаемых модулей NetWare Мартина Хиннера. [7]

Клиентские NLM с NIOS

[ редактировать ]

Объявив об этом в марте 1995 г. [8] [9] Novell представила новый 32-битный клиент DOS/Windows NetWare ( Клиент 32 на базе ODI32/NIOS). [10] в 1996 году, заменив прежний 16-битный клиент на базе ODI /VLM. Его компонент NIOS ( подсистема ввода-вывода NetWare). [8] [11] [12] ) использовал методы, аналогичные DPMS, для перемещения и запуска NLM в защищенном режиме и расширенной памяти , чтобы уменьшить объем обычной памяти клиента до 2–5 КБ. [13] [11]

См. также

[ редактировать ]
  1. ^ Дэйв Кернс (3 октября 2006 г.). «Откровение: загружаемый модуль NetWare, который все еще существует» . Компьютерный мир .
  2. ^ «Выбор сервера базы данных для NetWare» . Компьютерный мир .
  3. ^ «Практическое занятие: как заставить Mac и ПК работать вместе» . Компьютерный мир .
  4. ^ Марк Фауст (2001). Администрирование NetWare: NetWare 4.0-6.0 .
  5. ^ «Сайт Metrowerks» . Архивировано из оригинала 6 января 2009 года.
  6. ^ «Разработка NLM под Linux» .
  7. ^ «HOWTO по программированию загружаемых модулей NetWare» .
  8. ^ Перейти обратно: а б «Novell усовершенствует Tuxedo и выпустит 32-битный клиент» . Сетевой мир : 141. 27 марта 1995 г. Проверено 18 августа 2018 г.
  9. ^ «Сетевое издание — история на обложке» . Журнал ПК : NE27. 24 октября 1995 года . Проверено 18 августа 2018 г.
  10. ^ «Подсистема сетевого ввода-вывода» .
  11. ^ Перейти обратно: а б Либинг, Эдвард А. (1 мая 1996 г.). «Клиент NetWare 32 для DOS/Windows: обзор архитектуры и функций» . Заметки о приложении Novell . Новелл . Архивировано из оригинала 18 августа 2018 года . Проверено 18 августа 2018 г.
  12. ^ Хендрик, Бен (1 ноября 1996 г.). «Обзор NetWare Client 32 для Windows 95» . Заметки о приложении Novell . Новелл . Архивировано из оригинала 18 августа 2018 года . Проверено 18 августа 2018 г.
  13. ^ Пол, Матиас Р. (30 июля 1997 г.). NWDOS-TIPs — Советы и рекомендации по Novell DOS 7 с учетом недокументированных подробностей, ошибок и обходных путей . Выпуск 157 (на немецком языке) (3-е изд.). Архивировано из оригинала 22 мая 2016 года . Проверено 11 января 2012 г. {{cite book}}: |work= игнорируется ( помощь ) (Примечание. NWDOSTIP.TXT — это всеобъемлющая работа по Novell DOS 7 и OpenDOS 7.01 , включая описание многих недокументированных функций и внутренних устройств. Это часть еще более крупной коллекции автора MPDOSTIP.ZIP, поддерживаемой до 2001 года и распространяемой на многих сайтах в то время. Предоставленная ссылка указывает на более старую версию файла NWDOSTIP.TXT, преобразованную в HTML.)

Дальнейшее чтение

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2d57ba36f9f52f889d1e6a71718870e6__1678648980
URL1:https://arc.ask3.ru/arc/aa/2d/e6/2d57ba36f9f52f889d1e6a71718870e6.html
Заголовок, (Title) документа по адресу, URL1:
NetWare Loadable Module - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)