Shared Memory

When memory objects are shared between processes in the 16-bit environment, the processes may share either the linear address spaces or the actual physical pages, depending upon the way in which the memory is shared. The allocation of shared memory by 16-bit applications using the DosAllocShrSeg() function involves shared linear addresses, which are referenced by different LDT entries in each 16-bit process. This mapping of LDT entries to linear addresses is shown in Figure "16:16 Shared Address Ranges".

Memory objects are shared using the alias technique, whereby the different 16:16 memory references used by each application are mapped by the operating system, using the tiled LDTs, to the same locations in memory. This is very similar to the technique used for shared memory in a pure 0:32 environment.


[Back: Thunking]
[Next: Program Loading]