MS-DOS: Difference between revisions

1,451 bytes added ,  19 September 2023
Tag: 2017 source edit
Tag: 2017 source edit
Line 36: Line 36:


=== DOS kernel ===
=== DOS kernel ===
The DOS kernel is the higher layer of MS-DOS, and provides services including process control, memory management, peripheral support, and file system access.
The DOS kernel is the higher layer of MS-DOS, and provides services including process control, memory management, and file system access. It is equivalent to the Basic Disk Operating System component of [[w:CP/M|CP/M]].
 
Process control functionality is very limited due to the system's single-tasking nature. A program can execute another program, although control will not return to the original program until the other program exits. A program can, however, choose to terminate and stay resident (TSR), which leaves a portion of the program present in memory. If the program hooks an interrupt handler before terminating this way, the resident part can get called even when other programs are running, creating an illusion of multitasking.
 
Memory management allows programs to allocate conventional memory at runtime as needed. It is necessary when multiple programs are loaded to make sure that the active program does not overwrite the data of the other programs. However, as MS-DOS runs in real mode, there is no memory protection and therefore the allocations are not actually enforced, unlike protected mode operating systems.
 
By default, MS-DOS only supports access to FAT family systems (FAT12, FAT16 or FAT32, depending on the version). A redirector interface, introduced with version 3.1, allows implementing a custom file system by bypassing the FAT code. This was originally intended to be used by network clients as a means of enabling access to network shares, although it was eventually also used to implement support for the CD-ROM file system in the Microsoft CD-ROM Extensions (MSCDEX).


Since [[MS-DOS in Windows 9x|MS-DOS 7]], the kernel is merged into <code>IO.SYS</code> and <code>MSDOS.SYS</code> serves as a configuration file.
Since [[MS-DOS in Windows 9x|MS-DOS 7]], the kernel is merged into <code>IO.SYS</code> and <code>MSDOS.SYS</code> serves as a configuration file.
Cookies help us deliver our services. By using our services, you agree to our use of cookies.