SSブログ

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

特集の最後の編集部の記事に36年後の後出しジャンケンで突っ込みを入れる。
ASCII1984(08)c185DOSの向う_W520.jpg
 いままでにDOSの過去、現在を見てきました.DOSは,今後どの様に変化するのでしょうか。パーソナルコンピュータは,どんどん進歩してゆきます。しかし,一般にソフトウェアの進歩は,ハードウェアに比べて遅いと言われています.ここでは、DOSの今後の変化、発展について考えてみることにしましょう.
 ハードウェアの進歩
 いままでに何回も述べられたように,半導体技術の進歩によって年々メモリチップの集積度が上がり,パーソナルコンピュータでもメガbyte単位のメモリを持つものが現れています.しかし,単に巨大なメモリを持つだけでは何もできません.それは,それを使いこなすソフトウェアと管理するソフトウェアがあって初めて有効に利用できます.さらに誰でもが使える様にするには、ミスを防ぐためのソフトウェア上の配慮や,視覚に訴えるグラフィックスをサポートする必要が出てきます.これらを完璧に行うには,かなりのメモリを必要とし,その場合に,メモリの管理を総合的に行い,ユーザーとのインターフェイスをとるソフトウェアが必要になります.
 「パーソナルコンピュータでもメガbyte単位のメモリを持つものが現れています」どの機種か知らないけどそんな特殊なものを出して論を進めるのはダメだろう。PC-9801Fの標準メモリは128Kbyteだったんだ。拡張しても640Kbyteにしかならなかったんだ。

 これらのことに対応するためにも,効率良く計算機資源の管理を行えるDOSが要求されています。
 いままでソフトウェアはハードウェアに合わせて作られていましたが,最近では,ある仕様のソフトウェアを効率良く実行するために,ソフトウェアに合わせてハードウェアを設計するということが行われています.その例としては、アップルのMacintoshが挙げられます.このMacintoshは,基本的な仕様として前章で紹介した様な形態が目標とされ,そのためにハードウェアが設計されたものと言ってもいいでしょう.
 これは正解だった。アップルはパソコン専業メーカーだったからというか、ジョブスの「パソコンはこうあるべきだ。」の思想を具現化できたからMacが誕生した。日本にはパソコン専業メーカーはなく、各企業の事業の一つとしてパソコンを作ってきたので、ある程度売れる機械を作るのが第一。ソフトは外部に作らせればいいという考えだったから仕方がない。

 ソフトウェア
 コンピュータの最大の特徴として,プログラムを入れ換えるだけで様々な用途に使えるということがあります.その様々な使いかたの分だけ,ソフトウェアが存在すると言って良いでしょう。
 ソフトウェアの重要性については,改めて言うことではありませんが,ここで問題なことは,それが人間が作らなくてはならないものだということです.そして昔も今も,多少環境が改善されたとはいえ,プログラマはプログラム開発に追われています.ソフトウェアの開発に関しては、工学的手法を使って生産性を向上できないため,「ソフトウェアの進歩は,ハードウェアよりも遅い」と言われるのです。
 ずいぶんと昔から「ソフトウェア危機」と呼ばれるこの様な状況があり,これだけコンピュータが進歩した現在でも,この問題については解答が出されていません.人間がコンピュータを利用する限り,常にソフトウェア生産上の問題はついて回ります.
 さらに現在では,パーソナルコンピュータは家電製品化しつつあります。大量に,しかも多くの種類のマシンが広まった時,ソフトウェアに対する需要はメインフレームの場合の比ではないでしょう。
 こうした問題を解決するための方法の1つとして,ソフトウェアを共有化することが挙げられます.なんらかの方法でソフトウェアからマシンに依存する部分を分離し,どのマシンでも走らせられる様にするのです.
 ここで異機種間で互換性のあるDOSを利用すれば,ソフトウェアを共有することが可能です。現在の所,物理的なフォーマットの違い等の原因で同一DOSでありながら,ファイルが共有できない,といった場合もありますが,時代の趨勢から言ってもその様なDOSは淘汰されていくでしょう.
 これはWindows95が登場するまで実現しなかった。11年前から言い続けていてやっとだった。

 使いやすさとは
 最新のDOSを紹介した部分で,「使いやすさ」について触れました.一言でいうと皆同じ「使いやすさ」なのですが,この「使いやすさ」は、誰が,どの様に使うかによって様々に変化します.
 例えば,コンピュータで行う仕事としてソフトウェア開発をする場合と事務計算をする場合では,その要求される能力が違い,コンピュータのソフトウェア,ハードウェアが違ってきます.その個々の使いやすさを考えた時,違いが出るのは当然です.
 そして,実際にはこのような場面を取り巻く「状況」という部分もあります.ソフトウェア開発を行えるユーザーは,少なくともコンピュータに対するある程度の知識を持っていますが,事務計算を行うユーザーは,そうであるとは限りません.
 このように様々なレベルのユーザーが利用するパーソナルコンピュータのOSは,何が良いとは,一概に決められません.しかし,逆に具体的に何に使うのかがはっきりした時点で,それが決定すると言えるでしょう.
