DOS API: Difference between revisions

Content deleted Content added
rearrange
m usage
Line 1:
The '''MS-DOS API''' is an [[API]] used originally in [[MS-DOS]]/[[PC-DOS]], and later by other [[DOS]]-type operating systems compatible with MS-DOS. The DOS API is based on [[software interrupt]] 21h (int 21h). By calling int 21h with the subfunction in AH and the other parameters in other registers, one invokes various DOS services. DOS services include keyboard input, video output, disk file access, executing programs, memory allocation, and various other things. There are various implementations of the DOS API, including MS-DOS, PC-DOS, DR-DOS, FreeDOS, PTS-DOS, and others. The DOS API is based on the [[BIOS]], and [[DOS]] routines often internally access [[BIOS interrupt call]]s.
 
The [[DOS Protected Mode Interface]] extends the DOS API to 32-bits.
Line 7:
[[Microsoft Windows]] versions 1.0 through 3.1 were graphical shells that ran on MS-DOS and relied on the MS-DOS API (though using [[Windows API|its own API]] for ''Windows'' programs). [[Windows 9x]] was also DOS based, but used a custom version of MS-DOS, mainly as a bootloader. It did not use the MS-DOS API much after booting.
 
[[Windows NT]] and the systems based off ofon it (e.g. [[Windows XP]] and [[Windows Vista]]) are not based on MS-DOS, but use a [[virtual machine]], [[NTVDM]], to handle the DOS API. NTVDM works by running a DOS program in [[virtual 8086 mode]] (an emulation of [[real mode]] within [[protected mode]] available on [[80386]] and higher processors). [[DOSEMU]] for [[linux]] uses a similar approach.
 
==Common DOS services==