Upon loading, a NLM requests resources, such as memory and process threads, from the NetWare kernel.
When properly coded, NLMs can be re-entrant, allowing multiple instances of the same code to be loaded and run.