Printer Friendly

Thanks for the memory.

IN THIS SECOND of a two-part series on using computer memory optimally, we look at the differences between expanded and extended memory and how to add both to a new--or not-so-new--computer.

* Expanded memory. Lotus Development Corp. (Cambridge, Mass.), Intel Corp. (Portland, Ore.), and Microsoft Corp. (Redmond, Wash.) designed a memory management specification called EMS 4.0 that allows some programs to use expanded memory. This protocol takes advantage of the fact that DOS has always been designed to address memory from 0 KB to 1,024 KB, although only conventional memory between 0 and 640 KB was supposed to be available to the user.

Expanded memory is memory in excess of 1,024 KB that can be readdressed to appear as if it resides in upper memory. To use this memory, a special 64 KB window called the expanded memory page frame is created in the upper memory addressed between 640 KB and 1,024 KB (see Figure 1). Expanded memory is then "paged" through this address window in 16 KB chunks.

Software must adhere to the EMS specification to be able to use the expanded memory page frame address in upper memory. If the memory is supplied on a special memory board, the board also needs to be configured to match the EMS specification before it can be used as expanded memory and a specific driver program must be added to your CONFIG.SYS file.

While making more memory available to the user, the paging process is much slower than addressing memory locations directly as is done in conventional (lower) memory. Consequently, large spreadsheets calculate slower and word processing programs can become quite sluggish when working with large files. Programs like Lotus (Lotus Development Corp., Cambridge, Mass.) and WordPerfect (WordPerfect Corp., Orem, Utah) do not load into expanded memory but will use the extra memory for data files as needed.

* Expanding memory in PC-XTs. Adding a memory card is about the only effective way to relieve a memory crunch in a PC-XT class computer. I use a matched memory board (Intel) on my PC-XT; it has 2 MB of expanded memory of which 1 MB is configured as a RAM drive (the electronic equivalent of an extra disk drive).

This configuration has supported the integrated program I use, Enable version 4.0 (Enable Software, Ballston, NY), well for more than a year. The RAM disk serves as an excellent location for temporary reference files generated by my software and is much faster than reading or writing to my antique hard drive. And while EMS memory is supposed to be slower than conventional memory, it does not appear noticeably so to me.

* Extended memory. The advantage of using extended memory is that it can be addressed directly and thus is much faster than expanded memory. Since 80286, 80386, and 80486 CPUs can directly address any memory location from 0 KB to 16 MB (80286) or 1 GB in 80386 and 80486 CPUs, these machines do not need to rely on paging memory via the EMS 4.0 specification. The memory above 1,024 KB is called extended memory (XMS) and is addressed via an extended memory protocol. As with expanded memory, however, software must be written to use XMS.

A problem arises when using software packages that use memory differently. Some programs are written to use expanded memory via EMS 4.0 protocol, while others are written to use extended memory via XMS protocol. If extra memory has been configured as EMS, that memory will not be available to programs using the XMS protocol and vice versa.

* Manipulations with DOS. To further complicate matters, many older programs are written to use only the 640 KB in conventional memory, so you're stuck with only what will fit unless you can find a way to relocate some of the program code, such as DOS, to a higher memory location. Relocating DOS into upper memory on machines with 80386 and 80486 CPUs was made possible with the release of MS-DOS 5.0. Included with the DOS 5.0 upgrade is HIMEM.SYS, a program that provides access to extended memory and insures that no two programs can use the same memory address. Another program, EMM386, supplied with DOS 5.0, allows the user to set aside some of the extended memory as expanded memory so that both expanded and extended memory are made available as needed. Statements to utilize these programs or drivers are placed in the CONFIG.SYS file using a text editor and discussed in depth in the DOS manual (versions 5.0 and up). Unfortunately, these enhancements only work fully on 80386 CPUs and higher.

Booting my computer at work (a 386 SX/20 with 6 MB) with MS-DOS 5.0 without any enhancements yielded 576 KB of usable conventional memory and no usable upper or extended memory. Using HIMEM.SYS and EMM386.SYS and loading MS-DOS into upper memory yielded 613 KB of usable conventional memory and 5,460 KB of extended or expanded memory as needed.