コンピュータが登場し,多くの人々に利用される様になって,それらを効率良く使いやすくしようと,OSが登場しましたパーソナルコンピュータが登場すると,そのユーザーはコンピュータに対して特に知識を持っていない人々にまで拡がりましたそのためにOSは,それらの人々とコンピュータのインターフェイスをとるために変化しつつあると言ってもいいでしょう.
 これはコマンドを投入するDOSでは無理だった。前にも書いたけど操作を教えていたとき背中から見ている人が「魔法の呪文みたいだ。」というようではダメだ。Macのようにマニュアルを見なくても使えるようなユーザインターフェースが必要だった。

 DOSの向こうに見えるもの
 いままでに述べた様な状況の中でDOSの今後の発展を考えた時,誰もがそこに見るのはDOSそのものではなく、ハードウェア,ソフトウェアの一体化した,その人にとって「使いやすいパーソナルコンピュータ」ではないでしょうか。つまり,親切なユーザーインターフェイス,そして巨大なメモリや外部記憶装置,多くの周辺装置を統轄し,アプリケーション間のインターフェイスを行いソフトウェアを統合化する.それは,カーネルの部分は共通であるが,ユーザーの利用形態,状況に合ったシェルでユーザーに対心できる.さらに異機種間のファイル,プログラムの互換性は保証されている.
こうした姿こそ究極のDOS,そしてパーソナルコンピュータのあるべき姿ではないでしょうか。
 それはMacだ。使いやすいパソコンが広まらず、売られているパソコンは、添付のマニュアルは役に立たず、知人に操作法を教えてもらえねば使えない、使用法の本を買わねば使えないそんなコンピュータばかりだったのが36年前の姿だった。
 36年後、老人以外スマホを使うための本を買っている人はいないのではないだろうか。老人以外は適当に触って使えるようになっている。これと比べればDOSの時代はマニアには面白い時代だったが、他のユーザには暗黒時代だった。





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

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) 
共通テーマ:パソコン・インターネット

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

OS-9の紹介記事。一部ユーザを熱くしたのだが、大多数の一般ユーザはPC-9801使いであり存在自体知らない一般ユーザが多かった。だいたいOSすら知らない、意識しないで使っていた。
ASCII1984(08)c157OS-9_W520.jpg
ASCII1984(08)c157OS-9_冒頭W320.jpg
以下、図をスクラップして雰囲気を味わう。
ASCII1984(08)c158OS-9_図1W728.jpg
ASCII1984(08)c158OS-9_図2W1091.jpg
ASCII1984(08)c159OS-9_図3W703.jpg
ASCII1984(08)c160OS-9_図4W520.jpg
ASCII1984(08)c160OS-9_図5W520.jpg
ASCII1984(08)c160OS-9_図6W520.jpg
ASCII1984(08)c160OS-9_図7W520.jpg
ASCII1984(08)c161OS-9_リスト1(リスト3は誤植)W520.jpg
リスト3は誤植でリスト1が正しい。
ASCII1984(08)c162OS-9_図8W520.jpg
「OS-9の特徴と今後の展開」の部分を引用する。
OS-9の特徴と今後の展開
(株)星光電子 浅井博
●OS-9の特徴
 現在,OS-9には、OS-9/6809レベル1,レベル2,/68000レベル1の3種類があります.OS-9/68000については、評価コピーが入手でき,今年中には,完成バージョンが供給されるでしょう.
 8ビット,16ビット用標準DOSとしてCP/M,CP/M-86がありますが,OS-9はCP/Mと根本的に違います。むしろUNIXと比較して,その特徴を説明した方がよいと思います.
 OS-9は,UNIX流の処理環境を極めて低価格なシステム構成で実現しました。これは,特筆すべき特徴です。どんなにすぐれたシステムであっても,一部の研究者,技術者用のものであっては技術の大きな流れを作り出せないからです.OS-9は、より多くの人々に平等の機会を与えたのです.ミニコン以上のシステムではあたりまえなマルチタスク,20MBの大容量ハードディスクを何台もコントロールでき,UNIXのほとんどの機能を8ビットCPUで実現したのはOS-9が初めてではないでしょうか。
 こういう風に説明していると,OS-9は,UNIXの単なる焼き直しかと思われるでしょうが,実際は,そうではありません.OS-9は,UNIXを手本として8ビットCPU6809用に開発されましたが,中枢部であるカーネル,I/Oマネージャなどはアセンブラで記述され,UNIXのカーネルが約90KBあるのに対して,OS-9では7KB程度です.また,新しい概念であるモジュール構造の採用によって小さなメモリ空間でも強力な実行能力を与えたのです.モジュール構造とは,プログラムの部品化です。同じ機能のモジュールならメモリ中に、ただ1つ存在すればよいのです.それを,共通利用すればよいのです。何と省資源ではありませんか。まだまだ多くの特徴がありますが,今回はそれを列記するだけにします.
 ○リアルタイム機能
 ○ROM化可能
 ○UNIXと高級言語レベルでほぼコンパチブル
 ●OS-9の今後の動向
 ①8ビットCPUを使った組み込みボードから32ビットCPUまでのラインアップ
 OS-9は,ROM化可能,リアルタイム機能によってディスクの付かない制御用組み込みシステムにも使えます.また,1984年中にはリリース予定のOS-9/68000レベル3では,仮想メモリシステムを実現し,UNIX以上の広い範囲のシステムを供給できます。
 ②目的別の応用ソフトを充実させる.
 OS-9を標準の位置に定着させるためには,プログラミング言語のサポートが大切です。現在BASIC,Pascal,C,COBOLが使え、今年中には,FORTRAN77がリリースされる予定です.
 ●OS-9ユーザ会の結成
 非商業ベースのOS-9ユーザ会の結成を計画しています.これによって,UNIXのように技術情報,ツールの流通を促進しようと考えています.
 ●他のCPUにOS-9を移植する
 8086にOS-9を移植する計画があります.OS-9の思想をより多くのハードウェアシステムで利用できるようにと考えています。8ビットCPUでは現在のところZ80や6502にOS-9を移植する可能性はありません.メモリ・マネジメント機能が貧弱であることが主な理由です.
 6809使いにとっては魅力的なOSだった。ユーザへの対応も考えていた。しかし、一部の熱心なユーザにしか広まらず残念なOSとなった。PC-9801が圧倒的シェアを占めた状態では他が何をしてもユーザを広げることはできなかった。

