SSブログ

DOSその3(月刊ASCII1984年8月号6)特集 [月刊アスキー廃棄(スクラップ)]

DOSの特集最後のスクラップ。
ASCII1984(08)c173比較_W520.jpg
比較といってもファイルをコピーするプログラムをアセンブリ言語で書くというもの。DOSのファンクションコールを使うと便利だよというもの。あまり参考にならない。

「DOSの今後の発展」があった。さてどんな記事だったのだろうか。36年前の空気を味わう。
DOSの今後の発展
●(株)アスキー・マイクロソフトFE 渡辺新治
 現在,マイクロコンピュータ用ソフトの問題点として,アプリケーションプログラムの異機種間のコンパチビリティが挙げられます。CP/M,MS-DOS等の標準OSによりキャラクタベースでのアプリケーションプログラムのコンパチビリティは、実現されました.しかし,グラフィックスについては,アプリケーションから直接ハードウェアを制御,または、BIOSをコールする必要があり,しかもこの様なソフトウェアが増えています.
 この様な状況にある現在,キャラクタベースでのコンパチビリティだけでは、OSが異機種間のコンパチビリティを保証しているとは言い難くなってきています.そこでグラフィックに関するアプリケーションとハードウェア間のインターフェイスを標準化する必要がでてきました.  マイクロソフト社では,そのインターフェイスを「マイクロソフト・ウインドウズ」によって実現しました.このウインドウズは,多くの機能を持っているのですが,そのインターフェ「イスをGDI(グラフィックスデバイス・インタ-フェイス)と呼ばれるモジュールにより実現しています.GDIには,例えばLINE,CIRCLE,POLYGONといったグラフィミックスプリミティブがあり,これをアプリケーションプログラムが呼び出すことにより線描画等が行えるのです.さらにマイクロソフト・ウインドウズを使用している時には、テキストの表示もGDIを通して行われます。すなわち,GDIはグラフィック及びキャラクタの出力インターフェイスなのです。
 マイクロソフト社では、MS-DOSにウィンドウズを加えることにより,グラフィックスインターフェイスの問題を解決しているのです.
 ところで,米国において今一番ホットな話題はインテグレーテッドソフトウェア,ネットワークといったことです.マイクロソフトでは,ウインドウズによってインテグレーテッドソフトウェアを開発する環境をOSのレベルで提供することにより,その要求に対する1つの解答としています。
 ネットワークに関しては,現在パーソナルコンピュータ上のネットワークのためのハードウ*ェア,ソフトウェアが数多く市場に出ていますが,CP/M,MS-DOSといった標準的なものはなく,まだ戦国時代といったところです。ネットワーク用アプリケーションを効率的に動作させるには,ネットワーク用のインターフェイスを用意するとともに,複数のプロセスを同時に実行可能にするマルチタスクを機能を持ったDOSが必要になってきます.マイクロソフトでは,すでにXENIXがマルチユーザー,マルチタスク機能を持ったOSとして用意されていますが,いずれMS-DOSの延長としてこれらをサポートしたOSが開発されるでしょう.
 MS-DOSは,さらに改良,または拡張されハードウェアの進歩とともに発展していくでしょう.しかし,その発展とともに絶対に忘れてはならないことがあります.それは,バックワードコンパチビリティ,つまり,旧バージョンで開発されたソフトウェア資産が新しいバージョンでも問題なく使用できるということです.
 OSが機種間の違いをなくす、つまりOSが同じならアプリケーションソフトはどの機械でも動くという36年前の理想は、結果的にはWindows95の登場まで待たねばならなかった。一般ユーザのパソコンはマルチユーザー、マルチタスクは必要なく、シングルユーザ、マルチタスクで良かったし、ネットワークもWindows95の登場で簡単に利用できるようになった。あと11年必要だった。
 しかし、最後の「旧バージョンで開発されたソフトウェア資産が新しいバージョンでも問題なく使用できる」は実現しなかった。36年後の後出しジャンケンだけど。

