IO.SYS

IO.SYS は、MS-DOSのカーネルのうち、機種依存する部分（のファイル名）である。デフォルト（カーネル内蔵）のデバイスドライバ等の他、初期化プログラムも含むため、MS-DOSのカーネルのうちで最初に動作する部分のコードも含む。なお、Windows 9x系ではMSDOS.SYSはコードを含まないものとなっており、全てのコードがIO.SYSに移動されている。通常、「隠し」「読み取り専用」「システム」の属性がオンにされている。

PC/AT互換機はブートされると、セルフチェック等の後、最後にブートセクタをメモリに読み込み、実行する。それがDOSのブートセクタだった場合、IO.SYS の最初の3セクタをメモリにロードし、それに制御を移す。以下は次のような流れになる。
 自分自身の残りの部分をメモリにロードする。
 デフォルトのデバイスドライバ群を1つずつ初期化する（コンソール、ディスク、シリアルポートなど）。この時点でこれらのデバイスを利用可能になる。
 DOSカーネルをロードし、その初期化ルーチンを呼び出す。カーネルは MS-DOS の場合は MSDOS.SYS にあり、Windows 9x系では IO.SYS 内にある。この時点で、通常のファイルアクセスが可能になる。
 Windows 9x系の場合、MSDOS.SYS ファイルの処理をする。
 MS-DOS 2.0以降および Windows 9x系の場合、CONFIG.SYS ファイルの処理をする。
 COMMAND.COM をロードする（他のシェルが指定されている場合はそれをロードする）。
 Windows 9x系では、ブートスプラッシュを表示する。Logo.sys がある場合、それをブートスプラッシュとして使う。ない場合は IO.SYS 内のブートスプラッシュを使う。

PC DOSおよびDR-DOSでは IBMBIO.COM という名前である。

外部リンク 
MS-DOS Device Driver Names Cannot be Used As File Names — IO.SYS内のデフォルトのデバイスドライバの一覧がある。
SYS.COM Requirements in MS-DOS Versions 2.0-6.0 — ロードすべき IO.SYS の要求仕様がある。

MS-DOS