The memory services is responsible for managing physical memory, GDT descriptors and LDT descriptors. It manages physical memory via a table called the PAM.
This table has a word entry for each physical page. The entry normally contains the descriptor number for the code that owns the page. Exceptions to this are:
|0xFFFE||Module code seg.|
|0||Allocated as DMA|
|1||Allocated as common|
|2||Allocated as user code|
|3||Allocated as user data|
This is the address of a page used for a normal page directory (see intel's programmers guides). It maps common memory (first 1Gb of physical memory) to the linear space. The memory manager can use this as a template when creating address spaces for applications. It is also used by system tasks (drivers, etc).