Windows 3.1: Using Upper Memory Blocks (UMBs)

Last reviewed: November 23, 1994
Article ID: Q83031
The information in this article applies to:
  • Microsoft Windows operating system versions 3.1, 3.11

SUMMARY

Microsoft Windows version 3.1 running in 386 enhanced mode contains support for the use of upper memory blocks (UMBs) just as MS-DOS 5.0 does. With MS- DOS 5.0, you can make use of free addresses in the 384K upper memory area (UMA) by loading EMM386.EXE and using the LOADHIGH or DEVICEHIGH commands. Windows is compatible with this configuration, but cannot make use of free UMB space, once EMM386.EXE is loaded.

MORE INFORMATION

Windows 3.1 can use free UMBs in the same manner as MS-DOS 5.0. Both operating systems can access the UMA and provide UMB support for programs. Windows 3.0 does not have this feature and subsequently cannot make use of the UMA. This means that the application programming interface (API) translation buffers are always stored in conventional memory or lower memory if EMM386.EXE is loaded. With Windows 3.1, the translation buffers can be loaded into the UMA, and will be, if there is enough free memory in the UMA (4-34K).

This DOES NOT mean that you can load Windows 3.1 high into a UMA. What this means is that Windows 3.1 understands how to access and use the UMA itself, without any interaction on your part.

The available UMBs are used for things that would otherwise have a "low 640 KB conventional" memory footprint. This means that Windows can move things out of an application's way and make the contiguous available space for applications larger by placing things into the UMBs. Primarily, API translation buffers (because they are the largest items) are moved into the UMBs. These buffers are used to map things such as INT 21h, INT 10h, INT 13h, and INT 5Ch calls that are made by Windows- and MS-DOS-based applications. These buffers can take up between 4K and 32K of UMBs.


KBCategory: kbenv
KBSubcategory: win31 winmem
Additional reference words: 3.10


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: November 23, 1994
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.