One of the outstanding features of MS-DOS 6.0 and 6.2, both of which are now available, is a utility program, MEMMAKER.EXE, that will analyze your configuration and make the appropriate changes for you. Both versions also have several other features, such as integral file compression for more disk space, which make them a significant advance over version 5.0 for 80386 and higher CPUs. Booting a 386 SX/20 with version 6.2 yielded 575 KB before using MEMMAKER and 619 KB after running MEMMAKER--a net gain of 44 KB.

* Commercial memory management options. After optimizing with MEMMAKER, I tried using two commercial memory management programs, QEMM386 (Quarterdeck Office Systems, Santa Monica, Calif.) and 386MAX (Qualitas, Inc., Bethesda, Md.), to increase the amount of conventional memory even further. Both programs yielded 10 to 13 KB more memory with MS-DOS version 5.0. Shortly after the release of MS-DOS 6.0, both QEMM386 and 386MAX introduced new versions. Using MEMMAKER on MS-DOS 6.2, my available conventional memory went from 539 KB to 610 KB--an increase of 71 KB. Using 386MAX on MS-DOS 6.2, my available conventional memory went from 539 KB to 585 KB--an increase of 46 KB. Using QEMM386 on MS-DOS 6.2, my available memory increased from 539 KB to 627 KB--a jump of 88 KB.

In all cases, the same start-up configuration (AUTOEXEC.BAT and CONFIG.SYS files) was used. The amount of conventional memory recovered will vary with the kind of device drivers and TSR programs used. In all but the most basic configuration, the yield in usable memory can be significant. Like MEMMAKER, both QEMM386 and 386MAX have automatic setup programs that evaluate your configuration and determine the best way to place your DOS, device drivers, and TSRs in memory. In each case, the automatic analysis and configuration takes about 5 to 10 minutes.

* For PC-XTs with 8088 CPUs. It should be noted that the enhancements Microsoft made to DOS after version 3.3 can only be fully appreciated on 80286 and subsequent CPUs. For those people who still use PC-XTs with 8088 CPUs, there is not much advantage to upgrading DOS beyond version 3.3, or perhaps even 3.1.

Figure 2 lists the amount of memory required by system files (DOS) for different versions of DOS between 2.01 and 6.2 on my venerable PC-XT turbo at home and a 80386 SX/20 at work. While version 6.2 requires 62 KB to load system files on my XT, version 3.1 only needs 48 KB. Perhaps the least expensive way to recover some conventional memory on an XT class machine is to restore MS-DOS version 3.1. Before you take such action, however, check the documentation of your programs to see whether they will operate with earlier versions of DOS; most will. Lotus (versions 2.0 and forward) and WordPerfect (versions 4.0 and forward) will run perfectly well on DOS 2.01.

Some programs work just fine with everything loaded into conventional memory. On the other hand, if you require the extra space on your 80386 or higher, try upgrading to MS-DOS 6.2 and using MEMMAKER. If you are still using an XT class with a 8088 CPU, consider restoring an earlier version of DOS and/or adding a memory card (which may require DOS version 3.0 or higher.).

William Sottile is laboratory director of Upper Peninsula Laboratory, Michigan Department of Public Health, Houghton, Mich.
COPYRIGHT 1994 Nelson Publishing
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 1994 Gale, Cengage Learning. All rights reserved.

Article Details
Printer friendly Cite/link Email Feedback
Title Annotation:part 2; using computer memory optimally
Author:Sottile, William
Publication:Medical Laboratory Observer
Date:Aug 1, 1994
Previous Article:Revamping the lab's staffing structure.
Next Article:When delegating is not the answer.

Related Articles
Computer Zone. (part 4).
SGI embraces openness.
Deflashing units.

Terms of use | Privacy policy | Copyright © 2021 Farlex, Inc. | Feedback | For webmasters |