ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

MacFriendsコミュの<OSもいろいろ SSLもいろいろ ユーザエージェントだっていろいろ咲き乱れるの 資料編 その1>

  • mixiチェック
  • このエントリーをはてなブックマークに追加
長くなったので九つの部分に分けました。この部分は最初の部分です。

今やコンピュータにOSは欠かせない存在である。しかし、初期のコンピュータではOSが存在しなかった。初期のコンピュータにOSが搭載されたかった理由は二つであった。一つはCPUの性能不足、もう一つは実装メモリの少なさである。しかし、コンピュータを安定して動かすために、各メーカーは色々な手段を用いていた。少なくとも、その方法は以下の方法があったようである。

・疑似命令をインタープリタで実行する方法
・マイクロプログラム制御方式
・管理プログラムと処理プログラムに分ける方法
・何らかの言語を用いる方法

最初の例の一つは、日立製作所による初期のメインフレームで行われていた。同社の場合、プログラムをパンチカードや紙テープから機械語に変換するルーチン、疑似命令を機械語に変換しながら実行するインタープリタ、関数ライブラリを提供していた。このやり方は、HIPAC 101,HITAC 301,HIPAC 103などにたいして、1950年代から1960年代初めにかけて利用された。同社で本格的なOSが登場したのは1964年のHITAC 5020からだった。東芝のTOSBAC-1100シリーズでも、ほぼ同様に紙テープにせん孔されたプログラムを一命令づつ読み込んでは実行する外部プログラム方式を採用していた。東芝のTOSBAC-1100シリーズでは、1963年にTOSBAC-1100Aを、1964年にTOSBAC-1100Dを、1968年にTOSBAC-1100Eをそれぞれ、開発・発表している。TOSBAC-1100Eでは、演算、入出力機器の制御や分類プログラムテープ作成などで、東芝のTOSBAC-3400で実用化されたマイクロプログラム制御方式が採用されていた。また、アセンブリ用プログラムも用意され、ユーザがプログラムを簡単に作ることができるようにした。このために、紙テープリーダを8単位テープに対応させた。

第二の方法は、1964年に発表された、TOSBAC-3400で実用化された。マイクロプログラム制御方式についての研究は以前から行われていた。日本で最初に非同期マイクロプログラム方式を採用したコンピュータはKT-Pilotであった。KT-Pilotは1961年に京都大学と東京芝浦電気が共同で開発された。この研究により、マイクロプログラムの書き換え方式や高速化の方式が明らかになった。TOSBAC-3400は、このKT-Pilotをベースにして完成した。TOSBAC-3400は、KT-Pilotそのままではない。TOSBAC-3400の開発では、非同期マイクロプログラム方式のメリットを活かして、行われた。そのメリットの一つが、開発の過程で、アーキテクチャー調整をすることで、ソフト開発が容易になることである。マイクロプログラムというアイデアは、現在のデバイスドライバによるデバイス制御につながっているのでしょうか。

第三の方法の一つの例は、東芝のTOSBAC-1350である。これは、1973年に発売された。この場合、各プログラムの構成は次のようになっていた。

・管理プログラム
システム管理、ジョブ管理、データ管理
・処理プログラム
言語処理プログラム、アプリケーションプログラム、サービスプログラム

この分類の考え方を見て、現在のOSとアプリケーションという分け方の萌芽を感じた。

システム管理とは具体的に、システムの初期起動、ハードウエア資源の管理、物理的な入出力の管理、割り込みに対する処理、エラーに対する処理である。また、ジョブ管理はジョブのスケジュール管理、プログラムセグメントの制御、オペレータとのコミュニケーションである。また、データ管理は論理的な入出力の制御、磁気ディスクファイル(順次編成、索引順次編成)の管理、カセット磁気テープファイルの管理、テンキーやキーボードやプリンタの論理レコードの処理であった。