「DOSの今後の発展」ということで、デジタルリサーチの三沢誠一氏がCP/Mについて書いている。
 DOSの今後の発展
 ●デジタルリサーチ 三沢誠一
 ソフトウェアバスとしてのCP/M
 CCP/Mのバージョン3.1ではPC-DOSのバージョン1.1上で開発された数多くの応用ソフトウェアを実行することができます.このことは,CP/Mのソフトウェア・バス機能をより強化して、ハードウェアばかりでなく,OSへの依存性をも吸収していこうという現れの第1歩であると言えるでしょう.
 パーソナルコンピュータの3大OSとして,CP/M,PC-DOS(MS-DOS),UNIXを挙げる人が多いのですが,CP/Mは,CP/Mのもとでのアプリケーションプログラムの継承と互換性を基本としたソフトウェア・バスの思想を今日,PC-DOS上に広げ,なおかつその思想を拡大しつつあります(図1).
 昨年発表されたデジタル・リサーチ社とインテル社の80286用UNIXシステムVの共同開発,AT&T社とのシステムV上のアプリケー|ションプログラムや言語の共同開発等は,その新しい展開です。
 ホームコンピュータとCP/M
 ホームコンピュータやハンドヘルドコンピュータの分野においてもOSの必要性が高まってきましたCP/Mファミリの中には,ローエハンド向けにOSのROM化が可能なP・CP/M(パーソナルCP/M)があります.ビジネスの分野と違い,ホーム・コンピュータの分野では,人とコンピュータとのインターフェイスが「重要な問題となりますが,P・CP/Mは,メニュー選択方式をOSレベルでサポートしているので,ユーザーはメニューの選択をスペース・キーとリターン・キーのみでできるようになります.もちろん,ここで作成されたデータはCP/Mファミリと互換性があることはいうまでもありません.
 以上の様にCP/Mファミリは,ソフトウェア・バスとしての思想を基本にさらに大きく広がっていくことでしょう.

ASCII1984(08)c177比較_図1W520.jpg
日本の一般ユーザには浸透しなかったが、デジタルリサーチ社としては一定程度プロ相手に商売できていたということだったのだろうか。

これはBasicによるUNIXエミュレータ。
ASCII1984(08)c178μUX_W520.jpg
UNIXの気分を味わいたいユーザがいたということだろう。パソコンの楽しみ方の一つとしてあったのだろうと思う。

その他のDOSの記事。
ASCII1984(08)c182その今後_W520.jpg
なるほど、これらもDOSだがMSX-DOSのあとにUNIXを並べるとはかなりの違和感がある。UNIXはDの付かないきちんとしたOSで、機能限定版のDOSと比較するとは、36年前の一般ユーザの読者は勘違いしたのではないだろうか。
読み返すと結構面白いので以下引用しつつコメントを加える。

「DOS,その今後の発展」
いままでは,現在主流となっているMS-DOS,CP/M,OS-9の3種のDOSを見てきましたが,ハードウェアが進歩し続ける限り,ソフトウェアに完成という言葉はありません.そして、メインフレームの世界でOSが発展していった様にパーソナルコンピュータのOSも進歩して行きます。 ここでは,新しいマシンに搭載された新しいDOSや,いままで触れなかったものについて見てみましょう.
 UCSDP-system
 UCSDP-systemは,機械語でできている他のOSと違いシステム全体がP-codeと呼ばれる仮想マシンコードでできています.そして,P-systemのコンパイラ,たとえばPascalも機械語ではなく,このP-codeを生成します.このために,どのCPUででも,アプリケーションプログラムが実行可能となっているのが最大の特徴です。
 P-codeの実行は,そのCPUのアセンブラで記述されたP-codeインタプリタが行うことになるため,アセンブラで書かれたプログラムより速度が低下してしまうという欠点を持ちますが,CPUの違うマシンでもまったく変更なくプログラムが実行できることの利点はそれ以上のものがあります.また,8bitCPUから16bitそしてミニコンまで同じ使用環境が提供される点も重要なことでしよう。
 このP-codeは、仮想的なCPUを考えた時の機械語命令であり,各命令は高級言語をコンパイルする際の効率等を考慮して決定されています.BASICもインタプリタで,キーワードが中間言語と呼ばれる形でメモリ内に格納されます.しかし,このP-codeと違うのは,その中間言語がキーワードに対して1対1に対応していて,BASICのキーワードそのものを表しているのに対して,P-codeは,仮想マシンの機械語レベルの命令,例えばレジスタへのロード等を表していることです.
 このP-systemは,標準の言語としてPascalを採用していて,アプリケーション等もPascalで記述されています.さらに,このP-systemもマルチタスクをサポートし(IV.1バージョン),同時に複数のタスクを実行することができます.このマルチタスク機能は,P-systemではコンカレント・プロセスと呼ばれPascal言語上で記述することができ利用しやすくなっています.このP-systemにもウインドウ機能がオプションでサポートされています.“Insight Window Designer"というのがこのウインドウ・マネージャの名称で,このマネージャを使用することにより,マルチタスク機能を生かして複数のプログラムをウインドウを通して使用することが可能になりました.

