タイムシェアリングシステム

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

タイムシェアリングシステム (Time Sharing System, TSS) とは、1台のコンピュータCPUの処理時間をユーザー単位に分割することにより、複数のユーザーが同時にコンピュータを利用できるようにしたシステムのことである。1960年代当初は、メインフレームで開発された技術であったが、現在では、パーソナルコンピュータであってもオペレーティングシステム (OS) の制御により同様の処理を行うことができる。

概念

1960年代ごろまでのメインフレームは非常に高価であり、個人が占有してインタラクティブ(対話的)に使用することは不可能だった。インタラクティブにコンピュータを使うということは、ほとんどの時間をユーザーが考え込んでコンピュータが入力を待っている状態になることを意味するからである。しかしそのことから、あるユーザーが使っていないCPU時間を他のユーザーに割り当てることで、複数のユーザーが同時にコンピュータを使うことができるかもしれないという考えが生まれた。同様に、ディスクやテープや通信などの入出力の完了を待っている短い時間を他のユーザーに割り当てることもできる。タイムシェアリング機能を提供できるコンピュータは、夜間にはバッチ処理に使うことが多かった。

ただし、前述の解決法(使っていない時間を他のユーザーに割り当てる)だけでは、完全なタイムシェアリングシステムを構築することはできない。各々のユーザーがあたかもコンピュータを占有しているかのようにスムーズに使えるようにするには、タイムシェアリングシステムは入出力で一時停止状態になることがあまり無いプロセスについても考慮しなければならない。つまり、使っていない時間だけユーザーを切り替える方式ではそのようなプロセスは切り替えるタイミングがなく、結果として他のユーザーにCPU時間が割り当てられなくなってしまう。このため、動作中のプロセスをタイマー割り込みによって停止させ、別のプロセスにCPU時間を与える機能が必要となる。

タイムシェアリングシステムと対話型コンピューティングという概念は切り離せない関係であるが、この考え方について後世に最も影響を与えたのはJ・C・R・リックライダー1960年に発表した Man-Computer Symbiosis(人間とコンピュータの共生)という論文である。

タイムシェアリングシステムは一時期、大変な隆盛を迎えた。その経済的な誘因となったのが「グロッシュの法則」と呼ばれるものである。それは、「コンピュータの性能はその価格の二乗に比例する」というものである。マイクロプロセッサが登場するまで、これは「ムーアの法則」と同程度に現実を表していた。これによれば、1000万円のコンピュータは500万円のコンピュータの4倍の性能があり、5000万円のコンピュータは1000万円のコンピュータの25倍の性能があるということになる。したがって、1000万円のコンピュータを25台購入して個々人に割り当てるよりも、5000万円のコンピュータを25人で共有したほうが経済的だったのである。

代表的なタイムシェアリングシステムを採用したOSには、IBM社製メインフレームコンピュータ用のMVSがある。

歴史

TSSの概念の提唱者にはいくつか説がある。一人はASCIIコードの開発者や2000年問題を世界で初めて指摘した人物としても知られているボブ・バーマーで、1957年初めごろに雑誌の記事でその概念を記述している。また、マサチューセッツ工科大学 (MIT) で数学の教鞭をとっていたジョン・マッカーシーも同様のアイデアをほぼ同時期に思いついている(一説には1959年)。さらに1959年にはイギリスのコンピュータ科学者クリストファー・ストレイチーがタイムシェアリングシステムの特許を取得している。ただし、ストレイチーの特許はTSSというよりもマルチタスク方式に関するものであるという見方が最近では一般的である。いずれにしても後世への影響はマッカーシーが一番大きく、後述するCTSSや前述のリックライダーの推進したProject MACは直接影響を受けている。

実際の最初のTSSの開発は、MITのコンピュータ・センターのロバート・ファーノらが行ったもので、1961年11月Compatible Time Sharing System (CTSS) を開発してデモンストレーションを行った。CTSSは同時に 3人のユーザーがコンピュータを使用して独立に処理を行えることを立証し、1973年まで実際に使われていた。最初の商業的に成功したTSSであり、1960年代後半から1970年代前半にかけて最も広く使われたTSSは Dartmouth Time-Sharing SystemDTSS)であり、1964年ダートマス大学で開発された。DTSSは後にゼネラル・エレクトリック (GE) 社が商用化した。DTSSはユーザーインターフェイス用にBASICダートマスBASIC)を採用したことでも有名である。

