NetWare Loadable Module
A NetWare Loadable Module (NLM) is a binary code module that can be loaded into Novell's NetWare operating system for execution.
NLMs were supported beginning with the Intel 80386-based NetWare 3.x versions.
NLMs can implement system extensions, drivers, server functions or application processes as required since NetWare 3.x+ followed a programming model that essentially ran all code in kernel address space without further access protection. Bugs in NLMs were therefore very likely to crash the entire server, and that could in turn easily cause corruption of storage volumes. Moreover, NetWare used co-operative multitasking, so an NLM entering an infinite loop could not be stopped and would also bring the system to a halt.
For these reasons, NLMs never became popular for server application programming, with few exceptions like antivirus programs, backup programs and certain database products, even though Novell later provided a limited form of protected execution environment. Most NetWare administrators still tended to shy away from third-party NLMs because they had the reputation of severely reducing the operating system's otherwise highly reputed reliability.