Pascal画面W520.jpg
 Pascalには36年前の時点でプログラム言語としてすでに興味があったが、使う環境がなかった。まさか、OSに分類されたとは認識が甘かった。P-codeコンパイラというアイデアにいたく感動した。ただ36年前のパソコンでは動作を遅くするデメリットが大きく一般ユーザには支持されなかった。なんせ、当時は速度を稼ぐためにハードウェアを直接制御していたので、古い機械では動作しないアプリが当たり前のように売られていた。このことが、ユーザに対して機械の更新購入を促していた。

 MSX-DOS
 MSX用のDOSとして開発されたMSX-DOSは,8bitでは最新のDOSです.このDOSの特徴は,規格統一マシンであるMSXのコンパチビリティを生かすためにハードウェアの仕様までが規格に入っていることでしょう.ソフトウェア上では,MS-DOSと同じディスクフォーマット,ファンクションコールを持ち,MS-DOSとほぼ同様なコマンド体系を持っています.さらにCP/Mとコンパチビリティを持つファンクションコトールが拡張されています.このため,ディスクのフォーマットを変換してCP/MのソフトウェアをMSX-DOSフォーマットに落とせば,実行することができるのです.
 ファイルフォーマットには、バイト単位で管理しディスクスペースの有効利用を図ることのできるMS-DOSフォーマットを採用し,膨大なアプリケーションソフトを抱えるCP/Mとコンパチのファンクションコールを持つMSX-DOSは,8bitのDOSとして十分なものを持っているといえるでしょう.
 MSXは,どのマシンで書いたディスクでも,メディア,記録方式が一致すれば他のマシンでもファイルを読み書きできることが保証されています.さらに,ディスクのドライ・ブルーチンは、インターフェイスボード上のROMに存在して,フロッピー内のDOSプログラムには入っていません.ハードウェアに依存するプログラムは,そのハードウェアと一緒になっており,ソフトウェアの完全な互換性が保たれているのです.
 DOS自体ではありませんが,周辺装置であるディスクが,MSX用であればどのメーカーのものでも利用でき,混在して使用できるので,メディア変換,転送等が楽におこなえるなどの強みを持っています.

MSX-DOS画面W520.jpg
 MSX-DOSがUSCD P-systemとUNIXの間で紹介されていることに強烈な違和感を覚えるがASCIIの各記事だから仕方がなかったのだろう。MSX-DOSの最大の失敗点はパソコン業界の技術の進歩と一般ユーザの要求を完全に見誤ったところにある。技術は日進月歩いや秒針分歩という具合に滅茶苦茶進歩していた。36年前は今ある技術があっという間に陳腐化する時代だった。そのとき、過去の技術で作られたパソコンに対する互換性を重視したDOSを作るなんて何を見誤ったのか。また、当時の一般ユーザはパソコンを結構な頻度で買い替えていた。36年後のスマホの機種変を想像すると良い。スマホの機種変ではそんなに機能がアップしていないが、36年前のパソコンの性能上昇はそれと比べ凄いものだった。今より速い、高性能なパソコンを求めている一般ユーザがどうして過去のパソコンを活用するDOSを支持するだろうか。完全に見誤った。36年後の後出しジャンケンだから書けることだが。

