CMMG Biocomputing Facility
Online Help Guides

Windows 95 Help Files

[ CMB Computer | GCG | Windows 95 | Online Guides | CMMG Home ]


How Win95 Handles Conventional Memory

During bootup, Win95 autoloads it's realmode drivers and system settings, such as himem.sys, ifshlp, files=, etc., with default paramaters, from a file named io.sys. You cannot modify io.sys. You can modify all the parameters for the realmode drivers and system settings by having them load from config.sys instead. All the syntax is essentially the same as it was in DOS 6.2. EMM386.EXE is not loaded by io.sys. If you need it, load it in config.sys after himem.sys. Parameters are the same as in DOS 6.2. By default, devices are loaded into conventional memory (below 640 KB). You may use config.sys to load them into the upper memory area (UMA) instead. Examples are included below.

You may read all the details in the Win95 Resource Kit.
(CD:\Admin\Reskit\Helpfile\Win95rk.hlp:System Management;Performance Tuning;Optimizing Conventional Memory)
(CD:\Admin\Reskit\Helpfile\Win95rk.hlp:Installation;Setup Technical Discussion;System Startup Files;IO.SYS: The Real-Mode Operating System)

A basic config.sys file might include:

DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS
DOS=UMB
DEVICEHIGH=C:\WINDOWS\SOMEDEVICE
DOS=HIGH
The HIMEM, EMM386, and DOS=UMB statements are required for access to the upper memory area, where you can load some of your realmode drivers with DEVICEHIGH= to save conventional memory. Why is this important? Because DOS programs still run in conventional memory, so you need to free as much as you can. You can run memmaker if you like. If your DOS programs require EMS (expanded) memory, replace NOEMS with RAM on the EMM386 line.

If you load EMM386.EXE as above, the DOS=HIGH statement will load part of the operating system into the high memory area (HMA), which saves additional conventional memory (DOS=HIGH,UMB on 1 line is OK).

If any programs require changes to the defaults in io.sys, you can put them in config.sys also, such as:

FILESHIGH=100
or
SET PATH=c:\windows;c:\windows\command;c:\newpath
You can add high to many statements like files, buffers, fcbs, etc.

Win95 does not require autoexec.bat or config.sys files. If you are happy with the way Win95 manages things on its own, you may delete both autoexec.bat and config.sys. Even if you need to change some defaults, you can do most all in config.sys. You probably don't need autoexec.bat and you almost certainly don't need a third party memory manager. Some programs will create and/or make entries into an autoexec.bat file during installation. Most such entries can be manually transferred into the config.sys file.

Info on how to configure your system to "Restart the computer in MS-DOS mode?" is available here.

Info on how to create a boot diskette with DOS CD drivers is available here.

The following info about EMM386.EXE is from the Resource Kit
(CD:\Admin\Reskit\Helpfile\Win95rk.hlp:Appendixes;Command-Line Commands Summary;Command-Line Switches for Specific Commands;EMM386 Command-Line Switches;EMM386.EXE)

Notes on EMM386.EXE

Must install HIMEM.SYS before EMM386.EXE.

You must include a device command for the HIMEM.SYS device driver 
in CONFIG.SYS before the device command for EMM386.EXE. 

Using EMM386 memory switches.

Unless you want to use EMM386 to provide access to the upper memory area,
you need not specify memory switches on the device command line. EMM386
usually runs properly with the default values. In some cases, however, you
might want to control how EMM386 uses memory. For example, you can control
where EMM386 puts the EMS page frame or which segments it uses for EMS
pages.  You can use as many of these memory switches as you want, in any
order you want. 

Using EMM386 to provide access to the upper memory area.

In addition to providing access to expanded memory, EMM386 provides access
to the upper memory area, which you can use to load certain programs and
device drivers. You must use either the ram or noems switch to provide
access to the upper memory area. 

To give the operating system access to the upper memory area but not to
expanded memory, use the noems switch. To give the operating system access
to both the upper memory area and expanded memory, use the ram switch. The
ram switch provides access to less of the upper memory area for running
device drivers and programs than does the noems switch. In either case,
you must include the dos=umb command in CONFIG.SYS. The device command for
EMM386.EXE must precede any devicehigh commands. 

[ CMB Computer | GCG | Windows 95 | Online Guides | CMMG Home ]


Send comments to: dwomble@cmb.biosci.wayne.edu

Copyright © 1997, David D. Womble.