Memory Management for the Stand-Alone and Networked PC

Article excerpt

The purpose of most DOS commands is readily apparent. The COPY command makes a copy of a file just as the DELETE command deletes a file. In short, most of the time the name of the DOS command offers some insight into the purpose of the command. The commands used in the CONFIG.SYS file, however, are more arcane than self-explanatory. Not only do the commands look strange, but their purpose is often incomprehensible to even experienced PC users.

The CONFIG.SYS commands are mystifying for several reasons. First, the commands are rarely used. Once the PC has been configured, the CONFIG.SYS file can be happily ignored until we replace a mouse or add a new CD-ROM player. The second reason that the CONFIG.SYS commands remain a mystery for most DOS users is that many of the commands involve memory allocation and memory management - topics that require us to understand how PCs use different types of memory to execute programs. Here we will try to provide the theoretical background along with the practical examples needed to understand how the commands work and how the commands can be used to solve real problems encountered when configuring a new PC or adding a peripheral device to a PC.

Because configuration and set-up problems remain a leading cause of hardware problems, an understanding of the CONFIG.SYS commands can mean the difference between getting a PC to work correctly in a few hours or a week of confusing calls to technical support.

Starting DOS

As soon as the PC is turned on, a small program in ROM BIOS begins running; this procedure is called the power-on self-test - Post for short.

This is the diagnostic program that checks the computer and the internal memory to make sure the PC is in working order. When POST completes its diagnostics, it calls another small routine. This little program is known as the bootstrap loader. Like POST, the bootstrap loader is stored in the ROM BIOS chips so it is always ready to run. The bootstrap loader is a surprisingly simple program. It only knows to check a specific location on drive A for two programs: IO.SYS and MSDOS.SYS.

If the programs are not found on drive A, the bootstrap loader then resumes its search by looking for the programs in one specific location on drive C. Technically, DOS looks for this program on the boot-up disk, which is normally drive C.

Once the loader finds IO.SYS, it checks the file to make sure it meets certain conditions and then loads IO.SYS (IBMBIO.COM for IBM machines) into memory and turns control over to it. IO.SYS then checks for CONFIG.SYS and executes any instructions it contains. Next IO.SYS loads MSDOS.SYS (IBMDOS.COM for IBM machines) and turns control over to MSDOS.SYS.

MSDOS.SYS's first act is to bring in the command processor, COMMAND.COM which is the program that interprets and executes the commands entered from the command line prompt. At each stage in the start-up process MS-DOS becomes increasingly powerful.

The last step in the process is to look for AUTOEXEC.BAT in the root directory of the start up drive (or boot disk). If AUTOEXEC.BAT is not found, COMMAND.COM will then ask for the date and time to be entered. Again, both CONFIG.SYS and AUTOEXEC.BAT must be located in the root directory of the boot drive. While the PC will work without either CONFIG.SYS or AUTOEXEC.BAT, nothing will be configured or loaded into memory. Finally, both of the files must be plain ASCII files.

Configuration Commands

The CONFIG.SYS (configure system) file is primarily a list of directives that tells MS-DOS about its working environment. CONFIG.SYS performs two major functions: first, CONFIG.SYS provides the tools needed to manage the PC's memory; and second, it loads special programs called drivers that extend the functionality of MS-DOS. In a very real sense, then, CONFIG.SYS commands modify DOS.

DOS 6.2 supports sixteen configuration commands; all of these commands can be used in CONFIG. …