home *** CD-ROM | disk | FTP | other *** search
-
- ----------------------------------------------------------------
-
- UNDERSTANDING AND MANAGING MEMORY
-
- ----------------------------------------------------------------
-
- With so much information to absorb, a tutorial on the topic of
- computer memory seems dry and uninviting. Computer novices and
- advanced users alike might be tempted to sidestep the topic of
- computer memory. After all, if you just want to USE the computer
- to accomplish a task isn't it enough to know that data is stored
- in either RAM (random access memory) integrated circuit chips or
- on a disk drive and leave the troublesome details to the
- computer? Hardly...
-
- If you want to get serious about configuring your computer for
- speed, be able to switch between several software programs
- quickly, troubleshoot mysterious software problems or optimize
- your computer for larger data processing tasks - learning to
- manage memory is an ESSENTIAL survival skill. The tricks and
- reference ideas presented in this tutorial make the difference
- between a computer that simply does the job and a computer that
- flies through piles of work. Later in this tutorial we will
- present some unusual "power user" tips to manage computer memory
- effectively. But first, let's step back, take a breath a pull
- together a few basic concepts from previous tutorials.
-
- Computer memory is divided into two types. Disk storage which is
- long term storage. And RAM (random access memory) which is short
- term storage. RAM is only active as long as power is supplied to
- the computer. In a physical sense, RAM exists within small
- integrated circuit "chips" housed within the computer.
-
- A byte is simply computer-speak for a character of information
- within a RAM chip memory area of the computer. Think of a byte
- as a small filing cabinet drawer in a busy office. The letter
- "A" occupies one byte of information. A kilobyte is roughly
- 1,000 bytes of information. Actually it is 1,024 bytes or the
- number two multiplied to the eighth power since computers deal
- in binary math. A kilobyte is actually a small amount of storage
- space - perhaps a short business letter in size. A kilobyte can
- be written as 1K. A megabyte is a million bytes - 1M written in
- computer shorthand. These terms are frequently abbreviated as
- kilo (or K), mega (or M) and giga (or G). You may also see KB
- for kilobytes or MB or MEG for megabytes.
-
- Some memory storage areas of the computer cannot be changed,
- however. ROM or read only memory is also held in special
- computer chips. These chips do not lose their information when
- power is removed. ROM chips contain special startup instructions
- used when the computer is first turned on as well as specific
- instructions such as how to use the disk drives and computer
- memory. ROM memory is fixed. RAM memory, however, is flexible
- and can be configured to suit different needs.
-
- To make things a little more interesting, RAM is available in
- two "flavors" or types. Dynamic RAM, sometimes abbreviated as
- DRAM which is relatively inexpensive and is the most common type
- of memory used in computers today. A second type, static RAM (or
- SRAM), is similar to DRAM but much faster in operation. Static
- RAM is usually configured for very fast "cache" memory which the
- central processor uses for temporary storage when DRAM would
- slow processing operations. Many computers do not contain SRAM
- and for the most part this tutorial deals with the management of
- dynamic RAM or DRAM; and this is where the majority of your data
- and software resides when the computer is operational.
-
- To make the next jump in understanding we need to draw a map.
- Pay close attention, because understanding and managing this map of
- computer memory is where the secrets and tricks to boosting
- computer performance lie. We will dissect this map carefully in
- the paragraphs which follow...
-
- ------ A map of RAM computer memory ------
-
-
- Conventional Memory Upper Memory Extended Memory
-
- 0K 640K 1Meg
- | ---------------------|--------------------|-------------------->
- xxxx xxxxxxxxxxxxxxxxxx xxx xxx xxx xxx xxx xxx xxxxxxxxxxxxxxxxx
- | | | | | | |
- | | | | | | |
- | | video | window for | extended memory (XMS)
- hardware code, | | expanded | where software can
- system data, | | memory (EMS) | be relocated
- device drivers, | | |
- memory resident | useful upper |
- programs | memory blocks |
- | or UMB high memory area
- | (HMA), the first
- free conventional 64K of extended
- memory: for programs memory
-
- Tip: we will be referring to this map frequently so you might
- want a paper copy for frequent reference. Simply make sure the
- map is fully on your screen, turn on your printer and tap the
- Print-Screen key, sometimes abbreviated PrtSc or PrtScrn. If
- that does not work, try pressing the shift key (and hold it
- down) and then press the Print Screen key. Keep the map close by
- as our tutorial unfolds!
-
- The above map of RAM memory looks technical and complex, but is
- actually quite simple. As we describe each section of the map,
- flip back and take a glance to refresh your "visual"
- understanding of this map. Once you understand this memory map
- you can "rearrange" how the DRAM memory of your computer is used
- for more effective, speedy computing!
-
- The above map is analogous to a long wall of filing cabinet
- drawers. Each drawer can contain a computer piece or byte of
- information. Obviously, since we are dealing with millions of
- bytes this is a VERY long wall of filing cabinet drawers! Each
- filing cabinet has an address or location. The central processor
- in the computer also uses an addressing scheme to locate
- information in RAM memory. Note that the central processor in
- the computer can either read information from RAM or write
- information to RAM. RAM is somewhat like paper - it can store
- information. And the central processor holds a pencil and eraser
- so that it can read and write information as needed.
-
- At the far left at 0K (zero thousand bytes of information) we
- notice that the RAM memory "filing cabinet drawers" store
- hardware code and system data including the MSDOS operating
- system itself. Normally device drivers and memory resident
- programs (TSR's) are stored in this area as well.
-
- Moving to the right, next we see the free conventional memory
- where software such as a spreadsheet or word processor is held.
- This is the main memory area which concerns computer users and
- it is this area which can and should be maximized for effective
- computer use.
-
- Moving further to the right we see an important boundary exists
- at the memory location of 640K (640 kilobytes). It is here at
- the DOS 640K boundary that DOS does not normally allow a program
- to access further RAM memory. This is a design decision which
- was made when the first IBM desktop computer was manufactured
- and is based on the microprocessor selected at that time (8088
- CPU) and considerations of where to place video and disk drive
- memory access on those early machines. Although this 640K
- boundary was not meant to be crossed by software, clever memory
- management techniques will allow you to use RAM memory above the
- 640K barrier.
-
- Moving further to the right along the map we see the upper
- memory area which lies between 640K and 1 Meg. This memory is
- unique in that it is normally used to address hardware devices
- like your video monitor and disk controller which need a spot in
- memory to do their work. However some of this upper memory area
- can be reclaimed for other uses. One of the earlier schemes to
- reclaim this area was an memory management scheme called
- expanded memory sometimes abbreviated as EMS.
-
- Finally, beyond the memory location at 1 Meg lies true extended
- memory which can be used for a variety of fascinating purposes -
- either actively by configuration of the user or passively by
- software which will detect and use expanded memory. Extended
- memory is abbreviated as XMS. Note that extended memory (XMS)
- can be installed in large amounts. A computer can have 2 Megs of
- memory, 4 Megs, 16 Megs and even more! The first 64K of extended
- memory is called the high memory area, sometimes abbreviated as
- HMA.
-
- The secrets of memory management, then, lie outside or above the
- conventional 640K of RAM memory. Although 640K of conventional
- memory (640,000 bytes) sounds like a lot of RAM memory, today's
- advanced software uses memory voraciously! Let's pause for a
- moment and define the three specific types of memory seen above.
-
- CONVENTIONAL MEMORY. The first 640K of RAM memory. Conventional
- memory is used by applications software such as databases and
- word processors. It is sometimes called DOS memory. You can
- never have more than 640K of conventional memory due to the
- design of the original IBM PC. All PC clones share this
- conventional memory similarity. In order to use memory beyond
- 640K you need to use special memory management software which is
- contained in later versions of DOS (versions 5.0 and 6.0) or a
- commercial or shareware memory management software package.
- Clever memory management can move some portions of DOS itself
- and the operating system out of conventional memory where it
- normally resided into upper or extended memory areas of RAM.
- This frees more conventional memory for use. Likewise, memory
- resident software programs and TSR's such as popup calendars,
- notepads and calculators can be moved out of conventional memory
- into upper or extended memory areas.
-
- EXTENDED MEMORY. RAM memory which resides from the normal 1MB
- DOS limit to the top address limit of the CPU (central
- processing unit). This means to the top limit of the memory you
- have installed in the machine - 8 Megs of memory, for example.
- Using special software it is possible to convert extended memory
- to expanded memory. Extended memory is useful for software tasks
- like RAM disks, print buffers and other applications. Many
- software applications such as databases and spreadsheets can use
- extended memory for large tasks. Extended memory is also called
- XMS memory.
-
- EXPANDED MEMORY. RAM memory which can be accessed only through a
- "window" or "page frame" set up inside the first 1 Megabyte of
- RAM. The usual limit of expanded memory is 32MB. Segments of
- this memory are quickly "paged in and out" of the memory window
- to create an illusion to the central processing chip of a large
- amount of memory - something like flipping the pages of a cartoon
- book to animate a story. Many applications such as spreadsheets
- and databases can use this memory to handle large tasks.
- Expanded memory is also called EMS memory. This type of memory
- is not commonly used today and was an early memory management
- standard. However, some software still supports this system. If
- you see references to LIM 3.0 or LIM 4.0 this is a clue that
- expanded memory can be used. Remember, extended memory can be
- converted to expanded memory using special software. Within DOS
- versions 5.0 and 6.0 a special software utility can make
- extended memory operate as expanded memory. This DOS utility is
- called EMM386 and only works on 80386 or higher central
- processors. Lotus, Intel and Microsoft Corporations (the letters
- of each company gave rise to the LIM specification) developed
- the early expanded memory management scheme when it was realized
- that early spreadsheets and other software needed more space
- than the existing 640K of conventional memory.
-
- Of the two types, extended memory and expanded memory, today's
- software is usually configured to use extended memory if
- available. Even older XT computers, those using the 8088
- processor, can use expanded memory if an additional memory
- circuit board is installed. However XT class machines cannot use
- extended memory which is only available to machines using 80286,
- 80386 and 80486 processors and their variants.
-
- A concrete example to keep things simple. A customer might
- purchase a computer with 4 Megs or 4MB of memory. Of this, 640K
- is conventional memory. 384K is upper memory and the final 3M (3
- Megs) is extended memory.
-
- Early XT class computers using the 8088 processor had only 640K
- of RAM or possibly 1 Meg of RAM. Users of AT class machines
- using the 80286 central processor frequently install between 2
- Megs and 4 Megs of RAM. Owners of computers housing 386, 386SX,
- 486 or 486SX processors are able to access more than 16MB (16
- megabytes) of RAM. However, 4 to 8 Megs of RAM is considered a
- comfortable amount of memory on modern machines. A few "power
- users" may install 16 Megs or more of RAM memory. Note that XT
- computers using 8088 central processors cannot use extended
- memory.
-
- Software programs that can run directly in extended memory are
- sometimes called DOS-extended programs. These types of programs
- can tell the central processor to switch to a special PROTECTED
- mode of operation for greater RAM memory access. Protected mode
- processors such as those based on the 80286, 80386 and 80486 can
- switch to protected mode to address greater amounts of memory.
- These processors switch from REAL mode into PROTECTED mode to
- address greater amounts of memory. The lowly 8088 processor used
- in the first IBM PC's operated only in REAL mode. Today many
- software programs use DOS extenders within their software code
- which allow computers to run in protected mode and thus address
- greater amounts of memory.
-
- Although commercial software memory management utilities exist
- such as QEMM-386 and QRAM (from the Quarterdeck Company) and
- 386MAX (from the Qualitas Company), DOS itself contains valuable
- software utilities to also accomplish the job. Note that users
- of DOS versions 5.0 and 6.0 have a variety of tools which can be
- used to configure memory for more efficient use. If you are not
- sure what version of DOS you have, simply type the DOS version
- command at the DOS prompt: VER <then press enter/return key>.
- DOS will tell you what version you are running.
-
- The extended memory management utility program contained in DOS
- versions 5.0 and 6.0 is called HIMEM.SYS. It allocates and
- manages memory so that no two software programs try to use the
- same chunk of memory at the same time. A HIMEM.SYS statement is
- normally added to the CONFIG.SYS file which resides in the root
- directory of your hard drive.
-
- Let's roll up our shirt sleeves and study HOW to manage memory.
- Be sure to glance at the memory map presented earlier in this
- tutorial to visualize what you are doing as this section of the
- tutorial progresses. Remember that many of these DOS commands
- and functions are ONLY found in DOS 5.0 and 6.0. Users of
- earlier versons of DOS can use special commercial and shareware
- utility software to emulate these functions if they do not own
- or wish to purchase DOS 5.0 or DOS 6.0.
-
- ----------------------------------------------------------------
-
- THE DOS MEM COMMAND PRODUCES ESSENTIAL REPORTS
-
- ----------------------------------------------------------------
-
- If you are using DOS version 5.0 or 6.0 here is your first
- homework assignment. Use the MEM command to give you a report of
- the programs in memory, type of memory your machine contains and
- totals of each type of memory. At the DOS prompt type the
- command: MEM /C <then press enter/return key). A report
- will appear which contains useful information about the size and
- location of programs in memory. As you tinker with different
- configurations of memory run MEM /C from time to time to see how
- memory is used. Note that MEM actually has three command line
- switches of which MEM /C is the most useful.
-
- If the report scrolls by too quickly use the DOS MORE command to
- slow it down. Type the following: MEM /C|MORE
-
- Want to print the report to paper? Try this: MEM /C>PRN
-
- Want the report printed to a small file for reading later? To
- create a report named CATFISH.TXT try this: MEM /C>CATFISH.TXT
-
- MEM syntax is:
-
- MEM [/CLASSIFY|/DEBUG|PROGRAM]
-
- Parameters:
-
- /CLASSIFY Provide list of programs in conventional and
- or /C upper memory
-
- /DEBUG Provide list of programs and device drivers
- or /D loaded in memory
-
- /PROGRAM Provide list of programs in memory
- or /P
-
- The /C parameter switch is perhaps the most useful for
- determining contents of upper memory and may called from a batch
- file such as AUTOEXEC.BAT to confirm critical upper memory every
- time your machine is started!
-
- Be sure to run the MEM /C command from time to time as you
- tinker with memory. This is VITAL to achieving optimum memory
- configuration.
-
- ----------------------------------------------------------------
-
- TINKERING WITH CONFIG.SYS AND AUTOEXEC.BAT
-
- ----------------------------------------------------------------
-
- The key to tinkering with memory is to rearrange the commands
- within two files usually stored within the root directory of
- your hard drive. These special configuration and start up files
- are CONFIG.SYS and AUTOEXEC.BAT. They are discussed in the
- advanced DOS tutorial and the batch file tutorial in a earlier
- section of PC-Learn so you might want to read those two
- tutorials a second time to brush up a bit before proceeding.
-
- To change the commands and statements within CONFIG.SYS and
- AUTOEXEC.BAT we need a text editor or word processor - DOS
- versions 5.0 and 6.0 provides a simple editor called EDIT.COM.
- To load a file named CONFIG.SYS into the editor simply type the
- command: EDIT CONFIG.SYS. For hard drive users, since
- CONFIG.SYS usually resides in the root directory of the hard
- drive, the command might instead be EDIT C:\CONFIG.SYS. Then you
- can change and rearrange statements in the file. When you are
- done tinkering simply use the editor to save the file back to
- disk in the newly revised version.
-
- Be SURE to save a spare copy of both CONFIG.SYS and AUTOEXEC.BAT
- on a spare floppy disk just in case your tinkering leaves your
- machine operating poorly. If necessary you can then reboot the
- computer from a fresh copy of DOS on floppy disk and then recopy
- the old versions of CONFIG.SYS and AUTOEXEC.BAT back to the hard
- drive root directory. If you are using your word processor to
- affect changes in CONFIG.SYS or AUTOEXEC.BAT be sure to save the
- file in pure ASCII format and not WordPerfect or Microsoft Word
- format!
-
- Let's get to work...
-
- Assuming you have a computer with 80286, 80386 or 80486 processor
- and MORE than 1 Meg of RAM memory you can load DOS itself into
- the high memory area. You must be running DOS 5.0 or 6.0 to use
- this trick. Add the following two lines as the FIRST two
- statements of your CONFIG.SYS file:
-
- C:\DOS\HIMEM.SYS
- DOS=HIGH
-
- When you have done this, reboot your computer to let the revised
- CONFIG.SYS take charge! Test available memory by running the test
- utility MEM /C.
-
- HIMEM.SYS is the high memory manager of DOS. The two lines given
- above must be placed as the FIRST lines before other upper
- memory mangers or statements within the CONFIG.SYS file (for
- example, before EMM386.EXE is loaded). The command DOS=HIGH
- tells DOS to load itself in the high memory area.
-
- ----------------------------------------------------------------
-
- LET'S TINKER WITH THE UMA
-
- ----------------------------------------------------------------
-
- Memory resident programs, also called TSR's (terminate and stay
- resident software) can also be moved out of conventional memory
- into the UMA (upper memory area) of extended memory. This is
- done by using the software utility found in DOS 5.0 and 6.0
- called EMM386.EXE. Note that EMM386.EXE will ONLY work on 80386
- and 80486 computers (as well as their close cousins, the 80386SX
- and 80486SX computers).
-
- We will add another line or so to the CONFIG.SYS file to
- accomplish this. Note that you can add several parameters to the
- EMM386 command. The command has several variations. For example,
- you might want to tell EMM386 to NOT create expanded memory from
- extended memory. This is done by inserting the following command
- in the CONFIG.SYS file and then rebooting the computer:
-
- DEVICE=C:\DOS\EMM386.EXE NOEMS
-
- Note the word "NOEMS" which sets the computer so that extended
- memory is NOT used for expanded memory. However, if you want to
- convert 2 MB of extended memory to expanded memory and also want
- EMM386 to manage DOS programs in extended memory add this
- command to CONFIG.SYS:
-
- DEVICE= C:\DOS\EMM386.EXE RAM 2048
-
- ----------------------------------------------------------------
-
- LET'S LOAD TSR'S AND DEVICE DRIVERS INTO UMA
-
- ----------------------------------------------------------------
-
- Let's load device drivers and TSR programs into the upper memory
- area (UMA). First, run the MEM /C command and study the report.
- Find the entry marked "largest available upper memory block".
- Next determine the size of the largest device driver listed in
- the conventional memory list that could fit into this vacant
- space in memory. Let's say that somewhere in your CONFIG.SYS you
- are using the device driver ANSI.SYS which is currently loaded
- into the conventional memory area. To send it into the upper
- memory area CHANGE this command in CONFIG.SYS:
-
- DEVICE=C:\DOS\ANSI.SYS
-
- to this new command:
-
- DEVICEHIGH=C:\DOS\ANSI.SYS
-
- Reboot the computer, run the MEM /C command and study the
- result. As you locate areas in upper memory which are free, try
- to tuck device drivers such as ANSI.SYS and others into upper
- memory by modifying the DEVICE= statement into the
- DEVICEHIGH= statement.
-
- Device drivers such as DOSKEY, GRAPHICS, and MOUSE drivers can
- all be loaded into upper memory using this tip!
-
- You further modify this technique by adding the following
- statement to the DOS=HIGH command that we placed in CONFIG.SYS.
-
- Instead of seeing this statement: DOS=HIGH
-
- We would see this statement: DOS=HIGH,UMB
-
- This modification tells DOS that programs are loaded into the
- upper memory blocks (programs such as the mouse driver or
- ANSI.SYS, that we discussed) and that DOS should maintain a sort
- of "memory link" to them. If you forget to add this switch
- (,UMB) then DOS will load the devices high into upper memory but
- will NOT be able to operate them since it does not know they
- have been relocated.
-
- Be sure to use the MEM /C command from time to time to see how
- you are doing on memory optimization. Be sure to reboot (or
- restart) the computer each time you make a modification to see
- the results.
-
- Next, a curve ball! The above method works for device drivers
- (like the mouse driver or ANSI.SYS), but what can be done if you
- want to load a memory resident TSR program (terminate and stay
- resident or popup program) into upper memory? Instead of the
- DEVICEHIGH= command inside the CONFIG.SYS file, use a
- different command: LOADHIGH. But be careful! The LOADHIGH
- command is used ONLY in the AUTOEXEC.BAT file, NOT in the
- CONFIG.SYS file. For example, a computer user might be running
- the TSR program DOSKEY which is a useful macro processor found
- in DOS versions 5.0 and 6.0. Instead of this command in the
- AUTOEXEC.BAT: DOSKEY the following memory efficient
- command might be used in AUTOEXEC.BAT: LOADHIGH DOSKEY
-
- ----------------------------------------------------------------
-
- BEFORE AND AFTER OPTIMIZATION: EXAMPLES
-
- ----------------------------------------------------------------
-
- Sometimes it is helpful to study actual examples of memory
- optimization. With that in mind, listed below are some sample
- CONFIG.SYS and AUTOEXEC.BAT files both before and after memory
- optimization. Remember that these two files normally reside in
- the root directory of your hard drive C:\ Be sure to save
- your original files on floppy in case you your tinkering
- produces unworkable results.
-
- CONFIG.SYS (BEFORE OPTIMIZATION)
-
- DEVICE=C:\DOS\ANSI.SYS
- FILES=20
- BUFFERS=30,8
-
- CONFIG.SYS (AFTER OPTIMIZATION)
-
- DEVICE=C:DOS\HIMEM.SYS
- DOS=HIGH,UMB
- DEVICE=C:\DOS\EMM386.EXE NOEMS
- DEVICE=C:DOS\SMARTDRV.SYS 1024 2048
- DEVICEHIGH=C:\DOS\ANSI.SYS
- FILES=20
- BUFFERS=30,8
-
-
- AUTOEXEC.BAT (BEFORE OPTIMIZATION)
-
- PROMPT $p$g
- PATH C:\;C:\DOS;\C:\GAMES
- C:\DOS\DOSKEY.COM
- C:\DOS\MOUSE
-
- AUTOEXEC.BAT (AFTER OPTIMIZATION)
-
- PROMPT $p$g
- PATH C:\;C:\DOS;\C:\GAMES
- LOADHIGH C:\DOS\DOSKEY.COM
- LOADHIGH C:\DOS\MOUSE
-
- ----------------------------------------------------------------
-
- MORE EXAMPLES
-
- ----------------------------------------------------------------
-
- Here is a typical minimal CONFIG.SYS for a 80286 computer having
- only 1 Meg of memory:
-
- DEVICE=C:DOS\HIMEM.SYS
- DOS=HIGH
- DEVICE=C:\DOS\SMARTDRV.SYS 256 128
- FILES=20
- BUFFERS=4
- STACKS=0,0
-
- The first line loads the memory manager HIMEM.SYS which works
- only with 80286, 80386 or 80486 machines. Line two loads DOS
- into high memory. Line three loads the hard disk cache which
- comes with DOS, SMARTDRV. 256 is the maximum size for the disk
- cache and 128 is the minimum size. If only one number is given
- this is automatically the maximum size for the cache. The next
- line means that up to 20 DOS files can be open at one time. The
- next line referring to buffers allocates memory for data to be
- retrieved from the disk drive. Buffers can probably be decreased
- since SMARTDRV.SYS performs many of the same functions as
- buffers and is faster. The final statement referring to STACKS
- allows even more memory to be squeezed from the machine. Most
- programs should run fine with STACKS=0,0 but if some programs
- lock up you can remove this line. Any references to EMM386.EXE
- are omitted from this CONFIG.SYS because 80286 based machines
- cannot use that utility.
-
- Next, a typical CONFIG.SYS for a more powerful 80386 or 80486
- machine.
-
- DEVICE=C:DOS\HIMEM.SYS
- DOS=HIGH,UMB
- DEVICE=C:\DOS\EMM386.EXE NOEMS
- DEVICEHIGH=C:\DOS\SMARTDRV.SYS 256 128
- FILES=20
- BUFFERS=4
- STACKS=0,0
-
- The interesting differences here are that the EMM386 memory
- manager is loaded including the ,UMB switch. Also the DEVICEHIGH
- statement is used to load SMARTDRV.SYS driver high.
-
- If you have a 80386 or 80486 machine with at least two megabytes
- of memory or more you can increase the SMARTDRV.SYS statement
- from this: SMARTDRV.SYS 256 128
- to this: SMARTDRV.SYS 1024 256
- This increases the size and performance of the SMARTDRV system
- which your hard drive uses.
-
- Conversely, if you run Windows 3.1 and have trouble running in
- a higher mode you might change SMARTDRV.SYS to this:
- SMARTDRV.SYS 128
-
- ----------------------------------------------------------------
-
- POWER USER TIPS
-
- ----------------------------------------------------------------
-
- If you are not using DOS 5.0 or 6.0 and are interested in upper
- memory and extended memory management, you can buy commercial
- or shareware programs to accomplish the same goal. Contact the
- shareware vendors listed elsewhere in PC-Learn (see the SOFTWARE
- RESOURCES tutorial). Two popular shareware memory managers are
- the DOS 5.0 Memory Kit and The Last Byte Memory Manager which
- are available from many shareware disk vendors. Commercial
- software memory management utilities are QEMM-386 and QRAM (from
- the Quarterdeck Company) and 386MAX (from the Qualitas Company).
- The last two should be available from most retail software
- outlets.
-
- Novice DOS 6.0 users can use the sophisticated MEMMAKER utility
- to automatically configure the CONFIG.SYS and AUTOEXEC.BAT
- files! For more information regarding MEMAKER and additional
- DOS 6.0 memory configuration refinements, read the DOS 6.0
- tutorial elesewhere within PC-Learn and also review the MEMMAKER
- notes which can be accessed via the DOS 6.0 HELP facility.
- Simply type the following DOS command at the DOS prompt:
- HELP MEMMAKER <then press enter/return key>
-
- Using another clever memory management scheme, DOS 6.0 also
- gives users the option to select from a menu of various
- CONFIG.SYS and AUTOEXEC.BAT files upon startup. Users can thus
- start the comptuer in the morning with a memory configuration
- optimized for Windows and later in the day restart the computer
- and select a menu option with memory reconfigured and optimized
- for a DOS database program. Read the DOS 6.0 tutorial elsewhere
- in PC-learn and study the "multiple configuration option." This
- option is also discussed in the DOS 6.0 HELP facility. Type the
- following command at the DOS prompt:
- HELP MULTI-CONFIG <then press enter/return key>
-
- The LOADHIGH statement, used in the AUTOEXEC.BAT file, can be
- abbreviated to LH if you prefer. LOADHIGH works on only 80386 or
- 80486 machines.
-
- 80286 computers can use the DOS=HIGH command to load DOS into
- HIGH memory and free more conventional memory for applications.
-
- Never try to relocate HIMEM.SYS or EMM.EXE into the UMA using
- the DEVICEHIGH command! These programs MUST reside in
- conventional memory!
-
- Load HIMEM.SYS before EMM386.EXE.
-
- Always add the ,UMB switch to the DOS=HIGH command BEFORE you
- load device drivers and TSR (memory resident programs) into the
- UMA.
-
- Don't try to use EMM386.EXE on 8088, 8086 or 80286 computers.
-
- Always load the proprietary device driver required by your own
- EMS (expanded memory board) and all device drivers that use
- extended memory BEFORE you load EMM386.EXE and immediately AFTER
- loading HIMEM.SYS and do NOT try to use EMM386.EXE to simulate
- EMS (expanded memory) if another expanded memory manager is
- already present.
-
- Sometimes a software program may use its own internal memory
- manager or DOS extender. If a program works fine before you use
- EMM386.EXE and fails after installing EMM386.EXE, contact the
- program's manufacturer. You may need an update to your
- spreadsheet or database package so that it is compatible with
- EMM386.EXE.
-
- If you use Windows 3.0 which contains older versions of
- EMM386.EXE and HIMEM.SYS programs, delete those versions and use
- the newer versions which come with DOS 5.0 or 6.0.
-
- When using DOS 5.0 or 6.0 memory management tricks, remember
- that EMS (expanded memory) managers use a small portion of UMA
- which resides between 640K and 1 Meg for the EMS page frame.
- This page frame memory requirement of EMS memory produces a
- smaller amount of UMA memory for DOS to relocate device drivers
- and TSR memory resident programs. Thus if you do not need EMS
- memory DO NOT load or configure it! Usually spreadsheets are the
- most frequent candidates for expanded memory - most other
- software applications can use extended memory.
-
- If you are trying to load memory resident TSR programs into high
- memory remember these tips:
-
- You must have at least 350K of extended memory, and the
- CONFIG.SYS file should contain the statement DEVICE=HIMEM.SYS
- which must appear prior to any other DEVICE commands. The
- CONFIG.SYS file must also contain either one of these
- statements: DOS=UMB or DOS=HIGH. Further, CONFIG.SYS should also
- contain a DEVICE=statement for EMM386.EXE which includes one of
- these two switches: /NOEMS or /RAM and EMM386.EXE command
- must appear after the HIMEM.SYS statement but prior to any
- DEVICEHIGH statements. Finally, a DEVICEHIGH statement must be
- available for each device driver which is to be loaded into
- upper memory and the AUTOEXEC.BAT file must contain a LOADHIGH
- statement for each memory resident program to be run in upper
- memory.
-
- Tutorial finished. Have you registered PC-Learn to receive your
- bonus disks? Registration is encouraged. Shareware works on the
- honor system! Send $25 to Seattle Scientific Photography,
- Department PCL6, PO Box 1506, Mercer Island, WA 98040. Latest
- version of PC-Learn and two bonus disks shipped promptly!
-
-
-