DOS API は、 86-DOSで誕生し、 MS-DOS / PC DOSやその他のDOS互換オペレーティングシステムで使用されているAPIです。DOS API への呼び出しのほとんどは、ソフトウェア割り込み21h ( INT 21h) を使用して行われます。AHプロセッサレジスタに格納されたサブファンクション番号と、他のレジスタに格納されたパラメータを使用して INT 21h を呼び出すことで、さまざまな DOS サービスを呼び出すことができます。これには、キーボード入力の処理、ビデオ出力、ディスク ファイルへのアクセス、プログラムの実行、メモリ割り当て、その他さまざまなアクティビティが含まれます。1980 年代後半には、DOS エクステンダーとDOS プロテクト モード インターフェイス(DPMI) により、プログラムは 16 ビットまたは 32 ビットのプロテクト モードのどちらでも実行でき、DOS API にアクセスできるようになりました。
DOS APIの歴史
86-DOS および MS-DOS 1.0 のオリジナルの DOS API は、CP/Mと機能的に互換性があるように設計されていました。ファイルへのアクセスにはファイル制御ブロック(FCB) が使用されました。DOS API は、MS-DOS 2.0 でファイルハンドルを使用したファイルアクセス、階層型ディレクトリ、デバイス I/O 制御など、いくつかのUnix の概念によって大幅に拡張されました。 [ 1 ] DOS 3.1 では、ネットワーク リダイレクタのサポートが追加されました。MS-DOS 3.31 では、INT 25h/26h 関数が拡張され、32 MB を超えるハードディスクをサポートしました。MS-DOS 5 では、上位メモリ ブロック(UMB) の使用のサポートが追加されました。MS-DOS 5 以降、DOS API は、後続のスタンドアロン DOS リリースで変更されていません。