Extended Memory Blocks (EMBs)

Extended Memory Blocks (EMBs) reside in the region above 1MB, and are therefore not directly accessible from DOS applications running in V86 mode. The only way a DOS application can access EMBs is by using the VXMS service Move Extended Memory Block. VXMS then requests the memory manager to remap the EMB into low memory, from which it may then be accessed by the application. Each Extended Memory Block is allocated as a separate memory object with linear addresses outside the V86 mode address space.

Note that memory requests for UMBs and EMBs are made by applications in units of paragraphs and kilobytes, whereas the memory manager allocates in 4KB pages. VXMS rounds all allocation requests up to the nearest integral page multiple before passing the request on to the operating system's memory manager.


[Back: Upper Memory Blocks (UMBs)]
[Next: Allocating/Deallocating Memory]