天下をとったMS-DOS。図と表をスクラップして味わう。
ASCII1984(08)c164MS-DOS_W520.jpg
ASCII1984(08)c164MS-DOS_図1W365.jpg
ASCII1984(08)c164MS-DOS_表1W715.jpg
バッチ処理コマンドだが、MS-DOS2.0はこんなに少なかったんだと再認識した。
ASCII1984(08)c165MS-DOS_表2W736.jpg
ASCII1984(08)c166MS-DOS_図2W520.jpg
ASCII1984(08)c166MS-DOS_表5(表3の誤植)W716.jpg
表5は誤植。表3が正しい。36年前5インチDiskの種類が多かった。1D, 2D, 2DD、この後2HDで収まった。2HDが高くて2DDのDiskを2HDでフォーマットした例もあった。データを保存するのは怖かったが、起動ディスクをバックアップとして2HDでコピーして使った例があった。
ASCII1984(08)c167MS-DOS_図4W725.jpg
日本語処理に必須のMS漢字コード(SHIFT JIS)。長持ちしたもんだ。感心する。

CP/M86だが、これこそ影が薄いOSだった。
ASCII1984(08)c168CPM_W520.jpg
図表をスクラップしておく。
ASCII1984(08)c168CPM_図1W320.jpg
ASCII1984(08)c168CPM_図2W320.jpg
ASCII1984(08)c168CPM_図3W712.jpg
ASCII1984(08)c169CPM_図4W320.jpg
ASCII1984(08)c169CPM_表1W320.jpg
ASCII1984(08)c170CPM_表2W320.jpg
ASCII1984(08)c170CPM_表3W520.jpg
ASCII1984(08)c171CPM_図5-6-7W714.jpg
ASCII1984(08)c171CPM_図8W320.jpg
ASCII1984(08)c172CPM_図9W520.jpg
ASCII1984(08)c172CPM_表4W520.jpg

今回は、ここで終了。次にまとめ的な記事をスクラップしてDOSの特集を終了する。
nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

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

この号の特集はDOSだった。
ASCII1984(08)c152DOS_W520.jpg
Windows(月刊ASCII1984年5月号4)特集の後にDOSの特集とは、順番が逆ではないか。36年前のASCIIの先取りぶりが素晴らしい。
 当時の空気を感じるため、以下記事を引用する。記事はかなり読者層を勘違いしているような気もする。当時のアプリは機種ごとにマシン語で書かれたものとかDiskBasic+マシン語のものが多かった。MS-DOSをローダーとして利用したアプリはあったが、MS-DOSを別購入して、そこで動くアプリを購入するという一般ユーザはほとんどいなかった。高いパソコンを何台も趣味で買うような、高いアプリケーションソフトを何本も買うような一般ユーザは少なかった。(ここでいう一般ユーザとは自費でパソコンを購入して家庭で使っているユーザである。)