言語処理プログラムには、MAP(アセンブラ),COBOL,FORTRAN,PPG(プログラムジェネレータ)があり、アプリケーションプログラムには販売管理用と在庫管理用などがあり、サービスプログラムにはシステムユーティリティとユーザプログラムがあった。

第四の方法は。何らかの言語にOSの機能をさせる方法である。その例は、AltoにおけるSmalltalkと三菱電機の初期のオフコンで用いられたcool(Custmer Oriented Optimum Language)である。第一の例は、ゼロックス(Xerox)社のパロアルト研究所内で1973年に1号機が完成された。このコンピュータは、GUIを導入した最初の試作コンピュータとして知られている。その後、このAltoは1970年代終わりまでに約1500台が作成され、同研究所を含めた多くの研究機関に配布・使用された。AltoにはOSはなかったが、そのOSの役割をSmalltalkが果たしていた。このSmalltalkの大きな特徴はオブジェクト指向とGUIであった。このSmalltalkは、現在に至るまでOSに強い影響を与えている。

また、Altoはそのまま製品化されることはなかったが、ハードウエア技術は、同社のZerox Starに転用された。このため、Altoは「ワークステーションの原型」と紹介されることがある。しかしながら、その性能は高いとは言えなかった。CPU性能の低さや実装メモリの少なさが反映した結果なのだろう。

二つ目の例のcoolは、三菱電機の初期のオフコンに用いられたプログラミング環境(言語システム)だった。同社の1968年に発表された、最初のオフコン、MELCOM81からcoolが搭載された。その後、coolは1978年に発表されたMELCOM80モデル18,28まで使われた。1974年に発表されたMELCOM80モデル31にAOSというOSが搭載されたにも関わらず。
CPUの性能向上や実装メモリの増加により、コンピュータは必ずOSを用いるようになった。初期のOSは、多くの場合、各メーカー自作していたようだ。初期のコンピュータは、大型計算機、メインフレーム、中型計算機、小型計算機あるいはミニコン、オフコン(オフィスコンピュータ)が多く、それは高額で、個人で使う物ではなかったからだろうか。このような時代でも、個人で利用できるコンピュータは少なからずあった。しかし、その価格は先に挙げたコンピュータよりも安いとはいえ、個人が決して気軽に買える価格ではなかった。

さらに言えば、BASIC言語で作成されたプログラムをインタープリタで、実行するポケットコンピュータもこれらに近いのではないだろうか。このコンピュータに搭載されたシステムは、プログラムの作成や変更、作成されたプログラムの実行も担う。それと同時に、このシステムは、ポケットコンピュータ自体が設計者の意図通りに動くように働いているからである。

さらに付け加えるとすれば、HyperCardで用いられたHyperTalk言語もオペレーティングシステムとは明らかに異なるが、オペレーティングシステムとほぼ同等な機能を持っていたようだ。なぜなら、HyperTalk言語を用いると、Macintosh本体の制御まで可能だった。この言語で1/0を実行すると、Macintosh本体からオペレーティングシステムエラー"ゼロでの除算"が返ってくることが知られていた。HyperTalk言語で作られたプログラムも、ポケットコンピュータと同様に、インタープリタで実行されていたと思う。HyperCardは、その機能は制限されているが、仮想環境を実現していたのではないだろうか。

ところで、読者は、個人で利用できるコンピュータをどう呼びますか。マイコンですか。パソコンですか。個人的な印象では、昔は原則マイコンであり、それがだんだんとパソコンに変わっていったように感じています。少しは、客観的に調べるために、月刊誌の名前でそれについて調べてみました。その結果、1970年代はすべて"マイコン"であり、1980年代に入ると、"パソコン"が登場していました。現在はマイコンと言えば、多くの場合、マイクロコントローラを指しているようです。そこで、以後は、1970年代についてのときは"マイコン"を使い、1980年代から現在までについてのときは"パソコン"を使いたいと思います。

