準備が整いましたので、OSの設計に移りたいとおもいます。
OSの設計にあたり、今回は
DOSの提供する機能を説明します。
DOSの提供する機能は、
コンソール入出力、
ディスク入出力、ファイル管理、プロセス管理、
メモリ管理などです。
DOSはそれらの機能(システムコール)を
ソフトウェア割り込みとして提供します。
拡張メモリやプロテクトモードを扱う機能は
提供されませんが、それらの機能は専用のソフトウェアにより、
XMS、EMS、VCPI、DPMIなどの
拡張機能として提供されます。
また、ネットワークを使う場合も専用のソフトウェアを
組み込みます。
シングルタスクOSですので、タスク切り替えなど
複数タスクの同時実行に係る機能は提供されません。
以下に、DOSの提供するソフトウェア割り込みの一部を表にしました。
| 割り込み | パラメータ | 機能 |
| INT 20h | CS=PSPセグメント | プロセスを終了します。 |
| INT 21h | AH=機能番号 | 各種システムコールを実行します。 |
| INT 22h | (呼び出し不可) | 親プロセスの呼び出しアドレスを指すプロセス管理用のデータです。 |
| INT 23h | なし | Ctrl+CやCtrl+Breakが押された場合に、DOSが呼び出します。 |
| INT 24h | なし | INT 21h内でエラーが起きた場合に、DOSが呼び出します。 |
| INT 25h | (省略) | 指定ドライブの指定セクタからデータを直接読み込みます。 |
| INT 26h | (省略) | 指定ドライブの指定セクタにデータを直接書き込みます。 |
| INT 27h | (省略) | 親プロセスに戻りますが、現プロセスはメモリに常駐します。 |
| INT 28h | なし | キーボード入力待ちなどアイドル状態のときに、DOSが呼び出します。 |
| INT 29h | AL=キャラクタ | ALで与えられた文字を画面に出力します。 |
| INT 2Fh | AX=機能番号 | INT 21hで提供されないDOSの拡張機能を提供します。 |