NetWare Loadable Module

NLMs can implement hardware drivers, server functions (e.g. clustering), applications (e.g. GroupWise), system libraries or utilities.

The NetWare kernel tracks such requests, and can identify memory and other resources assigned to a specific NLM.

In early NetWare versions (prior to v4.x), all processes were executed in the kernel address space, without specific memory protection.

It was therefore possible for bugs in NLMs to overwrite the kernel's or other NLM's address space and ultimately crash the server — in the mainframe-derived Novell terminology, this was known as an ABEND or ABnormal END.

Moreover, NetWare used a non-preemptive, or cooperative, multitasking model, meaning that an NLM was required to yield to the kernel regularly.