Zaváděcí modul NetWare - NetWare Loadable Module

Zaváděcí modul NetWare
Přípona názvu souboru
.nlm
Kouzelné číslo Zaváděcí modul NetWare
Vyvinuto Novell
Typ formátu Spustitelný soubor , sdílená knihovna

Loadable modul NetWare ( NLM ) je zaveditelný modul jádra (a binární kód modul), které lze vložit do NetWare Novell operačního systému. NLM mohou implementovat ovladače hardwaru, funkce serveru (např. Klastrování), aplikace (např. GroupWise ), systémové knihovny nebo nástroje.

NLM byly podporovány počínaje Intel 80386 na bázi NetWare verze 3.x. Předchozí verze NetWare měly monolitické jádro a významné změny hardwaru nebo funkcí vyžadovaly opětovné propojení jádra z objektových modulů.

Kvůli problémům se stabilitou u starších NLM třetích stran se nikdy nestaly populární pro programování serverových aplikací, až na několik výjimek, jako jsou antivirové programy, zálohovací programy a některé databázové produkty.

Funkčnost

Při načítání NLM požaduje prostředky, jako jsou vlákna paměti a procesů, z jádra NetWare. Jádro NetWare sleduje tyto požadavky a dokáže identifikovat paměť a další prostředky přiřazené ke konkrétnímu NLM. NLM mohou automaticky načíst jiné NLM, na kterých samy závisí.

NLM mohou registrovat příkazy s jádrem NetWare a rozšiřovat tak slovník příkazů dostupný na výzvu konzoly NetWare.

Při správném kódování lze NLM znovu zadat, což umožňuje načtení a spuštění více instancí stejného kódu.

Problémy s programováním

Novell původně publikoval vývojovou sadu nástrojů pro programování NLM včetně dokumentace API jádra a kompilátoru C ( Watcom ), ale podpora třetích stran pro spustitelnou funkci NLM byla velmi omezená.

V dřívějších verzích NetWare (před verzí v4.x) byly všechny procesy prováděny v adresním prostoru jádra bez specifické ochrany paměti. Bylo proto možné, že chyby v NLM přepsaly adresní prostor jádra nebo jiného NLM a nakonec havarovaly server-v terminologii Novell odvozené z mainframu se tomu říkalo ABEND nebo ABnormal END .

NetWare navíc používal nepřednostní nebo kooperativní víceúlohový model, což znamená, že bylo nutné pravidelně poskytovat jádro NLM. Například NLM provádějící nekonečnou smyčku proto nebylo možné zastavit.

V NetWare v4.x zavedl Novell omezenou formu ochrany paměti, která byla v NetWare v5.x rozšířena na Chráněné adresní prostory. Prostřednictvím těchto mechanismů lze správně kódované NLM načíst do jejich vlastního adresního prostoru a nesprávně se chovajícím NLM lze zabránit v ohrožení integrity jádra.

Překladače

Oficiálními kompilátory, které produkují NLM, jsou:

Vývoj NLM je možný také s GNU cc a binutils. Další podrobnosti jsou k dispozici v Programu načítání modulů NetWare HOWTO od Martina Hinnera.

NLM na straně klienta s NIOS

Společnost Novell, která ji oznámila v březnu 1995, představila v roce 1996 nového 32bitového klienta DOS/Windows NetWare ( klient 32 na základě ODI32/NIOS), který nahradil dřívějšího 16bitového klienta na základě ODI /VLM. Jeho komponenta NIOS ( I/O subsystém NetWare ) používala techniky podobné DPMS k přemístění a spouštění NLM v chráněném režimu a rozšířené paměti, aby se zmenšila konvenční paměťová stopa klienta až na 2 až 5 kB.

Viz také

Reference

Další čtení