CP/M
アドレス0100hから、256バイトを1ページとして指定のページ数のメモリイメージをディスクに記録する。
CP/Mの特徴的な仕様の一つに、リブート(ウォームブート、ウォームスタート)がある。リブートとは、アプリケーションの終了、または^Cの入力により、ディスクからCCPとBDOSをロードし直してCCPのコマンドラインに戻ることをいう。他のOSのように、IPLから完全に再起動することを指すわけではない。
リブートは以下の場合に発生する。
CP/Mのアプリケーションは、終了してOSに戻るために、0番地にジャンプする (JMP 0)。
CCPのコマンドライン上、またはアプリケーションの動作中に、^Cを入力すると、任意にリブートすることができる。
ディスクI/Oでエラー(BDOSエラー)が発生した際に、Abort(中断)を選ぶとリブートする。
いずれの場合も最終的にBIOSの先頭にジャンプし、BIOSはドライブAのディスクのシステム領域からCCPとBDOSをメモリにロードし、CCPの先頭にジャンプする。これにより、CCPのコマンドラインに戻ることになる。リブートはCP/Mの使用中に頻繁に発生するので、ドライブAにはCCPとBDOSの入ったフロッピー(通常、CP/Mの起動フロッピー)を入れておく必要がある。
CCPとBDOSをロードするのは、アプリケーションによって破壊されている可能性があるためである。
当時多くの人が16ビット機でもCP/Mが標準になるだろうと考えていた。1980年にIBMは、ビル・ゲイツの提案に従ってデジタルリサーチに連絡を取り、開発中のIBM PCに提供する新しいCP/Mのライセンス契約について話し合おうとした。秘密保持契約を結ぶことができずに話し合いは決裂し、IBMは代わりにマイクロソフトへOSの提供を打診した。その結果生まれたMS-DOSは間もなくCP/Mより売れるようになった。
初期バージョンのMS-DOSは基本となるコンセプトや仕組みがCP/Mと似ていた。ファイルのデータ構造が同じで、ディスクドライブにドライブレター(A:や B:など)を割り当てる形も同じだった。ファイルシステムのFATはCP/Mと比べてMS-DOSが最も違う所だった。全体的に大きな違いがないことから、WordStarやdBaseなどのCP/Mの人気ソフトウェアを簡単に移植できた。一方でCP/Mにあった、ユーザーごとにディスクの領域を分割する機能はMS-DOSに採用されることはなかった。IBM PCは一部を除いて64KB以上のメモリを利用できた一方で、CP/Mは16KBのメモリで動作するよう設計されていたため、MS-DOSは多くのメモリを使ってCOMMAND.COMの内蔵コマンドを増やすことができ、フロッピーディスクからコマンドを読む必要が減ることで処理が速くなり、OSのフロッピーをアプリケーションやデータファイルのフロッピーに変えても操作できることが増えて使いやすくなった。