Memory Use in DOS

 Document 1305

MEMORY USE


Initials:

MDC

        11/2/91

        DRDOS 6.0

        

Keywords:

MEM

        MEMORY

        EMM386.SYS

        EXTENDED

        EXPANDED

        LENDING

        EMS

        XMS

        

Description:

        When using the EMM386.SYS device driver, you may notice that the

        MEM command can display a memory report that seems to show more

        memory available than exists on your computer. For example,

        consider the following EMM386.SYS device driver line on a

        computer with 3,072 Kbytes of Extended memory:

        

        DEVICE=C:\DRDOS\EMM386.SYS /F=AUTO /K=AUTO /B=FFFF /R=AUTO

        

        This line has the effect of converting all Extended memory into

        Extended via XMS and EMS (expanded) memory. The resulting MEM

        report might show that the computer has 3,072 Kbytes of Extended

        memory and 3,072 Kbytes of EMS memory under the "Total Bytes"

        column, with 2,864 Kbytes of Extended via XMS memory and 2,864

        Kbytes of EMS memory under the "Available" column as shown below.

        

        / Memory Type -------- Total ---------- Available ---\

        |                  |                |                |

        | Conventional     |    (    60K )  |    (   626K )  |

        | Upper            |    (    96K )  |    (    79K )  |

        | High             |    (    64K )  |    (    18K )  |

        | Extended         |    ( 3,072K )  |    (     0K )  |

        | Extended via XMS |        N/A     |    ( 2,864K )  |

        | EMS              |    ( 3,072K )  |    ( 2,864K )  |

        \----------------------------------------------------/

        

        To understand this, it might be helpful to view the total

        Extended memory available on a computer as comprising a dynamic

        pool of memory. This memory can be viewed as dynamic because it

        is available to be accessed either as Extended via XMS memory or

        as EMS (expanded) memory depending on the "/K" setting on the

        EMM386.SYS device driver. In the case shown above, "/K=AUTO"

        tells EMM386.SYS to allow ALL of the Extended memory pool to be

        accessed as Extended via XMS memory and EMS memory in equal

        portions. The MEM command therefore shows both amounts of memory

        as being available because you or your applications might want

        to use a portion or all of the memory pool as either Extended

        via XMS memory or EMS memory. The "/K" switch can be used to put

        a limit on the amount of EMS memory to be created from the total

        memory pool. The following EMM386.SYS device driver line on the

        same computer with 3,072 Kbytes of Extended memory will limit

        the amount of EMS memory to be created from the total memory

        pool by setting the "/K" option to "/K=1024":

        

        DEVICE=C:\DRDOS\EMM386.SYS /F=AUTO /K=1024 /B=FFFF /R=AUTO

        

        This line will still cause EMM386.SYS to convert all of the

        memory pool into Extended via XMS, but it will limit the amount

        of EMS to 1,024 Kbytes. The resulting MEM report might show that

        the computer has 3,072 Kbytes of Extended memory and 1,024

        Kbytes of EMS memory under the "Total Bytes" column, with 2,864

        Kbytes of Extended via XMS memory still available but only 896

        Kbytes of EMS memory under the "Available" column as shown below.

        

        / Memory Type -------- Total ---------- Available ---\

        |                  |                |                |

        | Conventional     |    (   640K )  |    (   626K )  |

        | Upper            |    (    96K )  |    (    79K )  |

        | High             |    (    64K )  |    (    17K )  |

        | Extended         |    ( 3,072K )  |    (     0K )  |

        | Extended via XMS |        N/A     |    ( 2,864K )  |

        | EMS              |    ( 1,024K )  |    (   896K )  |

        \----------------------------------------------------/

        

        You will notice in both of the above examples, that there is a

        difference between the "Total Bytes" of Extended memory and the

        "Available" bytes of Extended via XMS memory and a similar

        difference between the "Total Bytes" of EMS memory and the

        "Available" bytes of EMS memory. This is due to the amount of

        "overhead" memory used by the EMM386.SYS software to convert the

        memory pool into both types of available memory.

        

        XMS memory is extended memory created by memory management

        software which conforms to the XMS specification developed by

        Lotus, Intel, and Microsoft. The DR DOS memory management

        software device driver (EMM386.SYS) fully supports this

        specification and, as a result, initially converts ALL of the

        computer's available extended memory into XMS extended memory.

        This is the reason that there is no "Extended" memory listed in

        the "Available" column of the DR DOS MEM report; it has all been

        converted to XMS memory by the EMM386.SYS device driver. This is

        also the reason why Extended via XMS lists as "N/A" under the

        "Total Bytes" column; XMS memory is created by a software device

        driver and is not present at boot time.

        

        Note:  EMS memory is listed with a specific value under the

        "Total Bytes" column by the MEM report unlike the Extended via

        XMS listing. EMS memory can be created by a software device

        driver (like EMM386.SYS alone) or can be created by EMS

        (LIM 4.0) hardware memory boards and their accompanying device

        driver. This specific value is intended to reflect this EMS

        memory created by the "/K" option on the EMM386.SYS device

        driver line or "hardware" EMS memory created by certain

        platforms, typically non- 386/386sx/486 platforms, which

        actually contain EMS (LIM 4.0) hardware.


Comments

Popular posts from this blog

BOTTOM LIVE script

Fawlty Towers script for "A Touch of Class"