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 は、ファイル ハンドルを使用したファイル アクセス、階層ディレクトリ、デバイス I/O 制御など、いくつかのUnix の概念によってMS-DOS 2.0 で大幅に拡張されました。 [1] DOS 3.1 では、ネットワーク リダイレクタのサポートが追加されました。MS-DOS 3.31 では、INT 25h/26h 関数が拡張され、32 MB を超えるハード ディスクがサポートされるようになりました。MS-DOS 5では、上位メモリ ブロック(UMB) の使用がサポートされました。MS-DOS 5 の後、DOS API は、DOS のその後のスタンドアロン リリースでも変更されていません。
DOS APIとWindows
Windows 9xでは、DOS はプロテクト モード システムとグラフィカル シェルをロードしました。DOS は通常、仮想 DOS マシン(VDM) からアクセスされますが、Windows をロードせずにリアル モードのMS-DOS 7.0を直接起動することもできます。DOS API は拡張され、国際化サポートと長いファイル名のサポートが強化されましたが、長いファイル名のサポートは VDM でのみ使用可能でした。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 NTおよびそれに基づくシステム ( Windows XPおよびWindows Vistaなど) は MS-DOS に基づいていませんが、仮想マシンNTVDMを使用して DOS API を処理します。NTVDM は、DOS プログラムを仮想 8086 モード( 80386およびそれ以上のプロセッサで使用可能な保護モード内でのリアル モードのエミュレーション)で実行することによって機能します。NTVDM は DOS 5.0 API をサポートしています。Linux用のDOSEMU も同様のアプローチを使用します。
DOS で使用される割り込みベクター
以下は、プログラムが DOS API 関数を呼び出すために使用する割り込みベクターのリストです。
DOS INT 21時間サービス
以下は、DOS API プライマリ ソフトウェア割り込みベクターを介して提供される関数のリストです。
ネイティブサポートを備えたオペレーティングシステム
- MS-DOS – 最も普及している実装
- PC DOS – MS-DOS の IBM OEM バージョン
- OS/2 1.x – MS-DOS および PC DOS の後継となる Microsoft/IBM 製 OS
- SISNE plus –ブラジルのItautecとScopus Tecnologiaが開発したクローン
- DR-DOS – Digital Research DOS ファミリ ( Novell DOS、PalmDOS、OpenDOSなど)
- PTS-DOS – PhysTechSoft および Paragon DOS クローン ( S/DOSを含む)
- ROM-DOS – Datalight ROM DOS バージョン
- 組み込み DOS –一般的なソフトウェアバージョン
- FreeDOS – 無料のオープンソース DOS クローン
- ReactOS ( IA-32およびx86-64バージョン)
- Windows 95 – MS-DOS 7.0 を含む
- Windows 98 – MS-DOS 7.1 を含む
- Windows 98 SE – MS-DOS 7.1 を含む
- Windows ME – MS-DOS 8.0 を含む
DOSエミュレーション層を備えたオペレーティングシステム
- PCMODE搭載の同時 CP/M-86 (3.1 のみ) - オプションの PC DOS エミュレータを備えた Digital Research CP/M-86 ベースの OS
- Concurrent DOS – PC DOS エミュレータを内蔵した Digital Research CDOS ファミリ
- DOS Plus – Concurrent PC DOS 4.1~5.0 の簡素化されたシングルユーザー版
- マルチユーザー DOS – Datapac System Manager、IMS REAL/32などを含む Digital Research/Novell MDOS ファミリ。
- OS/2 (2.x 以降) –仮想マシンで完全ライセンスの MS-DOS 5.0 を使用する IBM オペレーティング システム
- Windows NT (64 ビット版と 32 ビット ARM 版を除くすべてのバージョン)
その他のエミュレータ
参照
- BIOS割り込み呼び出し
- ラルフ・ブラウンの割り込みリスト(RBIL)
- DOS オペレーティングシステムの比較
- DOS 保護モード インターフェース(DPMI)
- DOSエクステンダー
- DOS MZ 実行ファイル
- コマンド.COM
参考文献
- ^ Ray Duncan (1988)。『高度な MS-DOS プログラミング: アセンブリ言語および C プログラマのための Microsoft ガイド』。Microsoft Press。ISBN 0914845772。
さらに読む
- Allen, Paul ; Gates, Bill ; King, Adrian ; Larson, Chris ; Letwin, Gordon ; O'Rear, Bob ; Paterson, Tim ; Peters, Chris ; Phillips, Bruce ; Reynolds, Aaron ; Stillmaker, Betty ; Zbikowski, Mark (1986)。「テクニカル アドバイザー」。MS -DOS (バージョン 1.0-3.2) 技術リファレンス百科事典。Bornstein, Howard、Bredehoeft, Lawrence、Duncan, Ray、Morris, Carol、Rose, David、Socha, John ; Tomlin, Jim、Vian, Kathleen、Wolverton, Van. Beley, Jim、Preppernau, Barry、Beason, Pam、Lewis, Andrea、Rygmyr, David (編)。Microsoft リファレンス ライブラリ。第 1 巻 (初版は取り下げられました)。米国ワシントン州レドモンド:Microsoft Press . ISBN 0-914845-69-1. LCCN 86-8640. OCLC 635600205.(xvii+1053 ページ; 29 cm) (注: このオリジナル版には、システムの内部動作のフローチャートが含まれています。1986 年に大量配布される前にマイクロソフトによって撤回されました。事実上の誤りが多く含まれていたほか、公開されるべきではない機密情報も含まれていたためです。印刷されたコピーはほとんど残っていません。1988 年に完全に改訂された版に置き換えられました。[1])
- マーク・ズビコウスキー、ポール・アレン、スティーブ・バルマー、ルーベン・ボーマン、ロブ・ボーマン、ジョン・バトラー、チャック・キャロル、マーク・チェンバレン、デビッド・チェル、マイク・コーリー、マイク・コートニー、マイク・ドライフース、マイク、レイチェル・ダンカン、カート・エックハート、エリック・エバンス、リック・ファーマー、ビル・ゲイツ、マイケル・ギアリー、ボブ・グリフィン、ダグ・ホガース、ジェームズ・W・ジョンソン、カメル・カーマーニ、エイドリアン・キング、リード・コッホ、ジェームズ・ランドウスキー、クリス・ラーソン、トーマス・レノン、ダン・リプキー、マーク・マクドナルド、ブルース・マッキニー、パスカル・マーティン、エステル・マザーズ、ボブ・マシューズ、デビッド・メリン、チャールズ・マーゲンタイム、ランディ・ネビン、ダン・ニューウェル、タニ・ニューウェル、デビッド・ノリスO'Leary, Mike; O'Rear, Bob ; Olsson, Mike; Osterman, Larry; Ostling, Ridge; Pai, Sunil; Paterson, Tim ; Perez, Gary; Peters, Chris; Petzold, Charles ; Pollock, John; Reynolds, Aaron ; Rubin, Darryl; Ryan, Ralph; Schulmeisters, Karl; Shah, Rajen; Shaw, Barry; Short, Anthony; Slivka, Ben; Smirl, Jon; Stillmaker, Betty; Stoddard, John; Tillman, Dennis; Whitten, Greg; Yount, Natalie; Zeck, Steve (1988)。「技術アドバイザー」。MS -DOS 百科事典: バージョン 1.0 から 3.2。Duncan , Ray; Bostwick, Steve; Burgoyne, Keith; Byers, Robert A.; Hogan, Thom;カイル、ジム;レトウィン、ゴードン;ペッツォルト、チャールズ; ラビノウィッツ、チップ; トムリン、ジム; ウィルトン、リチャード; ウォルバートン、ヴァン; ウォン、ウィリアム;ウッドコック、ジョアン(完全改訂版)。ワシントン州レドモンド、米国:マイクロソフトプレス。ISBN 1-55615-049-0. LCCN 87-21452. OCLC 16581341.(xix+1570ページ; 26cm) (注: この版は、撤回された1986年の初版を別の著者チームによって大幅に改訂した後、1988年に出版されました。[2])
- ノートン、ピーター; ウィルトン、リチャード (1987)。『ピーター・ノートンによる IBM PC および PS/2 プログラマーズ・ガイド』。マイクロソフト・プレス。ISBN 1-55615-131-4。
- Ray Duncan (1988)。『高度な MS-DOS プログラミング: アセンブリ言語および C プログラマのための Microsoft ガイド』。Microsoft Press。ISBN 0914845772。
- ホーガン、トム (1991)。プログラマーズ PC ソースブック。マイクロソフト プレス。ISBN 155615321X。
- MS-DOS プログラマーズ リファレンス - MS-DOS の公式テクニカル リファレンス。Microsoft Press。1993 年。ISBN 1556155468。
- IBM PC DOS 7 テクニカルアップデート
- OpenDOS 開発者リファレンスシリーズ - OpenDOS プログラマーズ ガイド - システムおよびプログラマーズ ガイド。Caldera , Inc. 1997 年 8 月。Caldera 部品番号 200-DOPG-003。2017 年 10 月 7 日にオリジナルからアーカイブ。2012年 6 月 28 日に取得。(英国で印刷されました。)
外部リンク
- x86 割り込みリスト (別名 RBIL、Ralf Brown の割り込みリスト)
- ctyme.com - 関数による INT 呼び出し
- wustl.edu - MS-DOS サービスの説明
- MS-DOS 割り込み アーカイブ 2011-10-13ウェイバックマシン