マイコンについて述べる前に、マイコンキットについて述べたい。マイコンキットは本来、技術者向けの「評価キット」である。したがった、それは技術者ではない個人が買う物ではない。しかし、1970年代に、マイコンキットを日本の企業も販売し始めた。その価格は当時としては、個人が趣味や電子工作用に買うには、とても高いものだった(約9万円から約13万円)。本格的なコンピュータに比べてば、はるかに安いが。それでもマニアと呼ばれる多くの人が購入した。現在は、大幅に安くなった(1万円以下)。現在は学習用キットしても販売される。マイコンキットには半完成品と部品の詰め合わせの二つのタイプがある。前者の場合は、不足している部分を自分で補う必要がある。後者の場合は、自分で半田付けをして、組み立てる必要がある。どちらの場合も専用ケースが付いてこないため、自作するか、代わりになる物を準備する必要がある。最初のAppleシリーズであるApple I(1976年4月11日発売開始、1977年9月30日販売終了)は、前者の場合のマイコンキットだった。

マイコンキットに対して、ワンボードマイコンは評価用や組み込み開発用ボードとして利用される。その後、2000年代後半になると、シングルボードコンピュータが登場した。これはワンボードマイコンとほとんど同じものであるが、パソコンとしても利用できるほど、高性能で高機能である。

マイコンキットを日本の企業も販売し始めたきっかけは、TK-80のヒットだった。その頃すでに海外の企業が日本でも、マイコンキットを個人向けに販売していた。TK-80を1976年8月に販売したのは、実はNECの半導体部門だった。日本経済新聞1999年6月3日夕刊によれば、TK-80が数多く売れたのは、マニアの利害とNECの半導体部門の利害が一致したからだった。マニアの利害とは、まだまだ憧れの存在だったコンピュータを体験できることである。また、NECの半導体部門の利害とは、大量生産の結果余ってしまうCPUを売りさばけることである。そこで問題になったことは、製品部門でもないのに、完成品を売ることは、NEC社への配慮から売ることはできない。また、完成品として販売した場合、製品保証やアフターサービスが必要になる。これら二つの理由から、NECは、部品と説明書をただビニール袋に入れただけのキットを販売したそうだ。名目上は教育用で販売され、Training Kitの頭文字を取って、TKとした。80が付いている理由は、CPUが、インテル社製CPU8080互換CPUであるμCOM8080Aであったからである。その後、NECは、1978年12月にマイクロソフト社のBASICを初めて搭載したマイコンキットである、μCOM Basic Station TK-80BSを発売した。これは、TK-80などとそれ用のキーボードとRAMとROMの周辺機器をセットにして、128,000円で発売した。

1970年代、マイコンのOSはDOSであった。DOSのインターフェースはすべてCUIである。この時代には、各メーカーがそれぞれ自社製品用のDOSを作成していた。マイクロソフト社は、MS-DOS,MSX-DOSを作成した。Apple社は、Apple II用にApple DOS,Apple ProDOS,Apple GS/OSを、Apple III用にApple SOSを作成した。IBM社は、PC DOSまたはIBM DOSを作成した。Digital Reserch Inc.社は、DR DOSまたはDR-DOSを作成した。

次に、1980年代には、インターフェースでGUIを実現するために、以下の二つの動きがあった。

・GUIを担当するアプリケーションの登場
・GUIインターフェースに対応したOSの登場

一つ目の動きは、DOS上で動くGUIを担当するアプリケーションを使うことで、DOSのままでGUIインターファースを実現させたことである。GUIを担当するアプリケーションの名前を以下に挙げる。

・GEM(GraphicsあるいはGraphical Envioment Manager)
・TopView
・DESQview

