Role of BREAK=ON in MS-DOS 6.22 File Operations
In MS-DOS 6.22, the BREAK=ON configuration directive
significantly expands the operating system's ability to intercept
user-initiated abort commands (Ctrl+C or Ctrl+Break). Under default
settings, the system only monitors for break signals during standard
input and output tasks, such as typing at the console or printing text.
Enabling BREAK=ON forces MS-DOS to actively check for these
signals during disk access and file operations, granting users immediate
control to stop runaway programs or cancel unwanted file-processing
tasks at the cost of a slight reduction in overall system speed.
Default Break Behavior (BREAK=OFF)
By default, MS-DOS 6.22 operates with BREAK=OFF. In this
mode, the kernel only checks the keyboard buffer for Ctrl+C or
Ctrl+Break when a running program performs basic character input/output
functions through MS-DOS Interrupt 21h. These functions are limited
to:
- Standard input (reading from the keyboard)
- Standard output (writing text to the monitor)
- Auxiliary devices (serial communication)
- Standard printer ports
If a program enters a long loop reading from or writing to a hard drive or floppy disk without printing text to the screen, MS-DOS will not check for the break key combination. The computer appears completely unresponsive to Ctrl+C until file access finishes and the program either yields or performs screen output.
The Role of BREAK=ON During File Operations
When BREAK=ON is specified—either in the
CONFIG.SYS file or manually entered via the command
prompt—MS-DOS modifies how it handles software interrupts. The operating
system extends its check for Ctrl+C or Ctrl+Break to almost all
Interrupt 21h system calls, explicitly including disk read and write
requests.
During file operations, BREAK=ON serves several critical
functions:
- Immediate Abort Capability: If an application is processing large files, searching directories, or copying substantial amounts of data, the user can immediately terminate the execution without waiting for the operation to complete or forcing a hard reboot.
- Halting Runaway Disk Loops: If a program becomes
trapped in an infinite loop that continually reads from or writes to
files,
BREAK=ONallows the user to break out of the loop and return to the DOS prompt. - Compiler and Database Management: Legacy development tools and flat-file databases heavily rely on disk I/O. Enabling extended break checking allows developers and operators to halt intensive compiling, indexing, or batch processing mid-stream.
Performance Trade-Offs
While BREAK=ON provides greater control over file
execution, it introduces a performance penalty. Because MS-DOS must
inspect the keyboard buffer and internal flags during every disk-related
system call, file reads and writes incur processing overhead.
On systems with slow mechanical hard drives, floppy disks, or slower processor architectures (such as 8086 through 80386 systems), the constant polling can measurably reduce disk throughput. For this reason, MS-DOS 6.22 keeps the setting disabled by default.
Implementation in MS-DOS 6.22
The setting can be managed in two ways:
- System-wide configuration: Add
BREAK=ONto theCONFIG.SYSfile to activate extended checking automatically during the system boot sequence. - Dynamic command-line control: Type
BREAK ONorBREAK OFFdirectly intoCOMMAND.COMto toggle the behavior for a specific session. TypingBREAKwithout arguments displays the current operational status.