MS-DOS 6.22 CONFIG.SYS Internal File Tables Setting

This article explains the specific CONFIG.SYS directive used in MS-DOS 6.22 to allocate memory for internal file tables. It covers how the setting functions, its memory impact on the operating system, and how to configure it properly for optimal system stability and memory efficiency.

The directive that determines the memory allocated to internal file tables in MS-DOS 6.22 is the FILES command. Configured inside the CONFIG.SYS boot file, this setting establishes the maximum number of files that MS-DOS can access concurrently by building the System File Table (SFT) in system memory.

Syntax and Values

The basic syntax for the directive is:

FILES=n
  • n specifies the number of open files, ranging from 8 through 255.
  • The default value in MS-DOS 6.22 is 8, though modern applications, compilers, and database programs typically require between 30 and 50.

How It Allocates Memory

When MS-DOS boots and processes CONFIG.SYS, it allocates a fixed block of memory for internal file control tables based on the n value.

  • The initial 8 files consume a baseline internal structure.
  • Every additional file entry beyond the default allocates approximately 59 bytes of RAM.
  • Specifying a number higher than necessary needlessly consumes valuable conventional memory (below 640 KB). Conversely, setting this number too low causes software to crash with errors such as "Too many files open."

Memory Optimization

In MS-DOS 6.22, memory usage can be optimized using the High Memory Area (HMA) and Upper Memory Blocks (UMBs). When the line DOS=HIGH or DOS=HIGH,UMB is present along with HIMEM.SYS, DOS attempts to place the primary System File Tables into high memory. If the value of FILES exceeds what can fit in the remaining HMA space, MS-DOS allocates the overflow tables in conventional memory.