ASCII1984(08)c183その今後_W520.jpg
UNIX画面W520.jpg
 UNIX
 ベル研で開発されたUNIXは,新しいと言うほどのOSではありませんが,16bitCPUのOSとして注目を集め、最近では実際にUNIXを搭載したパーソナルコンピュータも数多く発売されています.特に,IBM-PC用の“XT/IX",PC-9801シリーズ用の“PC-UX"等の発売は大きな話題を呼びました。
 なぜ,UNIXがこれほど注目されているのかというと,UNIXの提供する環境では,ソフトウェア開発が効率的に進めることができると言われているからです.
 UNIXは,OS自体がC言語で記述され,同様にCで記述されたソフトウェアツールが豊富にそろっていて,これらを適宜組み合わせることにより,ソフトウェア開発時に必要となるツールを簡単に作成することができるのです。
 このUNIXの最大の特徴は,“shell"と呼ばれるコマンド・インタプリタにあります.コマンド体系が制御構造を持っているので,繰り返しや条件判定等が行え,それらをファイルにしておいて実行させることが可能になっているのです.つまり,通常良く使う操作を記述しておき,実行したい時にそれが記述してあるファイル(シェルスクリプトと呼ばれます)を実行させればよいのです.これは,あたかも,Disk-BASICでプログラムを書いて実行させるのに似ています.しかし,その命令体系がBASICではなくOSのコマンド体系なのです.前にも述べた様に,たいていのOSではプログラムを実行可能なファイルとすれば,コマンドの様に扱えます.この点は,Disk-BASICと機械語プログラムをリンクさせるのと同じと言えるでしょう.
 UNIXが,Cで記述されているということは,ユーザーがC言語でOSレベルの処理まで記述できるということです.実際,UNIXの中でならほとんどのプログラムはC言語で記述すれば済んでしまうのです.こうした環境が,ソフトウェアを開発する時に大きな力を発揮します。
 また,UNIXのプログラミングに対する基本的なとらえかたは、「プログラミングは,広義のワードプロセッシングである」ということです.UNIXは,この考え方を基に設計されました。そこでユーザーインターフェイスに対してもこの考え方を基に行う様になっているのです.こうした,基本コンセプトに沿う用途であれば,プログラミングに限らず大きな力を発揮するでしょう.
 しかしUNIXは,一般向けのOSではないと言われています.コンピュータの利用には,プログラマがプログラムを開発するだけでなく,一般の専門知識を持たない人がアプリケーションソフトを利用するだけの利用法もあります.UNIXでは,コマンド名が極端に省略されていて,行いたいことからコマンド名を連想することができません.良く利用するアプリケーションの中にいる場合には,それでも良いでしょうが,コマンドレベルでの利用の場合,コマンド名がわからなければもう何もできません.
 さらに,UNIXコンパチと呼ばれる他のマシンに移植されたOSでは,コマンド名,その種類等もそれぞれに違っていることもあります.これらのことが原因でユーザーの間に混乱があり,「初心者には,使いにくい」という評判がある反面、一度そのUNIXの環境に慣てしまうと,その虜となってしまうともいわれ,その評判は様々です.
 現在のところ,パーソナルコンピュータ上でUNIXを走らせるためには、多額の投資を必要とし,また,ミニコン上のものとまったく同じ環境が提供されるというわけでもありません.しかし,今後の発展いかんによっては、その状態も改善されることでしょう.
 36年後の後出しジャンケン的感想としては「当時はこうだったのか。ふむふむ。」といったところ。私はlinuxが登場してから使い始めたが、それはWindowsではコンソールからコマンドを投入するということが一般的では無くなったことからだ。UNIXのコマンドは確かに覚えにくいが、ゲームをする感覚で使うと面白い。使えるようになるとゲームのレベルアップ気分が味わえる。MS-DOSだってコマンドは一般ユーザにとっては相当覚えにくいというか使いにくいものだった。パソコンの使い方を教えていた知人からは、「魔法の呪文を唱えるようだ」と言われた。WindowsやMacintosh(iMac)が出てやっとそのようなユーザでもパソコンを使えるようになった。コマンドを投入するシステムを楽しいと思うのは一般的ではなく、向き不向きがある。

