■DOSでマルチ・タスク

 
1999年10月26日オープン

 DOSSHELL は Win95(DOS 7.0)になって添付されなくなって、とても残念なんですが、子プロセスのないアプリケーションでもスワップできるとか、任意のアプリケーション同士のタスクスワップができるという利点があります。
 それに、DOSSHELL のタスクスワップというのは、なかなかダイナミックというか、スリルがあるというか(^^;;;、できて当たり前の Windows と比べて惹かれるところがあります。

 思い返せばたった数年前、4太郎、123、桐という御3家(+エコロジー、Mifes?)華やかなる頃、数少ない会社のパソコンを2台占拠してひんしゅくを買っていた私としては、なんとか1台で済ませなければという必要性にかられていました。
 特に4太郎と桐ではFEPが異なりましたから、その間で無事スワップできる環境を作るというのは、本当にワクワクするところがありました。

 ところがこの DOSSHELL のタスクスワップをとことん極めようとする記事のなんと見当たらないこと。実用的でないとして一蹴しているものばかりのため、随分寂しい思いをしたもので、その頃のノウハウをAI出版に投稿をしてもついに採用されることもなく、Windows一色の時代に入ってしまっていました。

 この DOSSHELL で残念なのは、DOS 5.0 からDOS 6.2 になるまでの間に大きな改良がなされたというのに、まったく注目されなかったという点です。どこが改良されたかというと、

(1) 当初、DOSSHELL上でEMSを使うのにひと工夫が必要だった。EMM386.EXEが 改良されて、XMSから必要なだけEMSが配分されるようになったのに伴い、DOSSHELL上でも、プログラム登録の詳細で設定したXMSの範囲内でEMSが利用できるようになった。

(2) 同時に、DOSSHELL上でアプリ毎にXMSの上限を設定しておくことによって、あるアプリをタスクスワップした後も、特別な工夫なしに他のアプリのためにEMSを残しておけるようになった。

(3) タスクスワップすると前のグラフィック画面が残る場合があったが、EXTDSWAP.SYSの導入で、その問題が解消された。
(設定例)
DEVICE=A:\DOS\EMM386.EXE /UMB /HIGHSCAN /E=DC00-DFFF /T=A:\DOS\EXTDSWAP.SYS

(4) SMARTDRV.EXE がいろんな点で改良され(速度の向上、UMB利用、レジューム対応)、BUFFERSが減らせる、MEMMAKERが添付されたなど、多少は空きコンベンショナルメモリが広くなった。

(5) ADDDRV が DOSSHELL 上で使えるようになった。FEPをアプリに応じて組み込んだり組み込まなかったりできるようになった(これは、タスクスワップしたい人にとってはどうせFEPを DOSSHELL 起動前に組み込んでおかないといけないので、意味はないが)。

 ということで、空きコンベンショナルをなるべく広げる工夫をしておきさえすれば、DOSSHELLは問題なく使えます。AirCraftでも大丈夫です。具体的には、

・BUFFERS は8ぐらいに留める。
・MOUSE.COM は諦める。
・FEPはEMS/UMB対応のものを使うようにする。

 これで起動しないアプリケーションは、あまりないと思います。
 ですが、例えば、DOSSHELL から air craft を起動して nifp でログを読み込んでいる途中で「メモリ獲得に失敗」のメッセージが出ます。

 そこで、子プロセス起動時に親プロセスをメモリなどに待避させてくれる RSWAP と組み合わせたらどうだろうと、RSWAP 常駐後、DOSSHELL を起動させようとしたら DOSSHELL 自体が起動せず。
 DOSSHELL 起動後に RSWAP を常駐させたりいろいろ試しましたが、DOSSHELL 自体を待避させたり、DOSSHELL 上で RSWAP を働かせるには、なにか一工夫が要りそうです。

 あとは、DOSSHELLのファイラー、あれは辞めといた方が(^^;;。オンラインソフトのファイラーの方がよほど便利です。プログラム一覧画面だけにします。
プログラム登録は簡易バッチ機能(コマンドを ; で繋ぐことができる)が使えるし、階層構造にもできるので、他のメニューシステムよりも便利なぐらいです。
 30行対応アプリと非対応アプリのタスクスワップができるのには驚きました。AUTOMATE でうまくいきましたが、30BIOSではうまくいかず、もう少し試行錯誤してみないと分かりませんが。

 ということで、いまだ486以前のマシンを活用されている方はいっぺん楽しんでみて下さい。