DOSの存在理由
 最近のニューマシンの傾向としてフロッピー内蔵ということが挙げられます.これからもわかる様にパーソナルコンピュータのユーザー,ハードウェアメーカーの間でハードウェアとしてのフロッピーディスクに関する認識が高まって来ているのです.しかし,そのハードウェアをサポートするソフトウェアは依然としてBASICが中心です。ところが中には、メインに「DOS = Disk Operating System」を置き,それを基にシステムを構築しているものもあります.  DOSとは一体どういうものなのでしょう?どんな機能を持っているのでしょうか?そしてその提供する環境とは?今月の特集「Disk Operating World」では,このDOSを取り上げます.それでは、DOSの持つ世界を見てみることにしましょう.
 繰り返すが、この当時のソフトウェアは売られているソフトもBasic(プラス機械語)で書かれたものが多く、雑誌のプログラムを入力せずに、市販プログラムをロードしてランするだけのユーザーは「ロードランナー」なんて揶揄されていた。
 Disk-BASICとどこが違うか
 DOSとはその名前からもわかるように「OS-Operating System」の一種です.0Sは計算機を有効に利用するために導入され,計算機と共に発展してきました.パーソナルコンピュータ用のDOSとは何かを一言で言えば「ディスクを外部記憶として用いるOS」ということができると思います.
 それでは、DOSについて実際のオペレーションの面から見てみることにしましょう
 Disk-BASICでもファイルの管理を行うことは可能です.しかし,BASIC言語の命令で行うため,その機能には制限があります.基本的には,各命令を使ってプログラムを組むか,ダイレクトモードで実行することになります.
 たとえばファイルをコピーする時,いったんプログラムをロードして別のディスクにセーブすることになります.このとき,コピーするのが格納開始番地も大きさもわからない機械語プログラムだったらこの方法は使えず,そのためのプログラムを書かなければなりません.さらにプログラムを書いている最中に,ちょっと別のプログラムの内容が見たいとしたら,いったんセーブして,別のプログラムをロードして,リストをとって、またロードする,という手順を踏まなければなりません.
 ディスクを使うのにDisk-BASICを使っていると、上に述べた様な不便さがつきまといます.こうした使い勝手の悪さは,DOSを使うことで解決します.DOSには,ファイルのコピーのためのコマンドやファイルをCRT,プリンタに出力するコマンドがあり,それらを使って作業を進めることができるのです。
 Basicを使っている限り、複数のプログラムを連携して使うのはCHAIN文を使えば不可能ではないけれど、単独のプログラムですべてを処理するのが普通で勢いプログラムが長大化(複雑化)するか、処理内容を簡略化(単純化)するしかなかった。
 それに加えて,DOSではデバイス(周辺装置)を論理デバイスという方法で管理しています。最近のBASICでは,周辺デバイスをデバイス名で管理しているものがありますが,これらは物理デバイスと呼ばれるもので,名前とデバイスが1対1に対応しています.ある名前(例えば“CRT:")に対応するデバイスはモニタディスプレイ1つしかありません.そして,PRINT文はこのモニタにしか出力されません.それ以外のデバイスに出力したければ,そのデバイスをオープンして,PRINT#等の命令で出力することになります。
  私はこの当時X1のCP/Mを使っていたので知人からBasicの相談を受けても的確なアドバイスができなかった。くたばれBasic派であったのでしょうがないけど。GOTO文満載でわけのわからない変数名を使ってループ変数がAとかを使った素人プログラムを読むのは苦痛だった。
 これに対して論理デバイスとは,仮想的なもので,必ずしも実際の周辺装置と1対1に対応しているとは限りません。たとえば,CP/Mでは,“CON:"と言う論理デバイスを持っていて,標準では入力がキーボード,出力がモニタになっていますが,これをRS-232C回線に代えることができます.この機能があればアプリケーションプログラム自体がRS-232Cをサポートしていなくても,そこから入出力を行うことができるようになります.また,プリンタに出力する様なプログラムをデバッグする時,一時的にモニタに切り換えておけばデバッグもやりやすくなります.
 さらにCP/Mでは,“PIP"というデータ転送のコマンドがあり,このコマンド中では,標準のプリンタ出力以外に幅80桁60行に区切って出力する論理デバイスを使うことができます.ユーザーは,この論理デバイス“PRN:"にデータを転送するだけでミシン目にかからないように印字することができるのです。
 PIPコマンドが懐かしい。なんでCOPYがPIPなんだと思ってた。当時インターネットがなくググることもできずわけの分からないまま使っていた。
 最近はプリンタにバッファが内蔵されていて打ち出しによるCPUの専有時間が短くなってきましたが,ソースリストを取る時など、ずいぶん時間のかかるものです.しかし,「マルチタスク」「マルチジョブ」をサポートするDOSなら,プリントアウトしながら別の仕事にすぐ取り掛かることができます。CPUの空き時間にプリンタへデータを転送する様にDOSが働くのです.単にプリンタのスプーリングだけでなく,もっと複雑なプログラムも同時に走らせることも可能です.
  当時外付けのプリンターバッファーは必須だった。これがなかったときは、リストを印刷している待ち時間にトイレに行ったり煙草を吸いに行ったりしていた。この当時のMS-DOSにバッファー機能はなかったと思う。
 さらに,複数のプログラムを同時に走らせた時,最近流行している「ウインドウ」という手法を使って画面を区切れば、他のプログラムの出力を見ながらエディタでプログラムを修正する等ということが可能になるのです.
 Disk-BASICとDOSの違いは、まだまだあります.本質的にDisk-BASICは言語,つまりプログラムを記述するために作られたもので,ディスクは、プログラム中で使用するデータを保存しておく記憶装置としての使い方に主眼が置かれて設計されています.そのためにファイルの扱いがDOSより不便なのは仕方ないことなのです.
 同時に複数のプログラムを走らせるなんて、MS-DOSとかCP/Mではできなかった。コンカレントCP/Mは全く見たことがなかったし、OS-9を使っている人も周りにはいなかった。全然一般的ではなかったと思う。
 なぜDOSが必要か
 パーソナルコンピュータで他の機種のデータ,ソフトウェアを使いたいと思った時,どうすればいいでしょうか.しかもそれがフロッピーディスクに格納されていたとしたら.一番普及している5インチの両面倍密のディスクを例にとれば,ディスクドライブ,メディアは同じものなのですから,他機種のものでもディスクのデータを読むことは可能です.しかし,そのプログラムの格納方法,位置等がわかっていなければ,意味のあるものとしての取り出しは不可能です。仮にそれを調べたとしても,ディスクへの格納方法は,それぞれの機種によって違いますし,機械語等の,I/Oを直接制御しているプログラムは書き直しが必要となります.
 ここでDOSが登場します.DOSを使うと,原則として同じDOSの走るマシンならファイルを交換しあうことができます.また機械語のプログラムでも,そのDOS用に書かれていれば,どの機種でも実行することができます.そして,各種のDOS用には,BASIC以外にも色々な言語が用意されています.こうした様々なアプリケーションを有効に利用できるのもDOSの魅力の一つです.
 半分正解で、半分違う。データの交換はそのとおりだけどDOSを使っても、その機械でのみ動作するプログラムばかりだった。つまりMS-DOSで動くプログラムでもPC-9801用とかがあった。どの機械でも動くように書けと言われれば書けるけどそんなもの実用的ではなかった。CPUが貧弱だったので使い物になるプログラムはその機械専用に書くしかなかった。
 また,ディスクに入っているファイルの管理等もサポートしています.ファイル単位,ディスク単位のコピーや周辺装置への転送などです.ファイルを指定するのにそのファイル名だけでなく,ある種類に属するファイル,ある文字で始まるファイル名を持つもの等という指定が可能になります.この様に複数のファイルを指定して,そのファイルのコピー,消去,周辺への転送等が行えます.DOSは,多数のファイルを扱えるような配慮がなされているのです.そして,間違いを防ぐために,消去されたくないファイルは,それを禁止することもでき、読まれたくないファイルは読み出しを禁止することもできます。特にハードディスクの様に複数の人間で1台のディスクを共有する場合のことも考えてあるのです。
 いやいや、ハードディスクを複数の人間で共用するなんて家庭でパソコンを使っている普通のユーザにはありえない。この記事は誰をターゲットにしているのか。多くのASCIIの読者層には適合していない記事だ。
 機械語で周辺装置を利用するプログラムを書く時,たとえば,ディスクのアクセスの部分は,自分で最初から書くか,ROM内ルーチンをコールすることになります.最近のBASICでは,ROM内にBIOSを持っていてある程度の汎用性を持たせていますが,その汎用性もそのメーカーの同一機種またはその後継機種に対するものです。ところがDOSのファンクションコールの汎用性は,そのDOSの走るマシン全てに保証されています。マシンを換えてもプログラムを書き換える必要がないのです.
 だから、MS-DOSのプログラミング関係の本では、MS-DOSのファンクションコールを使わないでそれをバイパスする方法が紹介されて、実用的なプログラムを作っていた。しつこいけど36年前のCPUはタコだから、ユーザーが直接ハードにアクセスしなければ実用的なプログラムにはならなかった。8086のC言語で書かれたと言われているMutliPlanはカーソルキーでセルを移動すると平気でオーバーランするほどタコCPUだった。MS-DOSのファンクションコールだけで書いたプログラムを販売してもユーザの支持は得られなかっただろう。
 機械語で周辺装置を利用するプログラムを書く時,たとえば,ディスクのアクセスの部分は,自分で最初から書くか,ROM内ルーチンをコールすることになります.最近のBASICでは,ROM内にBIOSを持っていてある程度の汎用性を持たせていますが,その汎用性もそのメーカーの同一機種またはその後継機種に対するものです。ところがDOSのファンクションコールの汎用性は,そのDOSの走るマシン全てに保証されています。マシンを換えてもプログラムを書き換える必要がないのです.  さらにアセンブラレベルであっても,DOSが日本語処理をサポートしていれば漢字変換をDOSが行い,特に漢字変換プログラムを組むこともなく漢字が扱える様になります。16bitマシン用のDOSでは,大きなメモリ空間を管理し,複数のプログラムを同時に走らせたり、何人かで1台のマシンを同時に利用することも可能になります.
 これも現実とは違った。実際はPC-9801だけで動くMS-DOSのプログラムだらけだったし、日本語変換はATOK等が利用されてMS-DOSを利用するなんて実用的ではなかった。しつこいけど、動くと使えるとは天と地ほど違う。
 こうしたパーソナルコンピュータの利用は,Disk-BASICを使っていた時に比べ、はるかにそのマシンの能力を引出しています.この様にDOSを使うと,ディスクシステムを有効に効率良く利用することができるのです.
 DOSが能力を引き出す?いやいやDOSがスピードを殺すが当時の現実だった。DOSはプログラムのローダーとしての利用とデータの取り扱いがしやすいだけだった。これを能力を引き出すというのなら、日本語の使い方が違うというしかない。
 DOSを美化しすぎだ。
 さて、いままでDOSの良い点ばかりを上げてきましたが,このDOSには,何も問題はないのかというと,そうでもありません.例を挙げてみますと,たとえば,CP/Mを5インチディスクで使用する場合,マシンによってディスクのフォーマットが違い,例えばPC-8001のCP/Mで記録したファイルがFM-7のCP/Mで読めないという問題があります.この様に同じDOSなのに機種が違うと読めないというのは、ディスクのセクタのアクセスの仕方が違うためです.これは、DOSを移植する時に,それぞれ最良と思われるやり方でやってしまったからなのです.  また,パーソナルコンピュータ用のDOSでは、メインフレームのOSと比較するとエラー処理等が貧弱になっています.たとえば、ディスクのアクセス中にドライブのドアを開けるとハングしてしまうものもあります.この部分を強化するとDOS自体が巨大化し,アプリケーションプログラムのための領域が小さくなり,DOSの反応も遅くなってしまうのである程度しかたがないことですが,再起動を必要とするのでは、困ります.  この様にパーソナルコンピュータ用のDOSには,問題点も数多くあります.しかし,DOSの重要性が認識されている現在では,これらの点の考慮された新しいDOSも開発されているのです。
 当時、DOSはOSとは違う。単にDiskのオペレーションをするだけだと言われた向きもあったはず。前述したがローダーとして利用して、データの読み書きをして終わりなのでDOSだ。マルチタスクとか、マルチユーザーとかはMS-DOSではできなかった。個人でパソコンを購入する一般的ユーザーにはMS-DOSしか触ったことがないというかMS-DOSのコマンドさえ使ったことのない人も多かった。
 DOSは何をしているか
 DOSはどんなことをしているのでしょうか.その第1は各デバイスとユーザーの間に立ち,そのインターフェイスを取ることです.ディスクを読み書きするには,そのトラック,セクタを指定してやらなければなりません..実際に何セクタにも渡るデータを読み出すのに一々それらを指定していたのでは大変です.そこでそういった非人間的な仕事をDOSが引受けます。各ファイルには、名前が付けられユーザーは,ファイル名を指定するだけでそのファイルをアクセスできるようにするのがDOSの仕事の1つです。さらにシステムにつながる各周辺装置は原則的に初期化しなければ使用することができません.こうした仕事をシステムの立ち上げ時に行うこともやっています。
 マルチタスク,マルチジョブをサポートするものでは,複数のプログラムが同時に走ることになります.そのプログラムをメモリ空間のどこにおくか、おたがいに相手のプログラムを壊さないように書込みを禁止する等の管理(マネジメント)を行うのもその仕事の1つです.さらに,メモリ中に入りきらない大きなプログラムを分割し必要になったらメモリに読み込み制御を移す(仮想記憶)等の機能を持つものもあります.
 この様にDOSは計算機が仕事を行うための環境を整えます.このDOSが存在することによって計算機資源を有効にかつ効率良く利用することができるのです.
 本当に感覚が異なる。Basicですら、ディスクに読み書きするときにトラック,セクタを指定なんてしてない。そんな非人間的なことを要求されていないから。
 基本的に記事と感覚が違うのは、記事はMS-DOS以外のDOSを想定しているのかもしれない。とにかく、パソコンユーザには36年前のMS-DOSはアプリケーションのローダーとして利用されていただけだった。

ASCII1984(08)c154DOS歴史_W520.jpg
ASCII1984(08)c155DOS歴史_写真W390.jpg
ASCII1984(08)c154DOS歴史_CPM_W1739.jpg
ASCII1984(08)c154DOS歴史_MS-DOS_W1135.jpg
以下「DOSの歴史」部分を引用する。
 パーソナルコンピュータ用のDOSは年々進歩しています.ハードウェアの進歩の速度は、メインフレームよりも速く、今では毎年のように新機種が発売されます。さらにCPUも16bitが定着しつつあります。
 ハードウェアの進歩に比較して,ソフトウェアの進歩は遅いものです.しかし、パーソナルコンピュータのDOSも着実に進歩し,色々なDOSが登場してきました。
 パーソナルコンピュータのDOSは,どういった変遷を経て現在の姿になったのでしょうか。ここでは,具体例としてデジタルリサーチのCP/MとマイクロソフトのMS-DOSの発展の流れを追ってみます。
パソコンの進歩はメインフレームの歴史を後追いしていた。新技術の開発ではなく後追い技術の開発だったので進歩速度が速かった。
 パーソナルコンピュータのDOSの流れ
 CP/Mは、1974年にPL/Mコンパイラの開発者,ケーリー・ギルドールによって開発されました。最初のCP/Mは,インテルのマイクロプロセッサ評価システムMDS上で走り,PL/Mをサポートするものでした.
 その後,現在のCP/Mにも付属しているED,ASM,DDTの最初のバージョンが開発されたのです.そして,当時の人気マシンであったIMSAIの標準DOSとして採用されるとそのユーザーは大きく増え,ソフトハウスもCP/M上で動くアプリケーションを開発し始め,さらにユーザーが増えていきました.現在80系のDOSとしては不動の地位を獲得しています.  一方のMS-DOSは,CP/Mとは違い最初から16bitCPUの8086用として登場しました。
 1981年,IBM社は、パーソナルコンピュータ市場に進出,"IBM-PC”を発売しました.IBMの最初のパーソナルコンピュータであるIBM-PCには,1年間の開発期間しか与えられず,なおかつその期間内にDOSも開発せねばなりませんでした.このDO*Sの開発を担当したのがマイクロソフト社でしたが,1年でDOSを開発するというのは無理な話でした。同社はシアトルコンピュータ・プロダクツ社の開発した“86-DOS"を買い上げ,それを改良,強化するという方法を取ったのです.この86-DOSは,名前を替えMS-DOS(IBMの呼称は,PC-DOS)として発売されたのです.
 この部分はNHKのドキュメンタリー番組でも紹介された。IBMがCP/Mのキルドールのところに商売の話を持って行ったが会えずに失敗したとかの有名なエピソードもあった。
ここは、 ロードマップでわかる!当世プロセッサー事情 第402回 業界に痕跡を残して消えたメーカー MS-DOS誕生のきっかけとなったOS「CP/M」を生みだしたDigital Researchが面白い。
 これ以外にも,いくつかのDOSが存在します.68系のCPUのものとしては,“FLEX"があります。  このFLEXもゼネラル版と呼ばれるバージョンがあり,自作マシンに移植することが可能で,また6809版もリリースされました.しかし,8bitのパーソナルコンピュータでは,CPUにZ-80等の80系のCPUを採用しているものが多く,68系のマシンが少ないため,CP/M程普及していません.
 また,パーソナルコンピュータが市場に出現した当時は、ハードウェアメーカーが自社製のマシン専用のDOSを出していました.当時は,現在の様に汎用のDOSもほとんどなく、マシンのメモリ構成や使用CPU等の点で,どうしてもそのマシン専用に開発する必要があったのです.
 こうして発売されたものには,TRS-80の“TRSDOS”,AppleIIの“DOS”等があります.AppleIIのものは,BASICと連動して走りますが,DOSが常に入出力を監視していて,その中にDOSのコマンドが現れると動作を開始するという独特の形式のもので,TRSのものはパスワードの設定もできる本格的なものでした。特にアップルのDOSは、メインフレームからきたDOSとはまた違った,パーソナルコンピュータ独自の構造を持ったDOSと言えるでしょう.
 このAppleIIは,現在IIe,IIcとコンパチビリティを持った機種が発売されていて,IIcでは“ProDOS”が標準DOSとなっていますが,最初のDOSをバージョンアップした“DOS3.3"もまだ使用されています.単一機種専用のDOSとしては、珍しいことですが,機種としてのAppleIIの寿命とその販売台数を考えると当然のことといえるでしょう.
 さらに,ミニコンで使用されていたOSを移植した例もあります.その代表的なものは,なんといっても“UNIX"でしょう.このUNIXは,1969年ごろ生まれました.そのきっかけは,当時開発されていた大型機のTSS方式のOS“Multics”の失敗にあります.UNIXという名称は,この名前に対抗して付けられました.最初のものは,DECのPDP-7上で動き,その後PDP-11と次々に移植されてゆき,現在,マイクロプロセッサ用として,68000,8086等にも移植されて,16bitマシンのOSとして注目されているのです。
 36年前の日本の一般ユーザはDOSなんて知らない人が多かった。Basci(+マシン語)によるアプリケーションソフトが多かった。
マシンの進歩とDOSの進歩
 最近の半導体技術の進歩には、目をみはるものが多く,特にメモリチップの記憶容量は格段に多くなりました.こうした主記憶の増大が補助記憶としてのディスクの需要を呼んでいる原因の1つになっているのです.そして,それらを利用するためのソフトウェアとして,DOSが注目されています.
 確かに8ビットのときは実用的な面ではせいぜい十数Kbyteのデータしかメモリに収めされないのでカセットテープでも良かった(ただし、ディスクは数十Kbypeのアプリをロードするとき必要だし、沢山のデータを少ないディスク交換で使えるので良かった。)16ビットとなると一応PC-9801のMS-DOSでは640Kbyteまで使えたのでフロッピーディスクは必須であった。
 パーソナルコンピュータの場合,メインフレームと違ってマシンが変われば,ソフトウェアを変更する必要がでてきます.しかし,それでは,ソフトウェアの流通に問題が出てきます.その問題は、マシンに依存する部分をDOSで吸収することによって解決することができるのです.いくら,優れているDOSでも特定のマシンでしか動かなければ,どうしてもアプリケーションに対する不満が出てくるものです.パーソナルコンピュータの出現当時は,DOSをマシンに合わせて移植していました.しかし,現在では,どのマシンも汎用のDOSが動くことをセールスポイントにしています.つまり,マシンの基本的な仕様が,DOSの要求する仕様になっているのです。
 DOSはそうでもDOS上で動くアプリは機種限定となっていた。理由は簡単。速度の問題。他社製品のアプリより速く動くことが売り。誰が好き好んで遅いアプリを買うだろうか。どこかが、DOSをバイパスして高速のアプリを発売したら、他社もそれに倣っていた。「どの社のマシンでも動きます」なんてことを一般ユーザは求めていなかった。「他社ソフトより高速、高機能です」が一般ユーザの望んでいたことだった。だから、PC-9801が勝利した。売れてる機械のソフト開発に注力するのが当然。
まあ、36年前のASCIIの記事は高尚すぎるというか理想論というか一般ユーザを知らなすぎる。

「メインフレームOSの歴史」
ASCII1984(08)c156メインフレーム_W520.jpg
 このような記事が面白かった。つまり知らない世界を見るようなもの。当時コンピュータルームというものがあり部外者は入室できなかった。パソコン好きとしてはたまたま中を覗けたとき、モニタ画面(グリーンモニタに複数のウインドウを開けてコードを表示していた)を見て、いつかこのような環境でコードを書いていみたいと思った。
OS発展の歴史
 メインフレームの世界では、OSのもとでソフトウェアを走らせるのが常識でした.このOSはいつごろ誕生し,どういった変遷をとげてきたのでしょうか.  OS登場以前
 1949年に最初のプログラム内蔵方式のコンピュータ“EDSAC"が登場し,1950年には最初の商用コンピュータ“UNIVACI”が登場しました.その当時は、1台のマシンを一人が専有して使っていましたが,デバッグを行っている時間がその利用時間のほとんどを占め,さらに完成までどの程度の時間がかかるかも掴むことができない状態でした.この時代には,プログラミングはすべて機械語で,だれでもが利用できるわけではありませんでした。ところがFORTRANコンパイラが開発され利用者が増え,コンピュータが普及するにつれ,このような管理方法では,管理しきれなくなってしまいました.
 そこでプログラマと計算機の操作者を分けて,計算料金もそのプログラムの実行時間で算出することにしました.この方法では,オペレータがプログラムを記憶装置へロードしておき,起動して処理を行って、仕事の後始末を行っていました.それでも,人間が仕事を行っている間の時間は,CPUの処理速度からみれば,膨大な時間となります.そして,当時のコンピュータはとてつもなく高価で人間の人件費とは比べものにもなりませんでした.こうした空き時間を解消するためにOSが開発されたのです.つまり,最初のOSの目的は,効率よく計算業務を運営するためのソフトウェアだったのです。
 最初は大学の計算機センターへコーディング用紙を提出するとキーパンチャーがパンチカードに穿孔してくれて、そのカードを窓口に提出するシステムだった。その後パンチ室があってユーザがタイプしてカードを作っていた。だから、コンピュータが鎮座する部屋を見ることはなかった。
 OSの登場
 最初のOSは,ノース・アメリカン航空会社とゼネラル・モータースが1955年に開発したFORTRANモニタが最初であろうといわれています.このOSは,FORTRANコンパイラを用いて計算を行う際の操作の自動化を目指したもので,いくつかのジョブを次々と人間の介入なしに処理(バッチ処理)していくものでした.
 一度に動いているプログラムが1つである以上I/Oや記憶装置等の計算機資源が遊んでいる時間が多いことには変わりがありません.そこで複数のプログラムを見掛け上同時に走らせるマルチプログラミングの概念があらわれて、OSはそれをサポートするものという性格をもってきました.この概念を取り入れて実用化したのはUNIVAC IIIの“CHIEF”というOSで,同時に複数のプログラムが走るため,周辺装置等を,限られた時間の中でフルに利用することができるようになりました。
 コンピュータの処理方式では,前に挙げたバッチ処理のほかにリアルタイム方式が挙げられます.この方式はアメリカの航空管制システムである“SAGE"で始めて取り入れられたもので,データの発生時点でただちに処理が行われる方式です.この方式は自動制御などのコンピュータを使った自動化の技術として発展してゆきました。これは,単に計算を目的としたバッチ処理とは対照的なものということができるでしょう.
 コンピュータの利用は基本バッチ処理だった。I/Oはともかく記憶装置が空いているという贅沢な環境はなかったように思う。メモリが少ないためビットスライスまで使って必死だった。また高速化のため、メモリを節約するため浮動小数点を使わず、固定小数点を使いたいため、事前の検討を行ってた。
 TSS方式の登場
 こうした2つの方式に対し,1961年に発表され,1960年代後半に実用化されたTSS(TimeSharingSystem)方式によって,同時に多数の人間が会話形式で計算機を利用できるようになりました.  この方式は,コンピュータにつながる多数のターミナルに対してCPUの処理時間を時分割して割り当てる方式で,利用者からみると1台のコンピュータを専有して使っているように見えるものです.いままでの方式と比較して,マン・マシンインターフェイスに重点を置いた方式であるといえます.プログラムを渡して,結果を受け取るだけというバッチ処理や,データ処理に人間が介入しない様になっているリアルタイム方式に対して,利用者が実行結果に応じて修正を行ったり,パラメータを変更したりすることができる様になり,デバッグ等も行いやすくなりました.そして,このTSS方式が現在では,コンピュータ利用の主流となり,そのための会話型の言語も開発されました。パーソナルコンピュータに搭載されているBASICも最初はTSS用の言語として開発されたものです.
 BASICがTSS用の言語という認識はなかった。Beginner's All-purpose Symbolic Instruction Codeの略で初心者向けの教育的な言語だと思っていた。
 OSの変化
 この様に多数のプログラムが同時に走る様になるとプログラムどうしが干渉しあわないようにメモリを管理する必要があり,また,限られたメモリ空間にプログラムをどうやって配置するかも問題となります.そこでまずプログラムを分割して,それらを次々とロードして実行する方式が考えられましたが,プログラムを書く際に,その構造を考えていたのでは能率が落ちてしまいます.こうした,さまざまな問題を解決するために,ハードウェアとしてはメモリ管理機構や,ソフトウェアとしてはメモリと外部記憶との間で移し替えを行うページング方式が考えだされました.
 こうした,機能をOSが吸収してゆき,当初コンピュータを効率良く運営するためのソトウェアであったOSは、数々のプログラムを実行する際のメモリ管理等を司るコンピュータの管理プログラムとしての性格をおびていったのです。
 OSの記事36年後の今でも面白く読めた。この記事によるとMS-DOSはやはりOSと呼べるレベルではなかったと再確認できた。

とにかくこの記事は高尚すぎる。職場で大型コンピューターを使っているような人向けで、ポケットマネーでパソコンを買い、自宅で使っている一般ユーザ視点ではなかった。
nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

パソコン本体以外(月刊ASCII 1984年8月号3)ASCII EXPRESS [月刊アスキー廃棄(スクラップ)]

ASCII EXPRESSに掲載されたパソコン本体以外の記事をスクラップする。

ASCII1984(08)b113CDプレイヤーW520.jpg
36年前はそんなにCDプレーヤが売れていなかった。

ASCII1984(08)b117半導体消費国W390.jpg
こんな時代もあったのかと感慨深い。

ASCII1984(08)b118MC68020W390.jpg
とにかく好きだったMC68000シリーズ。金さえあれば何台もパソコンを買えたのだが、最後までMC68000の機械語でコーディングできず残念。

ASCII1984(08)b118リジットディスクW390.jpg
リジットディスク?全く知らなかった。

ASCII1984(08)b119超ドープW520.jpg
半導体技術の記事。超ドープ構造。分からないので図だけでもスクラップする。この半導体材料実用化されたのだろうか?ASCIIのスクラップ作業を続けると分かるかもしれない。それがスクラップ作業の楽しみ。
ASCII1984(08)b119超ドープ写真W390.jpg
ASCII1984(08)b119超ドープ図1W520.jpg
ASCII1984(08)b119超ドープ図2W390.jpg

36年前は全国にパソコンクラブがあった。
ASCII1984(08)b110マイコンクラブW520.jpg
68系のCPUを使っている人たちのクラブか。オタク臭が感じられる。36年後の現在メンバー達は、どんなジジになっているのだろうか興味ある。
nice!(0)  コメント(0) 
共通テーマ:パソコン・インターネット

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