home *** CD-ROM | disk | FTP | other *** search
- Document 1300
- Memory Management
-
- Initials:
- 11/26/91
- DRDOS 6.0
-
- Keywords:
- EMM386.SYS
- HIDOS.SYS
- EMMXMA.SYS
- UMB
- HMA
- LIM
- EMS
- XMS
-
- Description:
-
- Memory Management Overview
-
- The purpose of a memory management system is to effectively manage
- the Random Access Memory (RAM) available on your computer and to maximize
- memory in which to load your applications. When personal computers
- were first introduced, they operated with as little as 64 kilobytes
- (Kbytes) of RAM. However, as PCs became more sophisticated and powerful,
- so did the application programs that ran on them.
-
- Today, modern applications frequently require 540 Kbytes of memory,
- or more, to load. Ten years ago, that amount of required RAM would
- have seemed vastly excessive. Many common configurations do not have
- sufficient memory for proper fractioning of large applications.
-
- And, although today's computers typically have over 1 Mbyte of RAM
- available, only a portion of the first 640 Kbytes are available for
- DOS applications. Device drivers and TSRs are also typically loaded
- into this area, reducing the memory available for an application.
-
- Memory management software is designed to overcome the problem of
- insufficient conventional memory. The DR DOS memory management system
- is called MemoryMAX.
-
- The DR DOS MemoryMAX System
-
- The term MemoryMAX describes the collection of device drivers and
- commands that are used for memory management under the DR DOS 6.0
- operating system to take advantage of all RAM memory available
- on your computer.
-
- The MemoryMAX system is designed to free-up as much conventional memory
- as possible. It achieves this goal by utilizing certain previously
- unused areas of high and lower memory and by remapping and moving
- other memory areas.
-
- The MemoryMAX system extends the amount of memory available to applications,
- so that even with network drivers and TSRs loaded, there can still
- be 620 Kbytes, or more, conventional memory available. However, the
- exact amount of additional memory that MemoryMAX provides is dependent
- on your particular system's configuration.
-
- The MemoryMAX system consists of three device drivers and six commands.
- The MemoryMAX device drivers and commands are detailed in Chapter
- 11 of the DR DOS 6.0 User Guide, "Customizing your System". This
- table lists MemoryMAX drivers and features by various hardware configurations.
-
- MemoryMAX Features Available with Hardware/Device Driver Combinations
- ________________________________________________________________________
- Applicable | Driver | LIM | DR DOS Kernel | XMS | DR DOS
- Hardware | | | Kernel Relocation | | Upper Memory
- ------------------------------|-------------------|------|--------------
- 386sx, 386 |EMM386.SYS | YES | YES | YES | YES
- or 486 | | | | |
- ------------|-----------|-----|-------------------|------|--------------
- 386sx,386, |HIDOS.SYS | | | |
- or 486, |with Third-| ? | YES | YES | N/S
- |Party XMS | | | |
- |Memory Mgr | | | |
- ------------|-----------|-----|-------------------|------|--------------
- IBM PS/2 |EMMXMA.SYS | YES | N/S | N/S | N/S
- 80286 with | | | | |
- IBM XMA card| | | | |
- ------------|-----------|-----|-------------------|------|--------------
- 80286 with | HIDOS.SYS | N/S | YES | YES | N/S
- Extended Mem| | | | |
- ------------|-----------|-----|-------------------|------|--------------
- 80286 with | HIDOS.SYS | N/S | YES | YES | YES
- Mappable | | | | |
- Shadow Ram | | | | |
- with Ext | | | | |
- Memory | | | | |
- ------------|-----------|-----|-------------------|------|--------------
- 80286 with | HIDOS.SYS | N/S | YES | YES | YES
- Mappable | | | | |
- Shadow Ram | | | | |
- No Extended | | | | |
- Memory | | | | |
- ------------|-----------|-----|-------------------|------|--------------
- 80286 with | HIDOS.SYS | N/S | YES | YES | YES
- NeAT, LeAP, | | | | |
- or SCAT | | | | |
- ------------|-----------|-----|-------------------|------|--------------
- 80286 with | HIDOS.SYS | YES | YES | YES | YES
- LIM 4.0 | with third| | | |
- driver and | party | | | |
- extended | driver | | | |
- memory | | | | |
- ------------|-----------|-----|-------------------|------|--------------
- 8088/8086/ | HIDOS.SYS | YES | YES | YES | YES
- 80286 with | with third| | | |
- LIM 4.0 EMS | party | | | |
- card and no | LIM 4.0 | | | |
- extended | driver | | | |
- ------------|-----------|-----|-------------------|------|--------------
- Supported feature = YES
- Unsupported feature = N/S
- ? = This entry depends on the features offered by third-party memory manager
-
- If upper memory is not supported, HIDEVICE, HIBUFFERS,
- HIINSTALL, and HILOAD commands have no effect. HIDOS=ON|OFF might
- be supported if the third-party memory manager allocates XMS upper
- memory blocks (UMBs).
-
- MemoryMAX System Commands and Drivers
-
- The following is a listing and brief description of the components
- of the MemoryMAX memory management system. Refer to the DR DOS
- 6.0 User Guide for a complete description of each of these features
- and commands.
-
- EMM386.SYS
-
- EMM386.SYS is a device driver that allows the DR DOS 6.0 operating
- system to make better use of the memory available on Intel
- i386, i386SX, and i486-based computers. Using EMM386.SYS,
- you can use LIM 4.0 expanded memory without the need for special add-on
- cards; relocate the DR DOS operating system kernel to upper or high
- memory, and enable upper memory to be used for TSRs, device drivers
- and operating system data structures by using the /AUTOSCAN, /INCLUDE,
- /EXCLUDE, and /USE options. You can also add up to 96 Kbytes to conventional
- memory using the /VIDEO option.
-
- HIDOS.SYS
-
- If you have an Intel 80286-based computer with extended memory, you
- can use the HIDOS.SYS driver to relocate the DR DOS operating system
- kernel to high memory (see the /BDOS option). On computers that support
- Shadow RAM, HIDOS.SYS relocates the kernel to upper memory, and enables
- you to load TSRs, drivers and operating system data structures into
- upper memory. Using the /VIDEO option, you can also add up to 96 Kbytes
- to conventional memory.
-
- Example config.sys entry:
-
- DEVICE=C:\DRDOS\HIDOS.SYS /BDOS=AUTO
-
- HIDOS.SYS can also work in conjunction with LIM 4.0 expanded memory
- (EMS) device drivers to provide upper memory support on 8088/8086/80286
- computers. This feature is detailed in the readme file or Release
- Notes.
-
- Note:
- The HIDOS.SYS driver should not be confused with the
- similarly-named DR DOS MemoryMAX "HIDOS = ON/OFF" command
- (see below).
-
- EMMXMA.SYS
-
- Use this driver on PS/2 80286 computers with IBM XMA and 100% compatible
- memory cards, to convert memory from extended to LIM expanded memory.
- Example config.sys entry:
-
- DEVICE=C:\DRDOS\EMMXMA.SYS /FRAME=D000
-
- Note:
- The EMMXMA.SYS driver can be used only on PS/2 computers,
- and you cannot use the EMMXMA.SYS driver with any third-party memory
- managers (e.g., the Qualitas 386/MAX, or the Quarterdeck Expanded
- Memory Manager 386). You can use HIDOS.SYS following EMMXMA.SYS
- to obtain upper memory support.
-
- The MemoryMAX commands listed below can be used when upper memory
- is supported by loading the EMM386.SYS or HIDOS.SYS drivers in the
- config.sys file.
-
- HIBUFFERS
-
- Use HIBUFFERS to specify the number of memory buffers that the DR
- DOS 6.0 operating system uses. HIBUFFERS performs the same function
- as BUFFERS, except that HIBUFFERS allocates as many buffers as possible
- into high memory rather than conventional memory.
- The following entry in your config.sys file sets the number of buffers
- to 20 and forces the DR DOS 6.0 operating system to allocate as many
- as possible from high memory.
-
- Example config.sys entry:
-
- HIBUFFERS = 20
-
- HIDEVICE
-
- The HIDEVICE command loads specified device drivers into upper memory.
- If the device is unable to load into upper memory using HIDEVICE,
- it will be loaded into conventional memory. The following command
- loads the ANSI.SYS device driver into upper memory:
-
- HIDEVICE=C:\DRDOS\ANSI.SYS
-
- HIDOS
-
- The HIDOS command relocates as much of the DR DOS operating system
- data structures as possible into upper memory. The default is OFF.
-
- Example config.sys entry:
-
- HIDOS=ON
-
- HIINSTALL
-
- The HIINSTALL command loads specified TSRs into upper memory. If there
- is insufficient upper memory for the specified TSR, it is loaded into
- conventional memory.
- Although similar to the HILOAD command (see below), HIINSTALL must
- be loaded via the config.sys file. Use HIINSTALL when you want
- a TSR permanently loaded at boot time because of best memory allocation
- (see the example in Chapter 2). The following command installs the
- CURSOR program into upper memory:
-
- HIINSTALL=C:\DRDOS\CURSOR.EXE
-
- Notice that you must give the full path name to the program and its
- extension (.com or .exe).
-
- HILOAD
-
- HILOAD loads specified TSRs and network drivers into upper memory.
- HILOAD is similar to the HIINSTALL command (which must be loaded using
- the config.sys file), but can be executed from the command line
- or from the autoexec.bat or other batch file.
- Before using HILOAD, you must be sure that upper memory has been enabled
- with the MEMMAX +U command.
-
- For example,
-
- C:> HILOAD C:\LAN\NET3
-
- MEMMAX
-
- The MEMMAX command selectively enables and disables those enhanced
- memory areas provided by the DR DOS 6.0 operating system that might
- conflict with some applications. By using the MEMMAX +V switch, MEMMAX
- also enables extra memory if it has been reserved in the video adapter
- area by EMM386.SYS or HIDOS.SYS. You can execute the MEMMAX command
- from the command line or a batch file (see Chapter 10 of the DR
- DOS 6.0 User Guide).
-
- Note:
- If you enabled the video adapter area by using MEMMAX
- +V, you must use the MEMMAX -V command to release this memory before
- loading graphics applications.
-
- The HIDOS.SYS and EMM386.SYS device drivers can increase the conventional
- memory available to applications by using upper memory. However, some
- programs fail because they do not expect to find memory in this region.
- MEMMAX allows you to selectively enable and disable upper and lower
- memory from the command line or from batch files. MEMMAX +U and
- -U will respectively enable and disable upper memory. The DR DOS
- 6.0 installation will place the command "MEMMAX -U > nul"
- into the autoexec.bat file. The "> nul" disables the display
- of the MEMMAX status message on the screen.
-
- MEMMAX -L and +L will respectively disable and enable the first 64
- Kbytes of conventional memory. This region is termed "low memory". Usually
- the operating system resides in low memory; however, by using the
- DR DOS 6.0 MemoryMAX features, most of this area can be made available
- for running applications. Some applications were written using packing
- utilities that become confused when run in this low memory. If this
- happens, the following message appears:
-
- "Packed file is corrupt".
-
- To correct this situation, use the MEMMAX -L command to disable low
- memory before running the application. After exiting the application,
- use MEMMAX +L to enable the low memory area once again.
-
- Example:
- The following example shows how you can use the MEMMAX command in
- a batch file that loads network drivers into upper memory. The example
- assumes that you have already loaded a DR DOS 6.0 device driver that
- supports upper memory.
-
- REM * * * MEMMMAX to open upper memory * * *
- MEMMAX +U
- HILOAD C:\LAN\IPX
- HILOAD C:\LAN\NET3
- REM * * * * Disable lower memory * * *
- MEMMAX -L
- I:
- CD LOGIN
- REM * * * * Reopen lower memory * * * *
- MEMMAX +L
-
- Conclusion
-
- While the MemoryMAX memory system works well with most application
- programs, you might still encounter occasional difficulty. The following
- chapters present the steps recommended for resolving such memory conflicts.
-