* The Command Interpreter 

The command interpreter, COMMAND.COM, is the part you interact with on the

command line. It consists of these parts:

Resident Portion:

The resident portion resides in memory immediately following IBMDOS.COM and its

data area. This portion contains routines to process Int\22 (Terminate Addr),

Int\23 (Ctrl-Break Handler), and Int\24h (Critical Error Handler), as well

as a routine to reload the transient portion if needed. For DOS 3.x, this

portion also contains a routine to load and execute external commands, such as

files with exensions of COM or EXE.

When a program terminates, a checksum is used to determine if the application

program overlaid the transient portion of COMMAND.COM. If so, the resident

portion will reload the transient portion from the area designated by COMSPEC=

in the DOS environment. If COMMAND.COM cannot be found, the system will halt.

NOTE: DOS 3.3+ checks for the presence of a hard disk, and will default to

COMSPEC=C:\\. Previous versions default to COMSPEC=A:\\. Under some DOS

versions, if COMMAND.COM is not immediately availible for reloading

(i.e., swapping to a floppy with COMMAND.COM on it) DOS may crash.

All standard DOS error handling is done within the resident portion of

COMMAND.COM. This includes displaying error messages and interpreting the

replies to the "Abort, Retry, Ignore, Fail?" message.

IBM's original documentation spoke of installing alternate command

interpreters (programs other than COMMAND.COM) with the SHELL= statement in

CONFIG.SYS. Unfortunately, IBM chose not to document much of the interaction

between IBMDOS.COM and IBMBIO.COM. By the time much of the interaction was

widely understood, too many commercial software programs had been written to

use peculiarities of COMMAND.COM itself. There is only one commercial

replacement for COMMAND.COM (a program called Command Plus) and it is not

widely known or used.

"Shell" programs exist which use DOS only for disk management while they more

or less comprise a new operating system. These include:

DesQview Windows OmniView

GEM TopView TaskView