02.メインフレーム・コンピューターはどのように使われるか

メインフレーム・コンピューターでのプログラムによる処理は大きく2つの形態に分かれ、それぞれバッチ処理、オンライン処理と呼ばれます。さらにオンライン処理に類似したものとして対話型処理と呼ばれるものがあります。

バッチ処理

バッチ処理とは、まとまった(一定量の)データに対してプログラム処理を行う一括処理のことです。あるいは、複数の処理を実行する順序に従い自動的に連続して行わせることを言います。メインフレームではどちらの意味でも使われますが、一般的には前者を指します。給与計算や売上データの集計など、一定期間毎にデータをまとめるような処理に使われ、大量のデータに有効な処理方式です。まとめて連続して処理するのでコンピューターの使用効率は上がりますが、処理結果が返るまでに時間が掛かる(数秒~数時間とさまざま)のが特徴で、スループット(単位時間あたりの生産性:どれだけ捌けるか、こなせるか)が重要視されます。

メインフレーム・コンピューターにおいては、ハードウェアもOSも、このバッチ処理を、いかに一度に(同時に多くの)、いかに速く、いかに人手を介さずに処理するか、と言うことで発展してきた歴史があります。

オンライン処理

オンライン処理は、データをまとめてプログラムに渡すバッチ処理とは異なり、データが発生する都度コンピューターへ送りプログラムで処理を行うものです。中でも処理結果をすぐに返す必要がある即時性が求められるものは、オンライン・リアルタイム処理と呼ばれます。発生したデータをすぐにコンピューターへ送るため、データの入力と出力のための装置(端末装置と呼ばれます)とコンピューターが通信回線で結ばれていることからオンライン(on line)処理と呼ばれます。列車の座席予約システムや、銀行のATMサービスなどは、オンライン・リアルタイム処理の代表的なものです。

オンライン処理ではターン・アラウンドタイム(応答時間)が重要視され、処理の対象データ(トランザクションと呼ばれます)がバラバラに間隔を空けて発生しようが、集中して一度に発生しようが、一定の応答時間を保つことが要求されます。

対話処理

一見オンライン・リアルタイム処理と同じですが、非定型処理を行う目的のため区別されます。対話処理は、ユーザーが端末装置を通じてコマンドやパネル(画面)を使って、コンピューターに自ら指示を与えることで処理を進めます。この機能は、OSのコマンドシェルと呼ばれるプログラムによって提供され、MVSではTSO(Time Sharing Option)、MSPとVOS3ではTSS(Time Sharing System)が主に利用されます。TSOは業務用システムにも適用できますが、主にプログラマーやオペレーターなど、開発部門・運用部門の人たちがOSを操作するために利用します。

リアルタイム処理も対話処理も、どちらも同じオンライン処理なのですが、業務用のオンライン・システムではコンピューター(プログラム)からの指示に沿って操作する(例えば○○の中から選べ、金額を入れよ等)のが一般的で、対話処理では逆にコンピューター(OS)に対し動作(例えばファイルの内容を表示せよ、コンパイルせよ)を指示するのが一般的です。言わば操作する人にとって受動的なのがオンライン・リアルタイム処理、能動的なのが対話処理とも言えるでしょう。

対話処理は、元々時分割処理方式(Time Sharing System)と言う、複数のユーザーが行う処理を短い時間間隔で次々と切り替えることで、あたかも自分1人でコンピューターを使っているかのように見せかける仕組みから来ています。TSSはCPUと人間の速度感覚の違いを上手く利用したもので、UNIXのようなマルチ・ユーザーをサポートするOSでは標準となっている機能です。リアルタイム処理も対話型処理も、どちらも同じオンライン処理ですし、今ではユーザーIDを使ってログオンしたり、パネル(画面)を使ったり、見た目や操作の違いはほとんどありませんが、本来は区別された利用方式です。