見出し画像

MS-DOS(PC-DOS)の登場

20世紀の最後の方の時代は、アップルやワークステーションと呼ばれるようなハイエンドなPC以外にとってはOS(DOS)と言えばMS-DOSでした。テキスト画面にプロンプトが出ているだけで今どきに比べれば何ともシンプルな世界でした。

MS-DOS

MS-DOSはIBM-PCと共にやってきました。IBMが8086を使ったパソコンを販売するにあたり、そのOSをマイクロソフトに依頼したところから始まります。当初はデジタルリサーチのCP/M-86を採用する案もあったようですが、デジタルリサーチは8ビット時代のOSであるCP/MとCP/M-86の間の移植性を高める作業とCP/M-86としての機能拡張に忙しかったようで、使い勝手としてはほぼCP/M-86に準じたDOSをマイクロソフトが作ることになったようです。

こうして当初はIBM-PC向けのDOSだったので”PC-DOS”という名前でIBM PCと共に1981年に発売されました。このOSを翌年にマイクロソフトが他の機種向けのDOSとして販売するにあたり、その名称を”MS-DOS”としたのがMS-DOSの始まりです。当時はメーカーごとにパソコンのハードウェアの詳細が異なり、その機種向けにカスタマイズされたDOSが、それぞれのメーカーから発売されるのが普通でした。1983年には日本でもPC-9801向けの日本語も使える”日本語MS-DOS”が発売されます。

ところで、どうして”DOS”(DiskOperatingSystem)と呼ぶのかというと、OSというのは本来、ディスクなどのデバイスだけではなく実行するプログラムなどの管理もするものなのですが、MS-DOSはシングルタスクであり、プログラムをメモリに読み込んで実行するだけの機能しかありません。今のように複数のプログラムを同時に実行して、その制御を行う機能なんてありません。ということで流石にOSと名乗るのが恥ずかしかったのでDOSという言葉になったのかもしれません。

その「ディスク」ですが、最初のMS-DOSはフロッピーディスクのみしか扱えませんでした。ファイル名はCP/M時代と同じ”8.3形式”、つまりファイルとしての名前8文字(というか8バイト)とピリオドを挟んで3文字(3バイト)の拡張子を付けます。またマイクロソフトの特徴として大文字と小文字の区別をしません。そして階層化ディレクトリは無く、ディスクの単位にファイルが並ぶだけでした。

ディスクの管理はFAT(File Allocation Table)と呼ばれる情報を使っているのが特徴で、この手法はDISK-BASIC時代から使われていました(詳細は異なります)。この時代の管理手法としてはなかなか良くできていて、フロッピーディスクを交換してもREMOVEをしないといけなかったり(DISK-BASICの場合)、CTRL-Cを叩く(CP/Mの場合)必要もなく便利だったのですが、MS-DOSがあまりに普及したために、いろいろな拡張はされたものの今でも多くのリムーバブルメディアに使われ続けています(結局、取り外しという操作を行わないといけないのは変わっていない)。

File Allocation Table

複数のドライブが接続されている場合、それぞれの機種のルールでA~Zまでのアルファベット1文字のドライブ名がつけられます。この部分に関してはWindowsになった今でも変わっておらず、めったに無い事ですが26台以上(ネットワーク・ドライブも含む)のディスクを接続するには苦労することになります。


【補足】そういえば初期のMS-DOSは接続できるドライブ数は16まで(A~P)でした。これが理由でCDドライブが使えるようになった時(新しいバージョンでないと対応していない)にドライブ名をQにする(デフォルトでそうなる)ことが一般的だったことを思い出しました。今でも光学ドライブはQやRで、それより後にネットワークドライブを割り当てるクセが直っていません。


使い方はシンプルでDOSのシステム・プログラム(MSDOS.SYSとIO.SYS)の入ったフロッピーディスクをドライブに挿入し、そのドライブから起動すればDOSが走り始めコマンド・プロンプトが表示されてコマンドが実行できるようになります。この時にCONFIG.SYSに書かれているドライバを読み込み、AUTOEXEC.BATという特定の名前のバッチファイル(DOSコマンドがテキストで書かれたファイル)が実行されるので、フロッピー毎に組み込むデバイスを切り替えたり、自動的に立ち上げるアプリケーション・プログラムを設定できるので、いわゆる「ターンキーシステム」(電源をいれるだけで目的のアプリが動くような環境)を容易に作成することが出来ます。

MS-DOSも含めてCUI(キャラクターユーザーインターフェース)の時代は、画面にはコマンドを受け付けられる状態であることを示すプロンプトが出ているだけで、どんなコマンドを使うことができるのかなんて画面のどこにも表示されていないので、予め必要なコマンドの使い方を覚えておく必要がありました。ますDIRとやって、ディスクにどんなファイルが入っているか確認してとかするわけですが、コマンドには豊富なオプション設定があって、それを覚えていなければ便利に使うことも出来なかった訳です。

MS-DOSの話としては、コマンドの話やメモリ管理であるとかシステムコールの話とかもやりたいところですが、長くなったので、それはまたの機会にします。

#PCDOS #MSDOS #IBM #マイクロソフト #DOS #FAT #シングルタスク #ドライブレター #CUI


いいなと思ったら応援しよう!

kzn
頂いたチップは記事を書くための資料を揃えるために使わせていただきます!