また、J・C・R・リックライダーは1962年ARPAの情報処理技術部門を任されると、対話型コンピューティングに関する研究プロジェクトに多額の資金を投入した。そのひとつがMITで行われたProject MACであり、IBMとの共同開発によるTSSが1963年に稼働している。このシステムはすぐに過負荷状態となり、さらなるTSSの開発が計画されたが、IBMはシステム/360をTSS用に改造することに消極的だったため、GEとMITとベル研究所によるMulticsの共同開発が1964年に開始された。

1960年代後半になると、「コンピュータ・ユーティリテイ」というコンセプトが話題となる。これはTSSを活用して電話回線でコンピューティングサービスを提供するビジネスである。1967年にはTSSサービス会社が全米で20社にもなったという。しかし、これは一種のバブルであり、1971年には多くの会社の経営が行き詰った(生き残った会社は後にインターネット・サービスプロバイダとなったところもある)。また、Multicsの開発も混迷し、1969年にはベル研究所が手を引き、1970年にはGEがコンピュータ開発そのものから撤退してしまった(Multicsが完成しなかったわけではない)。

しかし、ベル研究所はMulticsの反省点を生かしてUNIXオペレーティングシステムを開発することになる(現代ではUNIXをTSSとすることはほぼないが、1970年代の関連論文のタイトルに見られるように、UNIXもTSSと称していた)。また、J・C・R・リックライダーの描いた対話型コンピューティングという概念と彼がARPA時代にまいた種は後のインターネットパーソナルコンピュータに大きな影響を与えた。

日本におけるタイムシェアリングシステムの開発

日立・東大

(高橋ら『オペレーティング・システムの機能と構成』第4章§4より)

東京大学大型計算機センターHITAC 5020を納入した日立において、同機のモニタを開発した高橋延匡らは、Multicsの発表に、特に2次元番地付け方式の仮想記憶に刺激を受け、これを実現したTSSの開発を構想した。中研の上司村田健郎中沢喜三郎嶋田正三らのリーダーシップにより、ただちに着手する必要があると判断され、1966年4月にプロジェクト研究が発足した。

(今日で言うところの)マンマシンインタフェースの難しさと重要性を鑑み、プロジェクト発足当初より東京大学高橋秀俊研究室と交流し、1966年9月より正式に共同研究を開始した。

プロジェクトの24ヵ月で第一バージョンを完成し、1968年3月末、2次元番地付け方式のTSSとしては世界初の稼動となった。また、高水準言語PL/IのサブセットPL/IW)によるOSの記述にも成功している。

また、高橋秀俊の示した8箇条、「人間は気まぐれである」〜「人間は何をするかわからない」(趣旨を説明した文章を電気通信学会雑誌に載せたものの引用が http://www.iijlab.net/~ew/know_thyself.html で読める)は、OS構築に際して対話処理の問題の扱いにおいて、大いに参考となった、としている。

富士通

FACOM 230-50(FONTAC)用のモニタとして、FONTAC MONITOR、MONITOR II〜IVを1965年から1968年にかけて完成。ダイナミックリロケーション、多重処理、リアルタイム処理を実現した。その後FACOM 230-60用のOS、MONITOR Vを開発。1968年12月にバッチ機能、1970年12月にTSS機能を完成した。

日電・電電・阪大

MITでTSSの研究がはじまった頃、同所にて日本からは日本電気 (NEC) や日本電信電話公社(現NTT先端研究所、NTTデータではない)のエンジニアや大阪大学からの留学生が中心となって、ジョン・マッカーシーの元で研究を行っていた。これらの研究者・エンジニアが帰国後、NECの水野幸男などを中心に開発が進み、IBMとリックライダーの発表後、3年程(1968年)に阪大MAC(TSS)としてNECの汎用機NEAC上で実装された。 このTSSシステムはIBMのシステムよりかなり洗練されており、テンプレート:要出典範囲程であった。

電総研

(『渕一博 その人とコンピュータサイエンス』pp. 14~16)

1960年代なかば、通産省の「大型工業技術研究開発制度」(通称大プロ)によるプロジェクトのひとつとして、電総研では「超高性能電子計算機」というプロジェクトがあった。ハードウェア中心のプロジェクトであったが、渕一博はTSSの開発を提案し、採用となった。

ETSSというこのTSSは、1966年10月にプロジェクト・チームを結成している。1968年5月には、1日4時間週5日の運用実験を開始し遠隔端末から使用できた。

関連項目

参考文献

  • 『コンピューター200年史 -情報マシーン開発物語-』M.キャンベル=ケリー他(著)、山本菊男(訳)、海文堂(1999年)、ISBN 4-303-71430-5