You can use a portion of server memory called a protected address space to protect the server operating system from untried or troublesome applications and to use virtual memory. When applications are loaded into a protected address space, they can’t corrupt the operating system, cause server abends, or corrupt other applications that are running in other protected address spaces.
All protected address spaces use virtual memory, so running modules in a protected address space also uses RAM more efficiently.
For general information about protected address spaces and the applications that can be loaded into them, see Protected Address Spaces. For general information about virtual memory, see Virtual Memory.
The following are general guidelines for using protected address spaces:
Because modules loaded into a protected address space have controlled interaction with the operating system, all modules that must communicate with each other by directly importing another module's data or functions (such as those of an e-mail application or a database) should be loaded into the same protected address space.
If you load a NetWare Loadable Module (NLM) that depends upon another module, such as CLIB, the other module will be loaded automatically into the same address space.
If the same module is loaded into more than one address space, the module’s code will be shared among the address spaces. Therefore, loading the module into multiple address spaces does not require additional memory for the module itself. Only data for the required module is unique for each address space.
Even if an NLM is designed to be loaded only once, you can load multiple copies of the NLM on your server if you load them into different address spaces.
When you load modules into a protected address space, NetWare assigns whatever amount of memory the loaded modules need, up to a maximum size of 512 MB. The maximum size of a protected address space is fixed— but within that maximum limit, the memory size of the space grows and shrinks as needed by the modules in the address space.
If you want the server to clean up address spaces that abend, in Novell Remote Manager make sure the Memory Protection Fault Cleanup parameter (Memory category) is set to the default setting of On. If an address space abends, the server removes the address space and its modules and returns the resources to the system.
If the Memory Protection Fault Cleanup parameter is set to Off, the situation is left to the NetWare kernel's abend recovery mechanism.