MS-DOS 6.22 Disk Buffers in CONFIG.SYS

In MS-DOS 6.22, system performance and file input/output handling depend heavily on how drive operations are cached in memory. This article identifies the specific parameter in the CONFIG.SYS file responsible for controlling the number of disk drive logical buffers, explains its syntax and parameters, and provides recommended configurations based on your system's memory setup.

The parameter that controls the number of disk drive logical buffers in MS-DOS 6.22 is the BUFFERS command.

Syntax and Parameters

To configure this setting, add or modify the following line in your CONFIG.SYS file:

BUFFERS=n[,m]
  • n (Primary Buffers): Specifies the number of disk buffers allocated by DOS. The valid range is from 1 to 99. Each buffer allocates approximately 532 bytes of memory to hold one 512-byte disk sector plus operational overhead.
  • m (Secondary Cache Buffers): An optional parameter specifying look-ahead buffers to read ahead additional sectors. The valid range is from 0 to 8. The default is 0.

How Disk Buffers Work

A disk buffer acts as an intermediate holding area in RAM. When an application requests data from a disk, MS-DOS first checks these buffers. If the sector is already present in a buffer, DOS reads it directly from memory rather than performing a physical read on the drive, significantly improving system speed. Similarly, write operations are temporarily held in buffers before being flushed to the disk.

The ideal BUFFERS setting depends on whether you are using the SMARTDrive disk-caching utility:

  • With SMARTDrive (SMARTDRV.EXE): If your AUTOEXEC.BAT loads SMARTDrive, keep the BUFFERS value low—typically between 10 and 15 (e.g., BUFFERS=10). SMARTDrive manages high-speed disk caching in extended memory (XMS), making a large number of DOS buffers redundant.
  • Without SMARTDrive: If you do not use a separate disk cache, set the value higher, typically between 20 and 30 (e.g., BUFFERS=30), depending on the size of your hard drive.

Memory Optimization

If DOS=HIGH is included in your CONFIG.SYS, MS-DOS attempts to place the disk buffers into the High Memory Area (HMA) alongside the DOS kernel. However, if there is insufficient space in the HMA to hold all the specified buffers, DOS places all of them into conventional memory instead. Keeping the buffer count modest helps ensure that the buffers remain in the HMA, maximizing the conventional memory available for DOS programs.