トップQs
タイムライン
チャット
視点

DOS API

ウィキペディアから

Remove ads

DOS APIは86-DOSを起源とするAPIで、MS-DOS/PC DOSや他のDOS互換のオペレーティングシステムで使われている。DOS APIのほとんどの呼び出しは、INT 21hを使用して呼び出される。AH プロセッサレジスタのサブファンクション番号と他のレジスタの他のパラメータを指定してINT 21hを呼び出すことによって、さまざまなDOSサービスを呼び出せる。これには、キーボード入力、ビデオ出力、ディスクファイルアクセス、プログラム実行、メモリ割り当て、その他さまざまなアクティビティの処理が含まれる。1980年代後半には、DOSエクステンダDPMIを併用することで、プログラムを16ビットまたは32ビットの保護モードで実行してもDOS APIにアクセスできるようになった。

DOS APIの歴史

86-DOSおよびMS-DOS 1.0の元のDOS APIは、CP/Mと機能的に互換性があるように設計されている。ファイルアクセスにはファイルコントロールブロック (FCB)が利用された。DOS APIは、ファイルハンドルを使用したファイルアクセス、階層ディレクトリ、およびデバイスのI/O制御など、いくつかのUNIXの概念によってMS-DOS 2.0で大幅に拡張された[1]。DOS 3.1では、ネットワークリダイレクタのサポートが追加された。MS-DOS 3.31では、32 MBを超えるハードディスクをサポートするようにINT 25h/26h機能が強化された。MS-DOS 5は、上位メモリブロック(UMB)を使用するためのサポートを追加した。MS-DOS 5以降は、DOSの連続したスタンドアロンリリースのDOS APIは変更されていない。

DOS APIとWindows

Windows 9xでは、プロテクトモードのシステムとGUIシェルをロードするブートローダとしてDOSが使用されていた。DOSは通常VDMからアクセスされていたが、WindowsをロードせずにリアルモードMS-DOS 7.0としてブートすることも可能であった。ロングファイルネーム(LFN)はVDMでのみ利用可能であったが、DOS APIは拡張国際化サポートとLFNサポートで拡張された。Windows 95 OSR2では、DOSは7.1に更新されてFAT32サポートが追加され、DOS APIに機能追加された。Windows 98およびWindows MEもMS-DOS 7.1 APIを実装しているが、Windows MEはMS-DOS 8.0として報告する。

Windows XPWindows VistaなどのWindows NT系のシステムはMS-DOSを利用していない。そのため、NTVDMを利用してDOS APIを処理している。NTVDMは、仮想8086モードでDOSプログラムを実行する。NTVDMはDOS 5.0 APIをサポートする。Linux用のDOSEMU英語版も同様の方法を利用している。

Remove ads

DOSで使用される割込みベクタ

以下は、DOS API関数を呼び出すための割り込みベクタのリストである。

さらに見る 割り込みベクタ, 説明 ...

DOS INT 21hサービス

要約
視点

以下は、DOS APIのプライマリソフトウェア割り込みベクタを介して提供される機能のリストである。

さらに見る AH, 説明 ...
Remove ads

ネイティブサポートのあるオペレーティングシステム

Remove ads

その他のエミュレータ

脚注

関連項目

出典

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads