Each time you boot up your computer, DOS searches the root directory of the drive from which it was started for a file named CONFIG.SYS. If this file is located, DOS executes all of the commands it contains much like a batch file (although this file is executed long before an AUTOEXEC.BAT file), according to the values assigned by special configuration commands. If DOS does not find this file in the root directory, it supplies its own default values for all of the configuration commands it requires.
The CONFIG.SYS File is used, then, only when you need to set new values for particular configuration commands. The parameters that can be modified in the CONFIG.SYS File include:
Each of these parameters is explained in this appendix, along with its associated commands.
SEE ALSO
You can create the CONFIG.SYS File using the COPY command, EDLIN (the line editor supplied with DOS), or any other editor or word processor that can save its text in ASCII format. If you create it with a word processor, then save it in ASCII or text format and copy it to the root directory. To put the commands that you enter into commission, you must reboot your computer (Ctrl-Alt-Del, or turn the power off and on ).
To create the CONFIG.SYS File using the COPY command, use the following model:
COPY CON CONFIG.SYS
Before creating a CONFIG.SYS File for a floppy or your hard disk, make sure that you are in the root directory (\) before you enter this command.
After typing this command and pressing the Enter key, you simply type in each configuration command to be processed when the CONFIG.SYS File is executed. After typing in each command, you terminate the line by pressing the Enter key.
Once you have entered all of the configuration command statements you wish to have in this file, you save it on disk (in the current directory) by pressing Ctrl-Z (you can also accomplish this by pressing F6 on IBM PCs and most compatibles) and the Enter key.
SEE ALSO
Normally, DOS checks for the BREAK key (Ctrl-Break) only when performing standard input/output or print operations because the default for the BREAK command is off. If you want DOS to check for the BREAK key under more circumstances, set the status to on by entering
BREAK = ON
as a line in the CONFIG.SYS File. Setting the status to on in this file will allow you to abort program operations that produce few or no standard device operations (such as running a compiler). For more information on the BREAK command, refer to its reference entry in the main text of the book.
SEE ALSO
A disk buffer is a specific block of RAM that DOS uses to store temporarily data that is being read or written to a disk. The default number of buffers maintained by DOS is 2. In version 3.3, the number of buffers is set according to these criteria:
Only if none of these apply to your computer system is the default number of buffers set to 2. Each buffer that is added with the BUFFERS command uses up an additional 528 bytes of memory.
To open additional buffers, you use the BUFFERS command followed by the equal sign and the number of buffers to use in the CONFIG.SYS File. For example, to increase the number of buffers from 2 to 10, you would enter
BUFFERS = 10
in a line of the CONFIG.SYS File.
Generally, performance is enhanced when running application programs when you increase the number of buffers from the default of 2. However, there is a trade-off that can occur when you have somewhere between 10 and 20 buffers open (depending upon the type of application that you are using). At that point, it may take DOS as much time to locate data in a particular memory buffer as it would to get the data from disk.
Many DOS application programs, such as WordStar 2000 and dBASE III PLUS, require many more than 2 buffers in order to run. During installation of such software, the application's installation program checks the root directory to make sure first that the CONFIG.SYS exists and, if it does, to check the number of buffers open with the BUFFERS command. If the number is less than 20 (or the BUFFER command is not used in the file), the program will then automatically enter a BUFFERS command or edit an existing one to read as follows:
BUFFERS = 20
SEE ALSO
You can use the COUNTRY command in a CONFIG.SYS File to change the currency, date, or time format or the collating sequence to match that preferred by a foreign country. The syntax of the COUNTRY command is
COUNTRY = xxx,[yyy],[d:]COUNTRY.SYS where xxx Specifies the country code (see SELECT). yyy Specifies the code page of the desired country (in DOS 3.3, a country may have different information depending on the code page selected- -see Appendix C of the DOS reference for a listing of the codes).
Note that if you have used the SELECT command, DOS will have already created a CONFIG.SYS File that includes the COUNTRY configuration command. To make changes to the COUNTRY codes, you must then edit the contents of this file using either EDLIN or a word processor that can read ASCII files.
SEE ALSO
DOS automatically loads device drivers for standard input/output devices, printers, and storage devices such as floppy and fixed disk drives. Therefore, you need to use the DEVICE configuration command in the CONFIG.SYS File only when you need to install additional nonstandard devices (such as a mouse or an 8-inch floppy disk drive). The driver files for nonstandard devices are supplied by the device manufacturer.
To install a new device driver, you enter the DEVICE command followed by the equal sign and the name of the file that contains the driver on a line in the CONFIG.SYS File.
The DOS diskette includes two device drivers, ANSI.SYS and VDISK.SYS. Version 3.3 has added three more device drivers:DISPLAY.SYS, PRINTER.SYS, and DRIVER.SYS.
The ANSI.SYS driver file extends cursor control and keyboard reassignments. These extended functions make it easier for software to control cursor positioning, display messages on the screen, set colors, and reassign keyboard functions. Some software applications, such as SuperKey, require that ANSI.SYS be loaded by theCONFIG.SYS file in order to run.
To add this driver, you enter
DEVICE = [d:][path]ANSI.SYS
on a line of your CONFIG.SYS File, where
d:path Specifies the drive and path.
The VDISK.SYS driver allows you to set up a virtual or RAM disk that performs the functions of a physical disk drive. A virtualdisk, however, is installed in RAM and, therefore, disappears when power is interrupted to the computer system. You can install more than one virtual disk using the VDISK.SYS driver, depending upon the amount of RAM available to your system.
The syntax of the DEVICE configuration command when using the VDISK.SYS driver is as follows:
DEVICE = [d:][path]VDISK.SYS [comment][bbb] [comment][sss][comment][ddd][/E[:m]]
Before explaining each optional parameter, consider the following example that uses all of the options:
DEVICE = C:\DOS\VDISK.SYS buffer size=256 sector size=512 directory entries=128 /E
The options are as follows:
d:path Tells DOS where the VDISK.SYS file is located (C:\DOS in the example). bbb Sets the size of the virtual disk in kilobytes. If you do not specify this parameter, DOS uses a default of 64K. You can enter a value between 1K and the amount of memory available to your computer. Notice that you can also add an optional [comment] explaining the value. In the example, the comment buffer size= precedes the value in kilobytes. sss Sets the sector size in bytes. The default of 128 bytes is used by DOS if this parameter is omitted or an inaccurate value is entered. Allowable values for the sector size are 128, 256, or 512 bytes. The sector size parameter can also be preceded by an optional comment. In the example, the comment sector size= has been added. ddd Sets the number of directory entries that the virtual disk can hold (one directory entry per file copied to the virtual disk). The default is 64, and you can enter a value between 2 and 512. However, DOS may automatically adjust the value you enter when installing the virtual disk. The value is increased to the nearest sector boundary (as set by the sector size). It is decreased if the size of the virtual disk (as set by the buffer size) is too small to accommodate the file allocation table, the directory, and two additional sectors. If the directory size reaches 1 and these files still cannot be accommodated, you will receive an error message and the virtual disk will not be installed. comment You may enter an optional comment before the [ddd] parameter. In the example, the comment directory entries= has been added. /E Tells DOS to install the virtual disk in extended memory AM at or beyond 1 megabyte). This parameter can only be used with a personal computer that has extended memory, such as the IBM PC AT or PS/2 machines (computers equipped with an add-on board such as the Intel Above Board support expanded instead of extended memory). When you add the /E parameter, the virtual disk buffer is established in extended memory while the device driver is installed in conventional memory. Extended memory up to 4 megabytes may be used for a single virtual disk. :m Specifies the maximum number of sectors (as specified by the sss parameter) of data that are transferred to the virtual disk at one time. The permissible values are 1 through 8, with 8 being the default value.
When a virtual disk is established in extended memory, interrupt servicing is suspended during data transfers. In some situations, this can result in some interrupts being lost. If this happens, you should install the virtual disk in conventional memory. If the problem is resolved, you can then resinstall the virtual disk in extended memory with a smaller [:m] value.
When you establish a virtual disk, DOS assigns it the next available drive letter specification. For example, if your computer has two floppy disk drives, A and B, the virtual disk will be given C as the drive letter specification. If you have a single fixed disk, C, the virtual disk will be given D as the drive letter specification.
The DISPLAY.SYS device driver allows you to use code page switching on the EGA and IBM PS/2 displays and the IBM Convertible LCD screen. This device driver is included only in version 3.3 of DOS, which supports code page switching (see the CHCP and NLSFUNC command reference entries), and it is used only when you need to switch from the standard for U.S. symbols to new code pages containing international symbols.
The syntax of the DISPLAY.SYS DEVICE configuration command is as follows:
DEVICE = [d:][path]DISPLAY.SYS CON[:]= (type[,[hwcp][,(n,m)]])
The options are as follows:
d:path Specifies the drive letter and path that contain the DISPLAY.SYS file. type Specifies the display adapter type. You can use MONO, CGA, EGA, and LCD. Use EGA if you have an IBM PS/2 display (VGA is not yet fully supported). hwcp Specifies the code page. Permissible values are 437, 850, 860, 863, and 865 (refer to Appendix C of the DOS documentation for a description of these code page values). n Specifies the number of prepared code pages that can be supported. This must be a value between 0 and 12 (refer to the table in the DOS documentation for the DISPLAY.SYS command to determine this value). m Specifies the number of subfonts supported by each code page (refer to the table in the DOS documentation for the DISPLAY.SYS command to determine this value).
Note that if you are using ANSI.SYS with DISPLAY.SYS, the DEVICE = ANSI.SYS statement must precede the configuration statement DEVICE = DISPLAY.SYS in the CONFIG.SYS File.
The PRINTER.SYS device driver allows you to use code page switching on the IBM Proprinter Model 4201 and the IBM Quietwriter III Model 5202. Like the DISPLAY.SYS file, this device driver is included only in version 3.3 of DOS, which supports code page switching (see the CHCP and NLSFUNC command reference entries), and it is used only when you need to switch from the standard for U.S. symbols to new code pages containing international symbols.
The syntax of the PRINTER.SYS DEVICE configuration command is as follows:
DEVICE = [d:][path]PRINTER.SYS LPT#[:]= (type[,[(hwcp1,hwcp2,...)][,n,]])
The options are as follows:
d:path Specifies the drive letter and path that contain the PRINTER.SYS file. LPT# Specifies the printer device. It can be entered up to three times (for LPT1, LPT2, and LPT3). You can substitute PRN for LPT in the command line. type Specifies the type of printer use. You can choose between 4201 (IBM Proprinter) or 5202 (IBM Quietwriter III). (hwcp1,hwcp2,...) Specifies the code page that is built into the hardware. The permissible values are 437, 850, 860, 863, and 865 (refer to the PRINTER.SYS command in the DOS documentation for an explanation of how these code page values are applied to the two printer types). n Specifies the number of additional code pages that can be prepared. This value determines the number of buffers that PRINTER.SYS will set up to hold the code pages being prepared. The maximum number that can be specified is 12.
The DRIVER.SYS statement in the CONFIG.SYS File allows you to access and use a disk device by referring to a logical drive letter. The syntax used when adding this to the CONFIG.SYS File isas follows:
DEVICE = DRIVER.SYS /D:ddd[/T:ttt][/S:ss][/H:hh] [/C][/N][/F:f]
The options are as follows:
/D:ddd Specifies the physical drive number between 0 and 255. The first physical diskette drive (drive A) has the value 0. The second physical diskette drive (drive B) has the value 1. The third physical diskette drive (must be external) has the value 2. The first fixed drive has the value 128 and the second has the value 129. /T:ttt Specifies the number of tracks per side between 1 and 999 (default: 80). /S:ss Specifies the number of sectors per track between 1 and 99 (default: 9). /H:hh Specifies the number of drive heads between 1 and 99 (default: 2). /C Specifies that changeline support is required (only used on computers such as the IBM PC AT that support diskette changeline). /N Specifies that the physical device is a non- removable block device (such as a fixed disk). /F:f Specifies the device type (form factor). The value of the f parameter is determined as follows: Device Value 160K/180K 0 320K/360K 0 1.2 megabytes 1 720K or others 2 1.44 megabytes 7
Note that the DEVICE=DRIVER.SYS configuration statement is not used to drive fixed (hard) disks. To set a logical drive letter for a fixed disk, use the SUBST command (see the SUBST reference entry for more information).
To find out the logical drive letter assigned by DOS to the device driver for a particular computer configuration and value of /D:, refer to the table included in the DOS documentation under the reference entry for the DEVICE command.
SEE ALSO
The highest drive specification letter that DOS 3 will recognize is drive E (three fixed drives attached: C, D, and E). If your system has more than this number of logical or physical drives attached, you must add a LASTDRIVE statement to your CONFIG.SYS File:
LASTDRIVE = x where x Specifies a letter between A and Z. If the drive letter you specify is less than the number of drives attached to your system, DOS will ignore the LASTDRIVE statement in the CONFIG.SYS File.
For example, if you are on a network and you have 15 drive volumes attached to the system, you would enter
LASTDRIVE = O
SEE ALSO
Some older application programs use file control blocks (FCBs) instead of the newer file handles to create, open, and delete files as well as to read from and write to files. When using these programs on a network with file sharing in use, you may have to increase the number of files that can be opened by FCBs. The default value used by DOS is 4 files.
To specify a new number of files that can be concurrently open by DOS, you use the FCBS command in the CONFIG.SYS File:
FCBS = x,y where x Specifies the total number of files that can be opened by FCBs. y Specifies the number of files protected from automatic closure by DOS (the default is 0).
When file sharing is in use and an application program tries to open more than the total number of files, DOS closes the least-recently used file and opens the new file (excluding the files protected from automatic closure). If the program tries to read from or write to a file that has been closed by DOS, you will receive the following error message:
FCB unavailable
Abort, Fail?
To avoid such an error, you would add a FCBS command to your CONFIG.SYS File. For example, entering
FCBS = 10,5
would allow 10 FCB files to be open concurrently and would protect 5 of these from automatic closure.
When specifying the first parameter (the total number of FCB files), you can enter a value between 1 and 255. When specifying the second parameter (the number of files protected from automatic closure), you can enter a value between 0 and 255. (See also the SHARE command in the main text.)
SEE ALSO
By default, DOS allows up to 8 files (controlled by file handles, not FCBs) to be open concurrently. This number is insufficient to run several newer application programs as well as some DOS commands (such as XCOPY).
If you receive either the error message
Too many open files
or
Too many files open
you will have to use the FILES configuration command in the CONFIG.SYS File to increase the maximum number of files available to the entire system:
FILES = n where n Specifies the number of files that can be opened at the same time (a value between 8 and 255). However, be aware that the maximum number of files that a single process can have opened is set at 20.
To accommodate 15 different files being open at one time, you would enter
FILES = 15
as a line in the CONFIG.SYS File.
SEE ALSO
Normally, DOS loads the command processor from the COMMAND.COM file during the boot sequence. If you have your own command processor, you can have it initialized and loaded at start-up in place of COMMAND.COM by using the SHELL configuration command.
The syntax of the SHELL command is
SHELL = [d:][path]filename [/E:xxxxx][/P] where d:pathfilename Specifies the file name of the new command processor (including its path, if it is not located in the root directory). Using COM-MAND.COM as the file name is a convenient way to increase the environment size under DOS 3.2 and 3.3. /E:xxxxx Specifies the number of bytes for the environment size (expressed as a base-10 integer between 160 and 32768). /P Causes COMMAND.COM to remain loaded and to execute the AUTOEXEC.BAT file (if one exists).
Note that using the SHELL command to run a different command processor does not affect the COMSPEC command, which points to the name of the controlling processor (see SET in the reference entries). If you use the SHELL command in the CONFIG.SYS File to load a new command processor, you will also want to use the COMSPEC parameter in the SET command in the AUTOEXEC.BAT file to refer to it.
SEE ALSO
DOS 3.3 includes a STACKS configuration command that allows you to override the default stack resources used by DOS. The syntax of this command is
STACKS = n,s where n Specifies the number of stack frames between 8 and 64. s Specifies the size in bytes of each stack frame between 32 and 512.
If the STACKS command is not included in the CONFIG.SYS File, the n and s parameters are set to 0 for the IBM PC, IBM PC XT, and the IBM Portable PC. For all other IBM personal computers, the default values are n = 9 and s = 128.
Every time a hardware interrupt occurs, DOS appropriates one stack frame from the stack pool. Once the interrupt has been processed, DOS returns the stack frame to the pool. If you experience stack overflow errors, you should use the STACKS command to increase the number of stack frames available to DOS.
SEE ALSO
Questions: