By default, memory objects allocated by an application are private to the process in which that application executes. However, OS/2 allows memory to be shared among applications for interprocess communication. Shared memory objects are allocated in a similar manner to private memory objects, using the DosAllocSharedMem() function.
Note that while private memory objects are allocated using addresses upward from the lower limit of the process address space, shared memory objects are allocated downward from the upper limit of the process address space. Hence the private and shared memory arenas grow toward one another as more memory objects are allocated during execution.
Shared memory objects may be freed in the same manner as private memory objects, using the DosFreeMem() function.