Macintosh本体.jpg
 Macintosh
 MacintoshのOSはファインダと呼ばれ,今までのパーソナルコンピュータのようにDisk-BASICがファイルを管理するものではありません.
 Macintoshは画面を机の上(デスクトップ)に見たてて作業することを想定していて,各ファイルはICONと呼ばれるシンボルマークの形に表示され,マウスでICONを選択し、画面上部にあるメニューから命令を選択することによって作業が行えます.
 このMacintoshの画面に表示されるICONは作成されたアプリケーションソフトにより各々違った形になるので一目見ただけで,どれがどのファイルかが簡単に判る様になっています。・ファインダは,Macintoshという机の引出しやファイルキャビネットを管理する秘書の様なもので,ファイルを一つの引出しから別の引出しに移動したり,アプリケーションで作った書類の管理等を行い,ハードウェアとユーザーを取り持つのです.
 (1)フォルダ
 Macintoshにはフォルダというものがあり,これは一般に言われるファイルの階層構造を視覚化したものと言えます.つまりシステム関係のフォルダ,アプリケーション関係のフォルダなどに分けて、仕事ごとに、内容ごとにファイルをまとめることができるのです.
 実際にMacintoshを起動して画面に現れるウインドウには各フォルダしか表示されず,フォルダの中身までは表示されません.これはフォルダに綴じてある状態で,この各フォルダをマウスで選択すれば,指定されたフォルダはウインドウを開いて内部に閉じてある各ファイルを表示するのです.
 (2)ごみ箱
 ごみ箱は書類やフォルダを廃棄するためのものです.普通のOSではファイルを消す命令で行いますが(例えば,ERA filename),MacintoshではICONで表示されているファイルをマウスでごみ箱に移動することによって行います.さらに普通のOSの場合作成したファイルを削除したら復旧させるのは不可能に近いのですが,Macintoshは廃棄したいファイルを一度このごみ箱に収めることにより今までのOSのように間違ってファイルを削除する危険が少なくなっています.
 (3)メニュー
 Macintoshのメニューはプルダウンメニューと呼ばれ,Macintoshの画面の上部にあるメニューバーの命令メニューをマウスで指定することによって、指定された部分よりメニューウインドウが表示されます.普通のOSでは命令をキーボードより入力するのですがMacintoshではこのメニューウインドウの中の命令をマウスで指定することにより実行が行われます.
 アップルメニュー
 Macintoshはデスクトップという概念により,他のOSには見られない特別のアプリケーションがあります.それは,アップルメニューと呼ばれていて、メモやスケッチブック,時計等の卓上アクセサリメニューがあり,これらのアクセサリーは,アプリケーションプログラムを実行中でもいつでも呼び出せます.また,このアクセサリーに関してのみマルチタスクとなっています.
 Fileメニュー
 ファイルを管理する為のメニューで,ファイルのオープン,クローズ等を行います.この項目の1つには“Get Info"(情報表示)があり,選択されたICON全てに関する情報を表示するウインドウを開くことができます。サイズ,種類(アプリケーションやどのアプリケーションで作成されたか),作成された日付,最後に変更された日付,どのディスクまたはどのフォルダに属するか等が表示され,さらに注釈を付けることも可能になっています。
 Edit(編集)メニュー
 この部分は,一般に言われる統合化を司る部分で,各アプリケーションから,テキストやデータ,グラフィックス等を切り抜き,あるいは,コピーを取って、クリップボードを介して他のアプリケーションに転送することができるのです.
 View(表示)メニュー
 このメニューはディレクトリ(目録)にある書類やフォルダをICONやテキストに表示するもので,ファイルの表示をICONだけでなく,ファイル名で表示を行ったり,それ-らを日付,名前,サイズ、種類で並べ替えて表示することが可能です.
 これらのようにMacintoshのファインダはマウスだけでファイルの取り扱いができるようになっています.普通のOSではOSの扱いを覚える為に膨大なマニュアルが必要であり専門的な知識が必要でしたが,Macintoshのファインダはファインダを取り扱う為のマニュアルは殆ど必要なく、専門的な知識がない人でも簡単に使える,独特なOSと言うことができます。
 Macintoshのこの方式は,その上位マシンであるLisaのものと同じです.この2機種のマシンは、ソフトウェアマシンといえるでしょう.ハードウェア技術の面からみれば,日本製のパーソナルコンピュータの方が遙かに上ですが,マシンの使いやすさは逆になります.OSの重要性を認識させるマシン,それがMacintoshとLisaといえるでしょう.
 当時この記事を読み、実際の操作を想像できる一般ユーザがどのくらいいたのだろうか。36年後の後出しジャンケンで俯瞰するとすんなり読めるが、当時の私は理解できなかったというか読み切ることができず斜め読みしただけかもしれない。というか、多分そうだっただろう。私はお金に余裕がなかったため結局今まで1台も購入しなかったが、Macintoshは本当に偉大だったと思う。