GEMはDigital Reserch Inc.社により、1985年に発表された。このGEMは、GSX(Graphics System eXtension)という汎用システムの研究成果を元に作成された。TopViewはIBM社により、1984年に発表された。DESQviewは、Quarterdeck Dffice System社により、1985年に発表された。さらに言えば、Windows 1.0は1985年11月20日にリリースされたが、初期のWindowsは独立したOSではなく、MS-DOS上で動くアプリケーションに過ぎなかった。つまり、Windows 3.Xまで動作させるためには、別途MS-DOSが必要だった。したがって、Windowsはその間、上記三つのアプリケーションを使っているのと、変わらない状況だった。

二つ目の動きは、OSを完全に作り直して、OS自体をGUIインターフェースに対応させることである。初めの頃はまだアプリケーションを自作する動きはあった。しかし、だんだんとアプリケーションを買う物と考える人が多くなった。アプリケーションを自作する動きがまだ盛んだった頃、インタープリターでBASICで書かれてプログラムを実行することができた。そのため、プログラムを自作する人の多くがBASICを用いていた。マイコンBASICマガジンでは、そのようなプログラムを掲載していた。マイコンBASICマガジンは、電波新聞が1982年から2003年まで刊行していたホビーユーザー向けパソコン関連誌であった。プログラムを自作しない人は、このパソコン関連誌を読んで、掲載されたプログラムを入力していた。

また、このようなOSでは、以下の二つのOSに分かれる。

・CUIインターフェースとGUIインターフェースが共存できるOS
・GUIインターフェースにのみ対応するOS

一つ目の例が、Windows,version10.0以上のMacOSである。Windowsでは、プロンプト画面を出し、その画面にキーボードで実行したい命令を入力することで、二つのインターフェースを共存させることができる。version10.0以上のMacOSでは、"ターミナル"アプリケーションを起動させて、その画面にキーボードで実行したい命令を入力することで、二つのインターフェースを共存させることができる。二つ目の例がversion10.0より前のMacOSである。このようなOSでは、コアをもっている。そして、そのコアに置かれた機能を呼び出すために、APIを用いる必要がある。

1970年代からの流れを家に例えてみると次のようになるのではないだろうか。もしDOSを基礎がない一階建ての家だとすれば、GUIを担当するアプリケーションを起動したDOSは、基礎がない一階建ての家の上に、さらに一階建ての家を重ねて、二階建ての家に見せかけた家になる。また、GUIインターフェースに対応したOSは、基礎がある、すべて新築した、本当の二階建ての家になるのではないでしょうか。この家の基礎は、OSのコアである。

CP/Mは世界最初のマイコン用OSである。しかし、CP/Mが存在したことは、それ以上の価値がある。CP/Mの登場が間接的にWindowsの登場に関わっているからである。このことを述べる前に、以下の三つの年表を見て欲しい。

年表1 Digital Reserch Inc.社についての年表
1976年 8bit対応マイコン用OSであるCP/M(インテル社製8080用)発表
マイコン用OSの代表的な存在となる
1981年 16bit対応マイコン用OSであるCP/M-86(インテル社製8086用)発表、CP/M-86はIBM PCに公式採用されず、16bit用OSとしてはマイナーに
1983年 16bit対応マイコン用OSであるCP/M-68K(モトローラ社製MC68000用)発表
1984年 16bit対応マイコン用OSであるCP/M-8000(ザイログ社製Z8000用)発表
1991年 CP/M-86の後継OSである、DR-DOS6.0リリース
1991年 ノベル社(Novell,Inc.)に買収される、実態は吸収合併
1994年 ノベル社よりNovell DOS7リリース

年表2 CPUについての年表(括弧内はbit数)
1974年4月 インテル社が8080(8bit)を発表
1978年4月 インテル社が8086(16bit)を発表
1979年初め ザイログ(Zilog)社がZ8000(16bit)を発表
1979年9月 モトローラ社がMC68000(16bit)を発表

