タイムシェアリングコンピュータ
Wikipedia
1台のコンピュータを複数のユーザが同時に利用するためのシステムである。開発された1960年代の当初は、メインフレームのリソースを効率良く使うためのものであったが、その後はミニコンピュータを中心としてユーザ単位ではなくタスク(プロセス)を複数動かすマルチタスクのオペレーティングシステムとして広まり、パーソナルコンピュータにおいても現在は一般的な利用法となっている。
メインフレームは非常に高価であり、個人が占有して使用することは不可能である。高性能なコンピュータを個人が占有するということは、ほとんどの時間が、ユーザが思考中でコンピュータが入力を待っている状態に費やされることを意味する。そのため、ヒトによるコマンドの実行待ちや、ディスクやテープ、通信などの入出力の完了を待っている時間などを、他の処理のために活用するという発想が生まれた。
しかし、キーボードからの入力を待つようなプログラムばかりであれば、その待ちに入る所で切替えれば良いが、大量の計算を行いたいプログラムなどでは、プログラム中に適切なタイミングで切替えを呼ぶようにするのは難しく、タイマー割り込みを利用したプリエンプションがあったほうが便利である。もっとも後年のUnixなどとは違い「タイムシェアリングシステム」と呼ばれるようなメインフレーム上のシステムの場合、まず第1に課金のための正確なCPU時間の決定が必要であり、次いで(タスクといったような単位ではなく)使用中の各ユーザに対し平等にCPU時間(タイムスライス)を割り当てる必要がある。そういったように、基本的な部分で考え方が異なっている点も多い今日のシステムとは異なる点も多いことに注意が必要である。
黎明期には、そのオーバーヘッドなどを理由として、タイムシェアリングによる対話的な使用を疑問視する向きもあった。しかし、タイムシェアリングシステムは一時期、(特にアメリカでは1)大変な隆盛を迎えた。経済的な誘因として考えられるのは「グロッシュの法則」である。「コンピュータの性能はその価格の二乗に比例する」というこの法則によれば、1000万円のコンピュータは500万円のコンピュータの4倍の性能があり、5000万円のコンピュータは1000万円のコンピュータの25倍の性能があるということになる。したがって、1000万円のコンピュータを25台購入して個々人に割り当てるよりも、5000万円のコンピュータを25人で共有したほうが経済的だという計算になる(グロッシュの法則が、いつごろのどのようなコンピュータに対してなら適切に当てはまっていたのかははっきりしないが、マイクロプロセッサベースのコンピュータシステムの高いコストパフォーマンスを評したkiller micro(en:Killer micro)という語がある。1999年に提案されたポラックの法則では、むしろ逆になってしまったと指摘された)。 また、こんにちではほぼ見られなくなった運用スタイルだが、ユーザがオンラインでコンピュータを使いたい昼間はタイムシェアリングで、夜間は大きなジョブが大きな時間単位で占有するバッチ処理で、といったような運用も往年は見られた。