ASCII1984(08)c184その今後_W520.jpg
ProDOS画面W520.jpg
 Pro Dos
 アップル社の新製品AppleIIcは,標準でディスクドライブを内蔵しています。いままでのAppleIIでは、DOSとして,“DOS3.3"が使用されていましたが,このIIcからは,“ProDOS”が添付される様になりました.このProDOSは、オプションのハードディスクでも使用することができ,多数のファイルを扱いやすいように階層構造がサポートされています.さらにDOS3.3で指摘されていた欠点のいくつかをカバーする様に拡張されています。
 このProDOSもDOS3.3と同様にOSが入出力を監視していて,その中にDOSのコマンドを見つけるとそのコマンドを実行するという形式を取っています.一見,Disk-BASICの様にしか見えないのですが,プログラム中のPRINT文でコマンドを出力させても同様にコマンドを実行します.また,監視されている入出力ルーチンを利用すれば,どの様なアプリケーションからでもOSの機能を利用することができます.
 この方式では,コマンド自体をBASICのストリングとして扱えるので色々と細かい処理が可能になります.つまり,ユーザーの入力したコマンドを加工して実行させることが可能になるわけです.
 BASICのみを使うユーザーでもディスクを利用でき,さらにそのBASICを利用して高度な応用もできれば,BASIC以外からでも簡単に利用できるこの形式は,本体内に特定の言語を固定されたROMの形で持つパーソナルコンピュータ独自のものと言えるでしょう。
 全く知らなかったPro Dos。やっぱりアップル社の機械はソフトウエアが凄いや。それに比べ日本の機械は...。これはメーカーが悪いのではなくユーザが悪いのだと思う。PC-9801が大きなシェアを取ったのがその表れ。ユーザはより使いやすいソフトより、使いにくくても皆が使っている機種に依存したソフトを使う。パソコンは難しいものでその方がありがたみがある。自分はパソコンを使って仕事ができるということをアピールしたかった。36年前はそうだった。

 その他
 今述べた以外にも,数々のDOSが存在します.たとえば新製品ではありませんが,ソニーのSMC-777のファイラーが挙げられます.一見普通のBASICマシンの様に見えるSMC-777は,実はこのファイラーをベースにしたマシンで,BASICも実はそのアプリケーションの一つに他ならないのです.このファイラーは、ファイル,コマンドが画面上に表示され,それをカーソルキーで選択,実行する形式をとっています.そして,内部的には,CP/Mとコンパチビリティを持つシステムコールを持ち,標準で内蔵されている3.5インチマイクロフロッピーディスクをコントロールし,ユーザーとハードウェアのインターフェイスを行うものです.このファイラーもコンピュータに対する特別な知識を持たないユーザーをも意識したDOSと言えるでしょう.
 現在では、今述べたような様々なOSが登場しています.しかし,どのOSも目指している所は同じなのです.それは,「使いやすさ」ということです.しかし、誰にとっての使いやすさを指向しているのかは様々です.あるものは,純粋にプログラミングをする時の使いやすさを指向し,また,あるものはコンピュータに対して,特別な知識を持たない人の「使いやすさ」を追求しています。この点が最近のDOSの傾向といえるのではないでしようか。
 36年前MS-DOSをわざわざ買うユーザはほとんどいなかった。使い道がない。MASMとかMS-Cを使ってプログラムを書いてお金をゲットするというユーザ以外不要だった。ソフトウエアにローダーとしてバンドルされていたから。というより、DiskBasicベースのソフトが多かったのだけれど。


nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。