年表3 Digital Reserch Inc.社以外についての年表
1980年4月〜7月 SCP(Seattle Computer Products)社でQDOS作成
自社製品である、インテル製16bit CPU,8086ベースのマイコンキットに用いるためだった、CP/Mの完全コピーではなく、不要と思われる命令を削除、後に86-DOSとして販売
1981年7月 マイクロソフト社がSCPから86-DOSを買い取る(50,000ドル)
1981年8月 マイクロソフト社がQDOSをベースにして、MS-DOS/PC DOS v1.0を作る。
1985年11月20日 マイクロソフト社がWindows 1.0をリリース
注) QDOSでは、TRANSコマンドを用いることで、8080用ソースプログラムから8086用の機械語を作成することができた。

これら三つの年表を横に並べて見ることで、以下のことが分かる。

1970年代終わり頃には、16bit CPUが登場した。しかし、Digital Reserch Inc.社は、1980年代にこのCPUの16bit化にいち早く対応しなかった。そのため、Digital Reserch Inc.社以外の会社は独自に、同社よりも早期に、CPUの16bit化に対応した。そのため、同社がそれに対応した頃には、同社以外の会社はその対応を済ましていた。よって、同社がCPUの16bit化に対応して作成したOSは、同社以外のパソコンに採用されなかった。CPUの16bit化が進んだ頃には、同社製のOSはマイナーな存在となった。そして、同社のCP/Mに変わって、MS-DOS/PC DOSが代表的なパソコン用OSとなった。現在、同社は存在しない。

もしDigital Reserch Inc.が1980年代初期に他社よりも早期にCPUの16bit化に対応していたら、どうなっていただろうか。同社が作っていたであろう、GUIインターフェースに対応したOS、あるいは、そのように見えるOSが、現在のWindowsのように、多く利用されたいたのか。また、その結果、同社は、マイクロソフト社のように、かなり大きな会社になっていたのか。それは、誰も分からない。しかし。確実に言えることは、CP/Mは、後のパソコン用DOSに大きな影響を与えたことである。MS-DOS/PC DOSのモデルとなって。そして、WindowsはMS-DOS/PC DOSの延長線上にあることも忘れてはならない。

今ではDOSを目にすることなくなったが、DOSは完全にこの世から消えたわけではない。今でこそ、DOSはパソコン用OSとしては利用されない。しかし、DOSは低コスト機器用や組み込み機器用に今でも用いられている。そのため、DOSは最近も、開発中らしい。実際、ポメラシリーズのDM10やDM100でもMS-DOSとMS-Windowsの組み合わせが用いられているようだ。その根拠を以下に述べる。

・ともにCPUがTLCS-900/H1シリーズの一つ、TMP92CF29AF9がCPUとして利用されているらしいこと
・Windows風のファイルの階層構造表示であること

TLCS-900/H1シリーズは、東芝オリジナルの高性能32ビットCPUを内蔵していた。また、東芝から出ていた組み込みファイルシステムが、このTLCS-900ファミリーに対応している。このシステムはMS-DOS/MS-Windowsのファイルフォーマットと互換性がある。したがって、PCとその他の機器とファイルの受け渡しを行うことができる。そのシステムの応用製品はPDAや家電製品やデジタルカメラである。実際に、DM10やDM100でスロットに挿入したSDカードのフォーマットを行うとき必ず、そのフォーマット後のSDカードは、Windowsと互換性がある、FAT32(File Allocation Table 32ビットver)タイプのメディアとして認識される。DM200でも。DM10やDM100と同様に、スロットに挿入したSDカードのフォーマットを行うとき必ず、そのフォーマット後のSDカードは、Windowsと互換性がある、FAT32タイプのメディアとして認識される。おそらく、前モデルからの連続性を維持するためだろう。

次の部分は<OSもいろいろ SSLもいろいろ ユーザエージェントだっていろいろ咲き乱れるの 資料編 その2>を読んで下さい。

コメント(0)

mixiユーザー
ログインしてコメントしよう!

MacFriends 更新情報

MacFriendsのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング