Logical Memory Addressing

The physical memory of the server is divided into 4 KB blocks, called pages, as defined by Intel. When a process wants to store information in memory, it requests memory pages that are contiguous, so that all the information can be stored in a sequential group of pages.

As contiguous blocks of memory pages are used up, small segments of memory are often left over. After awhile, there are many such isolated pieces of memory too small to be used. This situation is called memory fragmentation. When memory is fragmented, the server often can't satisfy memory requests.

NetWare's logical memory addressing scheme helps to prevent memory fragmentation The memory management subsystem provides a page directory table that lists logical memory addresses from 0 to 4 GB. The table lists addresses up to 4 GB even if the server contains only the minimum 64 MB of RAM.

When a process needs a contiguous block of memory, the operating system finds a set of contiguous addresses in the page directory table. Because the table has so many addresses (4 GB), the operating system can almost always find the contiguous memory addresses the processes need.

Other tables, called page entry tables, translate the logical addresses to physical addresses, which might not be contiguous at all, but which might be scattered throughout RAM. As long as the logical addresses are contiguous, it does not matter that the physical memory pages are not contiguous. Together, the page directory table and the page entry tables are called the page translation table.

Figure 2
Page translation table