TSSの誕生

↑

 時代を少し前に戻します。
 
 1962年、MIT (Massachusetts Institute of Technology,マサチューセッツ  工科大学)において、MAC (Machine Aided Cognition, Multi Access Compu  ter System) というプロジェクトが行なわれました。これを企画したのは  J.C.R. Licklider です。
 
 このプロジェクトは色々なものを生み出しているようですが、その中で今回  注目すべきなのは CTSS (Compatible Time Sharing System) という時分割  処理システムでした。
 
 当初のコンピュータは手作業で次から次へと、色々な処理を掛けていって  いました。ひとつのことが終わってから次のことをする訳です。プログラ  ムやデータは事前に別途準備して、処理が終わったらまた手作業で回収し  ます。
 
 その内、1960年前後になると、一連の処理をコンピュータに連続して実行  させるという『バッチ処理』の考え方が生まれてきます。これでコンピュ  ータの利用効率はかなり高くなりました。

 さて、CTSSが実現し、その後「TSS」と呼ばれるようになる時分割システム  というのは、こういうバッチ処理思想とは全く違った方向から生まれてい  ます。

 CTSSではコンピュータに多数のタイプライタ端末を接続し、それらのキー  入力を、一方ではバッチ処理が動いている1台のコンピュータ(IBM 7090)  で同時に処理させました。

 基本的にコンピュータというのは一つしか頭がない訳ですから、1度には  一つのことしかできません。この基本は40年たった今でも全く変わってい  ません。しかし人間の動作はコンピュータに比べると非常に遅いので、キ  ー入力の処理は一瞬で終わりますし、何十台もの端末をたとえ接続してい  ても、その処理にかかる時間は合計でもわずかです。
 
 そこで、TSSでは通常のバッチ処理を行いつつ、どこかで誰かがキーボー  ドを1文字打ったら「割込み」を発生させ、今している処理をいったん保  留にして、そのキー入力に対応する処理を行います。
 
 こうすると、各端末を操作している人は全員が、あたかもコンピュータを  独占して使用しているかのごとく、操作が可能になります。
 
 こう書けば、実に簡単なことをしているかのように思われますが、実は  TSSを支えるためには色々な技術が使われています。
 
 まず問題になるのが処理の中断と再開のための処理です。人間でも何かし  ている最中に上司から割り込みで作業を頼まれたりすると、後で訳がわか  らなくならないように、最低限のメモなどをノートや手帳に書いたり、本  に栞をはさんだりしておいて、あとで戻ってきた時は、それを見て自分が  どこまでやったかを思い出して続きの作業をします。

 コンピュータの場合も、何かしている最中に別の処理をするには、その時  のレジスタや一部メモリーの内容をどこか(実際には当時は磁気ドラム)  に書き出し、割込み処理が終わったらそれを読み戻して、作業を続けると  いうことを行なっています。
 
 更にやっかいなのはファイルの共用制御の問題です。複数の利用者に同時  に対応して処理を行おうとしますと、別々の人が同じファイルにアクセス  する可能性があります。その時、うまく制御をしてやらないと、データに  矛盾が発生したり、更新したつもりが他の人が古いデータを書き戻した為  に全然更新されていないようになったりしかねません。このあたりの論理  的な設計はかなり苦労したようです。

 MACプロジェクトで開発されたCTSSは、その後 General Electric や ATT  も参加して、Multics というシステムへ発展します。
 
 Multics は Multiplex Information and Computing Service の略称で、  これは UNIX の元になったシステムとして有名です。その話は次回行い  ます。


return Dropped down from digital episode.
(C)copyright ffortune.net 1995-2016 produced by ffortune and Lumi.
お問い合わせはこちらから