System/360(システムさんろくまる、S/360システム/360)は、IBM1964年4月7日[注釈 1]に発表したメインフレーム コンピュータのシリーズである。1965年から1977年まで出荷された[1]

IBM System/360 Model 30 (アメリカのコンピュータ歴史博物館展示品)

コンピュータ・アーキテクチャを採用し、アーキテクチャと個々の機種の回路実装は区別し、プログラムおよび周辺機器互換性がある小型から大型までのファミリ(コンピュータファミリ)を形成した。商用計算と科学技術計算をカバーし(汎用機)、また商用では初のオペレーティングシステム仮想機械が登場するなど、後のコンピュータの設計に影響を与え続け、「史上最も成功したコンピュータ設計の1つ」とされている。

このSystem/360シリーズの大成功により、コンピュータ業界で後発のIBMは競合他社を市場で圧倒することになり、そのアーキテクチャやアプリケーション・プログラムの互換性は、後続のSystem/370や最新のSystem zまで引き継がれている。

概要 編集

System/360はアドレス指定に8ビットで構成されるバイト単位を採用し、また商用計算で使用される十進数演算と科学技術計算で使用される浮動小数点数演算の両方の命令セットを備えた。この「8ビット = 1バイト」はSystem/360の成功によってその後のコンピュータの事実上の業界標準となり、また十進数演算と浮動小数点数の両方の装備により従来の「専用機」に対して「汎用機」とも呼ばれるようになった(なお浮動小数点演算の方式は当初は精度上の課題があり、後に改良された)。またシステム制御プログラム群が整理され「オペレーティングシステム」と呼ばれるようになった。

同一の命令セット・アーキテクチャを、最上位機種では可能な限りハードウェアで直接的に実装し、下位機種ではマイクロプログラム方式の活用により比較的低コストで実装した。このコンピュータ・アーキテクチャ確立により、IBMは互換性のある設計で様々な価格帯のシステムをリリースすることができた。

System/360は市場で大いに成功し、顧客は小さめのシステムを購入しても、後で自社の業務の規模の拡大に合わせて上位機種へ移行できて、その際に新しい機種へのソフトウェアの書き換えが不要という利点が生じた。プログラムや周辺機器の互換性が生まれ、コンピュータ・ファミリを形成した。

 
System/360発表の新聞広告(一部抜粋、日本経済新聞1964年4月9日付朝刊)
 
フォルクスワーゲンで使われているSystem/360

1964年に発表されたSystem/360で、最も低性能な機種は0.018から0.034MIPS[2]、最上位機種はその約50倍の性能である[3]主記憶装置の容量は8kBから8MBまであったが[3]、後者の構成は滅多に見られなかった。また補助記憶装置は、主記憶装置の磁気コアメモリ装置に比して10倍程度アクセスが低速な磁気コアメモリ装置 Large Core Storage (LCS)英語版 を最大8MBまで接続可能である。大型機種では主記憶装置は最低でも256kB以上であり、512kB、768kB、1024kB といった容量が一般的だった。

System/360は上述の通りコンピュータ・アーキテクチャと回路実装を明確に区別した最初のコンピュータシリーズである。System/360の設計責任者はジーン・アムダール、プロジェクトマネージャはフレデリック・ブルックスで、責任者は会長のトーマス・J・ワトソン・ジュニアである[3]。ワトソンのもう1人の副官であるジョン・R・オペル英語版もSystem/360の立ち上げに深く関わった[4]。System/360開発プロジェクトには多額の費用がかかっており、フォーチュン誌による "$5 billion gamble" という表現の示すとおり、IBMはSystem/360に社運をかけたと言っても過言ではない(2002年の価値に換算すると280億ドルつまり約3兆円のお金をIBMは投入した。ちなみに、同時期のあのアポロ計画の予算が250億ドルである。アポロ計画よりも多くの金を投入したのである。)そして、IBMは賭けに勝ったのである。

それまでのコンピュータは、主に事務処理や入出力処理用の小型機(IBM 1401など。衛星プロセッサとも)と主に科学技術計算用の大型機(IBM 7090など)とでは、それぞれ異なる命令セットアーキテクチャで作られる(専用機)のが普通であって、OSのようなシステムプログラムはモデル別に開発されており、大型のモデルに変更するとアプリケーションプログラムはそのままでは利用できず書き直しが必要であった。System/360は、最下位モデルから最上位モデルまで命令セットアーキテクチャをほぼ統一して、基本的にはシリーズ内のどれかで動くプログラムは、全てのモデルで動く(汎用機)。また、様々な用途に応じたソフトウェアを入れ替えて使うことで、多種多様の業務に対応できるとも言える。「360度(全方位)、様々な業務に対応できる」という意味を込めて、360と付けられた。構成によっていくつかのサブモデル(360/40など)がある。また、360の後継はSystem/370で、更に現在のSystem Zシリーズに続いている。

System/360を発表するとIBMには当初の予想を超える受注が舞い込み、発表後の最初の4週間で1,000台受注した[5]。その次の4週間で、さらに追加で1,000台受注した[5]。System/360は、IBMメインフレームの巨人メーカーへと成長させた。当時のメインフレーム市場における IBM社 の強さを「白雪姫と7人の小人」にたとえるものもあった。1967年頃には、IBM社は大型コンピュータにおける米国メーカーの出荷高の7割以上を占めており、他社を圧倒してメインフレームの市場をほぼ独占していた。残りの7社とは、UNIVACHoneywellGECDCRCANCRバロースのことであり、市場シェアを数%ずつ分け合う小さな存在であった。

なおSystem/360は集積回路を使用した「第3世代」コンピュータに分類される[6]

コンピュータ産業界への影響 編集

コンピュータ・ファミリの出現、互換周辺機器市場の出現、互換機市場の出現

それ以前とは異なり、IBM社は小型から大型までのさまざまなモデルを含むコンピュータシリーズ全体を開発し、基本的に全てのマシンにおいて同じ命令セットが動作するようにした(一部特殊市場向けには例外あり)。これによって顧客は最初は小さなシステムで利用をはじめて、必要に応じて(業務ソフトウェアを変更することなく)上位のモデル機種の利用に移行することが可能となった。そのうえ多くのモデルでは顧客が以前に利用していたIBM社の機種の命令セット(例えばIBM 1401IBM 1620)をマイクロコードエミュレーションするオプションを提供していた[7]。これにより以前の機種で使用していたプログラムもほぼ変更せずに新しいシステム360のマシン上で動作させることができた。

System/360は、" コンピュータのハードウェア " というものに対するユーザ企業の考え方をすっかり変えた[5](コンピュータのハードウェア市場のありかたを完全に変えた)。移行の柔軟性により、導入や機種更新に際しての障壁が小さくなった。他のシステムベンダー(ゼネラル・エレクトリック以外)では自社の機種間でも相互に互換性がなく、それぞれの機種は顧客の用途に合わせて高度にカスタマイズされて設計されており、結果的に値段が高くなり導入しにくいことが多かった。System/360により、ユーザは最初は安価な下位機種から使い始めて、次第に装置を足したり、上位機種に変更してゆけば良いということになった[5](しかも当時、IBMはコンピュータを顧客に販売せずにレンタルしていたのでさらに利用の障壁は低かった。これは第二次世界大戦前のパンチカード会計システムの頃からの伝統であり、不況に強いビジネスモデルと言われている)。

IBM以外の企業も、System/360と組み合わせて動く周辺機器を製造することができた[5]。すぐにS/360プラグ互換の周辺機器を製造する企業群とその産業領域が出現した[5](なお、これと同じような現象が、およそ20年後にIBMがパーソナルコンピュータ(IBM PC)をリリースした際にもクローンなどを許可したことで起きた[5])。他社によるS/360の周辺機器は1967年のテレックス(テレタイプ端末)やテープドライブ装置などを皮切りに、1968年のディスク・ストレージ付きen:Memorexなどと続き、この産業領域は目覚ましい成長を経験した[5]。互換機も製造されるようになり(後述)、1972年にはソヴィエト連邦東欧諸国の連合までSystem/360互換の(en) Ryad(ES EVM)コンピュータを製造すると発表した[5]

従来との互換性 編集

IBMの既存の顧客は第二世代のマシン上で動作するソフトウェアの大きな資産を抱えていた。多くのモデルで顧客の従来のマシン(例えば、モデル30では IBM 1400シリーズ、モデル65では IBM 7094)のエミュレーションをオプションとして提供している。特殊なハードウェアを使ったり[8]、特殊なマイクロコードやソフトウェアを使って、ターゲットシステムの命令をエミュレートし、古いプログラムを新しいマシン上で実行可能としていた。ただし、初期化時にモードを切り換えるので、エミュレーションと通常運用を同時に行うことはできない[9]。モデル85と後のSystem/370にもエミュレーション・オプションが残されているが、そちらはOSの上で通常のプログラムと同じようにエミュレーションを行える[10]

歴史 編集

IBMは6つのモデルのコンピュータと40種類の共通周辺機器を発表した。最終的にはNASA向けの特殊な機種も含めて14のモデルがリリースされた。最も安価なモデルは 360/20 であり、4Kの磁気コアメモリを装備し、レジスタも他のモデルが32ビット16本なのに対して、16ビット8本であり、命令セットは他の機種のサブセットになっていた(小企業向けであり、それ以上のものではない)。

1964年の最初の発表では、モデル30, 40, 50, 60, 62, 70 という6モデルが含まれている。モデル30, 40, 50 は中小型システムで、従来のIBM 1400シリーズの市場をカバーする。これらは1965年中頃に出荷が開始された。モデル60以上のモデルは7000シリーズの市場をカバーすることを想定していたが出荷されることなく、モデル65 と 75 が新たに発表され、モデル65 は1965年11月に出荷開始され、モデル75 は1966年1月に出荷開始された。

下位モデルとして、モデル20(1966年、上述)、22(1971年)、25(1968年)が追加された。モデル22はモデル30に若干制限を加えたバージョンで、主記憶容量の上限が小さくなっていて、I/Oチャネルの容量も小さくなっている。したがってディスクやテープ装置の性能や容量がモデル30より小さくなっている。

モデル44(1966年)は中型の科学技術計算向けであり、浮動小数点演算機構が付加されているが一部の命令は削除されている。

上位モデルとして、モデル67(1966年、後述、64または66と予測されていた機種[11])、85(1969年)、91(1967年)、95(1968年)、195(1971年)が追加された。モデル85はSystem/360と後継のSystem/370のギャップを埋めるために出された機種で、後の370/165の基盤となった。System/370にもモデル195があるが、そちらは動的アドレス変換機構を含まない。

それぞれのモデルは、データパス幅の違いや、マイクロコード使用の有無などで実装は異なるが、いずれも互換性を保っている。すなわち、特に文書化された点を除いて、各モデルはソフトウェア的には互換で、新しい機能はアーキテクチャを崩さないように追加されている。

例えばモデル91は科学技術計算向けに設計されており、ビジネス向けの十進演算命令は省かれていた。モデル91はTomasuloのアルゴリズムによりアウト・オブ・オーダー実行を行うが、そのための「不正確な割込み」(imprecise interrupt)という問題は不評で、以後の同様のマシンでは「確定ユニット」が取り入れられた[12]。モデル65にはCPU間信号を追加したデュアルプロセッサ版 (M65MP) があり、モデル85ではキャッシュメモリ(バッファメモリ)を導入している。モデル44, 75, 91, 95, 195ではロジックをハードウェア回路で実装しているが、それら以外の下位のモデルではマイクロコードによる実装を採用している。

モデル67は1965年8月に発表されたモデルで、IBMとしては初の動的アドレス変換機構(DAT、現在ではMMUと呼ばれるもの)でタイムシェアリングシステムをサポートした。モデル40をベースとしてDAT実験機が構築されている。モデル67をリリースする前にIBMはモデル64と66を発表していた。それらはモデル60と62にDATを追加したものだが、60および62の代替としてモデル65をリリースすることが決まり、モデル64と66もモデル67で代替されることになった。System/370では1972年にDATハードウェアが再登場したが、370でも当初はDATがなかった。モデル65と同様、モデル67にもデュアルCPU版が存在する。

IBM社は1977年末までにはすべてのSystem/360のモデルの営業を終えた(次のSystem/370に完全に移行したためである)。

特徴 編集

 
System/360のCPU。箱の中全体がCPU

業界標準となった特徴 編集

System/360では以下のような業界標準が生まれた。

 
IBM System 360-20 でマイクロコードを格納したTROS英語版
(※)EBCDICについては解説が必要である。本来、ASCIIの採用がSystem/360のセールスポイントのひとつであり、BCD二進化十進表現)とASCIIとの切り替えスイッチが付いていた。IBMはASCIIの標準化にも深く関わっている。しかし、360をリリースするとき周辺機器がASCIIに対応していなかった。また、大企業や政府は大量のBCDファイルを持っていてASCIIに抵抗があった。BCDは簡単にEBCDICに変換できたが、ASCIIではそうはいかなかったのである。そのためもっぱらEBCDICがSystem/360の初期に使用され、それが大成功したがために業界標準となってしまい、その後の汎用コンピュータは互換性を維持するためにEBCDICをサポートし続けた。

アーキテクチャ 編集

System/360シリーズにはコンピュータ・アーキテクチャ仕様が定められている[14][15][16]。その仕様は実装については全く何も前提としておらず、外部とのインタフェースと外から見た振る舞いを規定している。アーキテクチャは、あらゆる実装で必須とされるインタフェースが記述しており、実装しなくてもよいオプションのインタフェースも記述している。

アーキテクチャには次のような項目が含まれる。

  • バイト順序はビッグエンディアン
  • プロセッサ
    • 16本×32ビット 汎用レジスタ (R0-R15)
    • 64ビット プログラムステータスワード (PSW)
    • 割り込みは、マスク不可とマスク可能なクラス、さらにサブクラスがある。
    • 命令セット。各命令が詳述されており、プログラムへの割り込みとして認識される例外の発生条件も定義されている。
  • 記憶装置
    • 1バイトは8ビット
    • 特殊なプロセッサ通信領域がアドレス0番地から始まっている。
    • アドレスは24ビット
  • 人手による操作で可能な制御
    • ブート(IBMでは Initial Program Load、IPL と呼ぶ)
    • オペレータによる割り込み発生
    • システムのリセット
    • 基本的なデバッグ機能
    • システム状態(メモリおよびプロセッサ)の表示と人手による変更
  • 入出力機構 - 周辺機器自体は記述されていない。

オプションの機能として次のような項目がある。

モデル20を除く全てのSystem/360でこれらの仕様を実装していた。

二進演算と論理演算は、レジスタ-レジスタ間、メモリ-レジスタ/レジスタ-メモリ間で実行可能である。商用命令セット・オプションを実装している場合、レジスタ-レジスタ間および一部はメモリ-レジスタ間でパック10進数演算を実行可能である。科学命令セット・オプションを実装している場合、4本の浮動小数点数レジスタがあり、32ビットまたは64ビットの浮動小数点演算を実行可能である。モデル85と195の場合、さらに128ビットの拡張浮動小数点数を扱うことができ、2本の浮動小数点数レジスタで1つの数値を格納する。他の機種ではソフトウェアでのエミュレーションで同等機能を提供する。1バイトは8ビット、1ワードは32ビット、1ダブルワードは64ビット、1ニブルは4ビットである。命令のオペランドにはレジスタ番号またはメモリアドレスを指定できる。この複雑な組み合わせにより、命令長や形式は様々に変化する。

メモリアドレッシングは「ベース+ディスプレースメント」形式でレジスタ R1~R15 をベースに使うことができる。ディスプレースメントは12ビットなので最大4096バイトまで示すことができ (0-4095)、ベースレジスタの示すアドレスからのオフセットを指定する。R0レジスタはベースとして使うことはできず、「0」をベースに指定するとメモリの先頭 4KBの範囲を指定することになっていた。これは割り込みルーチンの先頭部分で、ベースレジスタを適切に設定する前に固定のメモリアドレスにアクセスするのに使われていた。IPLの場合は、レジスタの内容をセーブする必要はなく単にクリアすればよいので、この機能は使われていない。

モデル67以外では[17]、あらゆるアドレスは物理メモリアドレスである。IBMが仮想記憶を本格的に採用したのはSystem/370シリーズからである。モデル67では仮想記憶アーキテクチャが導入され、MTS英語版CP-67(en:CP-67)TSS/360英語版 で使われたが、System/360の主要OSでは仮想記憶に対応していない。

命令コードは1バイトで、最低でも1バイトのイミディエート値が一種のオペランドとして存在する。命令は必ず 2バイト境界に配置しなければならない(命令の先頭アドレスが2で割り切れる)。命令には3種類の形式がある。オペランド無し(2バイト)、1オペランド(4バイト)、2オペランド(6バイト)である。

例えばMVC(文字移動)命令(16進で D2)は最大でも256バイトしか転送できない。それ以上の転送には複数回のMVC命令を実行する必要がある(System/370ではもっと強力な命令MVCLが追加され、16MBまでの文字列転送が可能となった)。1オペランドは2バイトである。4ビット(ニブル)でベースレジスタを指定し、残り12ビットでディスプレースメントを指定する。MVC命令は 6バイトであり、(R8+1)アドレスから(R7+0)アドレスへ256バイトを転送する命令のコードは "D2FF 7000 8001" となる(FFの部分が転送サイズを示し、実際の転送サイズより1小さい値を取る)。

System/360は「システム状態」と「問題状態」を分離するよう設計されている。それによって基本的セキュリティとプログラミング上のエラーからの復帰を可能にしている。問題 (problem) とはユーザプログラムを意味し、システム状態に対応しているデータやプログラムの内容を変更することはできない。プログラム実行で何らかのエラーが起きると、制御されたルーチンを経由してシステム状態に移行し、オペレーティングシステムがエラーの訂正または当該プログラムの終了を試みる。同様にプロセッサのハードウェアエラーが起きると、マシンチェック・ルーチンを経由して復旧を試みる。

プロセッサー 編集

 
SLTモジュールの例(IBM 1130 のもの)

発明されたばかりの集積回路は信頼性や可用性に不安があったため、IBMはハイブリッド集積回路を使用した。個々のトランジスタダイオードと基板にプリントされた抵抗などでフリップフロップを構成して、プラスチックか金属でカバーを施した。これをいくつかプリント基板に実装してSLTモジュール(Solid Logic Technology)と呼んだ。SLTモジュールの一方の端にはソケットがあり、バックプレーンにあるピンを挿入する形で実装する(一般的な実装とはソケットとピンが逆である)。

チャネル 編集

周辺機器は「チャネル」経由でシステムと接続する。チャネルは、周辺機器と主記憶間のデータ転送に最適化された命令セットを持つ専用プロセッサである。現代風に言えば、Direct Memory Access (DMA) に近い。

チャネルには、バイトマルチプレクサチャネルとセレクタチャネルがある。前者は低速デバイス向けで、パンチカードリーダ/パンチ、ラインプリンター、通信コントローラなどを接続する。後者は高速デバイス向けで、ディスクドライブ磁気テープドライブ磁気ドラムなどを接続する。モデル20以外のSystem/360は、バイトマルチプレクサチャネルを1つとセレクタチャネルを1つ以上備えている。小型のシステム(モデル50まで)ではチャネルが本体に内蔵されているが、大型のシステム(モデル65など)では本体とは別筐体になっている(IBM 2860/2870など)。

バイトマルチプレクサチャネルは同時に複数の周辺機器の入出力を扱え、それぞれの周辺機器は最高速度で動作できる。このため「マルチプレクサ」と名付けられており、複数の周辺機器の入出力を多重化して主記憶との単一のデータ経路にまとめている。各周辺機器は、1バイトモード、2バイトモード、4バイトモード、バーストモードのいずれかで動作するよう設定される。相対的に高速な周辺機器ほど大きなデータブロックを使用する。例えば2501パンチカードリーダは毎分600枚のパンチカードを読み込み、1バイトモードで動作する。一方、1403-N1プリンターはバーストモードで動作する。また、バイトマルチプレクサチャネルにはサブセレクタ部があり、磁気テープドライブを接続できる。バイトマルチプレクサのチャネルアドレスは一般に "0" で、サブセレクタのアドレスは "C0" から "FF" である。したがって磁気テープドライブは一般に 0C0 から 0C7 のアドレスに配置される。他の一般的なアドレスとしては、2501カードリーダは00A、2540リーダ/パンチは00C/00D、1403-N1プリンターは00E/00F、3211プリンターは010から013、2701/2703通信ユニットは020から0BFである。これらのアドレスはz/VMでもそのまま継承されている。

モデル30/40/50には1052-7コンソールが付属しており、アドレスは一般に01Fとされた。ただし、コンソールはバイトマルチプレクサチャネルに接続されるわけではなく、直接本体と接続される。

セレクタチャネルは高速周辺機器を扱う。ストレージデバイスを制御ユニットに接続し、制御ユニットをチャネルに接続する。制御ユニットを介することで多数のデバイスをチャネルに接続できる。上位モデルでは複数のセレクタチャネルを備え、それらが同時並行的に動作するので、全体として性能が向上する。

 
バスタグ・ケーブル
 
バスタグ・ターミネータ

制御ユニットとチャネルは灰色のバスタグ (bus and tag) ケーブル対で接続する。バスケーブルはアドレスおよびデータ情報を運び、タグケーブルはバスケーブル上のデータが何なのかを示す。一般に制御ユニットはデイジーチェーン接続される。各制御ユニットには対応するアドレスの範囲が割り当てられている。例えば制御ユニットXがアドレス40から4F、制御ユニットYがC0からDF、制御ユニットが80から9Fといった具合である。アドレス範囲は8以上の2のべき乗でなければならず、各制御ユニットには複数のデバイスを接続できる。例えば、制御ユニットYに6台のディスクを接続し、それらにアドレスC0からC5を対応させる。

制御ユニット同士をどういう順番で接続するかも重要である。各制御ユニットには優先度として High または Low が設定される。制御ユニットが X、Y、Z の順序でデイジーチェーン接続されている場合、デバイス選択をメインフレームからチャネルに送信すると、X→Y→Z→Y→X とその信号が送られていく。優先度がHighに設定された制御ユニットは信号が外に向かう際にチェックを行い、優先度がLowに設定された制御ユニットは信号が折り返して戻ってくる際にチェックを行う。また、1つの制御ユニットを複数のチャネルから接続することができ、それらチャネルは別々のメインフレームでもよい。

一般にチャネルのケーブルは最大約60メートルまでとされている。このとき制御ユニット1台を接続するとケーブル長約3メートルに換算する。

マルチプレクサチャネル 編集

モデル85および195で、IBMは新たな種類のチャネルである 2880 ブロックマルチプレクサチャネルを導入した。このチャネルはチャネルプログラムの実行を中断して配下デバイスの入出力完了を待ち合わせずに別のデバイスのためにチャネルを解放することができる。これを最初に使ったのは 2305 固定ヘッドディスクで、8つのアドレスを持ち、回転位置検出 (RPS) 機能を持っていた。これらのチャネルは標準で1.5MB/sであり、2バイト・インタフェースでは3MB/sとなる。後者の場合、タグケーブル1本につきバスケーブル2本を使用する。

オペレーティングシステム 編集

System/360の小型機種向けには BOS/360(ベーシック)、COS/360(カード)、TOS/360(テープ)、DOS/360(ディスク)があり、DOS/360は後に DOS/VS, DOS/VSE, VSE/AF, VSE/SP, VSE/ESA へと発展し、最終的に z/VSE に進化した。

それより上位のモデルではOS/360を使用した。当初 PCP (Primary Control Program) や MFT (Multiprogramming with a Fixed number of Tasks) があり、それらが OS/VS1 に発展した。また、MVT (Multiprogramming with a Variable number of Tasks) は MVS へと発展した。MVTは開発に時間がかかりすぎたため、機能の限定された MFT が主に使用された。PCPは中型機で使われたが、最終的にはMFTとMVTだけが残った。

モデル67を1965年8月に発表したとき、IBMは多くの先進的機能を備えたTSS/360(タイムシェアリングシステムを搭載したMulticsへの対抗OS)も本体と同時にリリースすると発表した。しかし正常に動作させることができず、リリース延期が繰り返され、最終的に1971年にキャンセルされた。代わりとしてCP-67、MTS、OS/360上で稼働するTime Sharing Optio(TSO)などが使われた。

CP-67は仮想機械システムであり、CP/CMS(en:CP/CMS)とも呼ばれる。CP-67はIBMの主流ではない部門がMITの研究者らと共同で開発した。CP/CMSは広く受け入れられ、VM/370 へと発展し、現在の z/VM へとつながっている。

モデル20には単純化したOSである、CPS (Card Processing System)、TPS (Tape Processing System)、DPS (Disk Processing System) が用意された。それぞれ必要な主記憶容量が 4K (CPS)、8K (TPS)、12K (DPS) であり、多くのユーザーは最小構成で使えるCPSを使っていた。

TPSとDOSでは、実行すべきジョブスタックの定義(JCL)とトランザクションデータの供給にパンチカードリーダーを使っていた。しかし、OS自体はディスクや磁気テープで提供されており、結果(マスターファイル)も磁気テープやハードディスクに格納することができる。

周辺機器 編集

System/360の周辺機器は従来の1400シリーズの流用より新規に開発されたものが多く、2で始まる4桁の番号がついている。1400シリーズからの流用として例えば、1403プリンターは信頼性が高かったので、1403-N1プリンターとして存続した。また光学文字認識 (OCR) リーダとして 1287 と 1288 があった。

端末(コンソール) 編集

小型システムの多くは、IBM 1052-7 がコンソール・タイプライタとして付属していた。上位機種には10万ドルもするグラフィカル・ディスプレイ IBM 2250英語版 を接続することもあった。モデル85では 5450 をコンソールとして採用し、モデル165やSystem370/168ではその系統を受け継いだ 3066 コンソールが採用されている。

直接アクセス記憶装置 (DASD) 編集

 
IBM 2311 ディスクドライブ

360用の最初のディスクドライブは IBM 2302[18]:60-65 と IBM 2311 である。2302 は 1302 を改良したものである。

2311はリムーバブルなディスクパック 1316 を使用する装置であり、IBM 1311 の後継である。理論上は7.2MBの容量があるが、実際の容量はレコード設計に依存する[19]:31。例えば、モデル20で1316パックを使う場合、固定長セクタでフォーマットされ、最大容量は5.4MBとなっていた。

1966年、2314 が出荷された。内蔵制御ユニットにより最大で8台のディスクドライブを使用できる。実際は9台のドライブがあるが、1台は予備として予約されている。各ドライブに2316ディスクパックを装着すると、それぞれの容量は23MB弱となる。2311と2314のディスクパックは現代から見れば巨大であり、例えば1316は直径が36cmで、6枚のプラッタがある。プラッタ群の一番上の面と一番下の面にはデータを記録せず、それら以外の中間のプラッタは両面に記録するので、全部で10面あることになる。10個の読み書き用ヘッダは同期して動作する。シークをなるべく短縮するため、プラッタ群を同心円状に貫く仮想的シリンダにデータをなるべくまとめて記録する。一般に可変レコード長であり、現代のハードディスクのように固定長セクタでフォーマットされているわけではない。

 
IBM 2314 ディスクドライブと IBM 2540 カードリーダ/パンチ(ミシガン大学)

初期のSystem/360では、トラック毎にヘッドがある磁気ドラムを高速記憶装置として使っていた。容量4MBで3,500RPMの2301[20]は7320の後継として、System/360発表時にその一部として発表された。303.8kB/sの IBM 2303[18]:74-76 は1966年1月31日に発表されたもので、容量は3.913MBである。磁気ドラムはこれらだけであり、後継としては固定ヘッドディスクがリリースされた。

1970年に登場した6,000RPMの固定ヘッドディスク装置2305は、モジュール毎に5Mb (2305-1) と 11Mb (2305-2) の容量である[21][22]。容量は小さいものの、データ転送速度と転送レートが高速であり、高性能を求める用途で使われた。例えば、オーバレイリンケージで同じメモリ領域の内容を高速に切り換えるなどの用途で使われた。固定ヘッドディスクや磁気ドラムは、初期の仮想記憶システムでのページング用デバイスとして重宝された。2305は固定ヘッドディスク装置だが、ドラムと呼ばれることも多かった。

あまり見られない記憶装置として IBM 2321 Data Cell英語版 がある[23]。複雑な機構を内蔵した装置で、多数の磁気テープ片にデータを記録し、指定された磁気テープ片を取り出して読み書きし、元の場所に戻すということを繰り返し、ランダムアクセスが可能である。2311が7.2MBの容量だった時代に400MBという大容量を実現している。コスト/容量/速度の各面で磁気テープとハードディスクのギャップを埋めようとした装置といえる。しかし電気機械式だったため信頼性が低かった。

モデル44は、標準でディスクドライブを1台備えていた。2315ディスクカートリッジを装着し、1,171,200バイトの容量である[24]:11

磁気テープ装置 編集

 
IBM 2401 磁気テープドライブ

2400磁気テープドライブはドライブと制御ユニットが統合されており、1/2インチ磁気テープドライブを追加することができる。System/360でIBMは7トラックから9トラックにフォーマットを切り換えた。2400は従来の7トラックの磁気テープも読み書きできる。1967年には、より低速で安価な2ドライブと制御ユニットを統合した 2415 がリリースされた。1968年、高速な 2420 がリリースされ、1979年まで製造されていた。

ユニットレコード装置 編集

 
IBM 1403 ラインプリンター

パンチカード関連装置としては、2501カードリーダ、14422540リーダ/パンチがあり、多くのシステムに2540が使われていた。さらにソータとしても使える 2560 MFCM ("Multi-Function Card Machine") はモデル20でのみ使えたが、信頼性に問題があることで有名だった。

ラインプリンターとしてはIBM 1403と低速なIBM 1443IBM 1443)があった。

紙テープリーダ 2671 は1964に登場した。読み取り速度は 1,000 cps である。初期には紙テープリーダやパンチもあったが、標準品ではなく特注品扱いだった。

光学文字認識 (OCR) 装置としては 1287 と 1288 がある。1287は手書きの数字や一部のOCR用フォントを認識でき、キャッシュレジスター用のOCR紙テープを読み取れる。1288はページ単位でOCRフォントの文書を読み取ることができ、手書きの数字も認識できる。

磁気インク文字認識 (MICR) 装置としては、1412 と 1419(小切手ソータ)がある。また小切手に磁気インクで印刷する 1445 プリンターがある。これらは基本的に銀行向けである。

通信制御装置 編集

通信制御装置として2701/2702があり、モデム通信回線を通して、1030データ収集システム・1050データ通信システムなど様々な遠隔地通信端末の接続を可能にして、それまでデータ処理をすべて電算機室に集めたセンター集中方式から遠隔地コンピューティングへの幕開けを迎えた。


後継機、互換機 編集

System/360は1971年System/370シリーズに置き換えられ、360/20の後継としては IBM System/3 が用意された。当初の計画では劇的に進化したFSテクノロジーで置き換えるはずだったが、コストと時間がかかり過ぎ、1970年代中盤に計画が中止された。その後の互換システムとしては、IBM自身のIBM 3090英語版System/390、zSeries、System zがある。

機械語レベルまたはアーキテクチャレベルで同一または互換といえるコンピュータとしては、アムダールの470ファミリ、日立製作所のメインフレーム、UNIVAC 9200/9300/9400シリーズ、イングリッシュ・エレクトリックの System 4、RCA Spectra 70英語版 シリーズ(UNIVACに売却され UNIVAC 90/60 となった)などがある[注釈 2]。また、ソビエト連邦もSystem/360互換機を製造していた(ES EVM)。

1975年に登場した IBM 5100 ポータブルコンピュータは、System/360のAPL.SVプログラミング言語をハードウェアエミュレータ経由で実行できるオプションを提供していた。これは、5100向けのAPL処理系開発が遅延したためにとったアプローチである。

放射線耐性を強化するなどの改造を加えた System/360 は System/4 Pi英語版 アビオニクスコンピュータと呼ばれ、いくつかのジェット戦闘機やジェット爆撃機に使われた。完全32ビットのAP-101版の 4 Pi は二重化されたフォールトトレラントスペースシャトルのコンピュータシステムに使われた。アメリカ連邦航空局 (FAA) はSystem/360を改造した特殊なクラスターを IBM 9020 と呼び、1970年から1990年代まで航空管制に使用していた。(9020用ソフトウェアはその後の新ハードウェア上でもエミュレーション機能上で使われている。)

その他 編集

日本 編集

 
日本アイ・ビー・エム本社のSystem/360

日本で最初の導入は1965年の東海銀行(現三菱UFJ銀行)である[25]

現存機器 編集

System/360の現存するマシンは数少ない。当時は多数のメインフレームシステムが稼働していたが、現存しているものは数少なく、しかもいずれも動作できない状態である。多くはリース品だったので、役目を終えたマシンはIBMが回収し、廃棄された。一般にメインフレームは古いほど巨大で維持費もかかる。スミソニアン博物館は System/360 Model 65 を所有しているが、既に展示していない。ボストン科学博物館Museum of Science)にあったSystem/360 Model 30はマウンテンビューコンピュータ歴史博物館へ移されて、動作しないものが展示されている。ニュージーランドのオークランドにある輸送技術博物館やオーストリアのウィーン工科大学にも動作しないSystem/360が展示されている。西オーストラリア大学は完全なシステムを所蔵している。ジンデルフィンゲンのIBM博物館にはモデル20とモデル91がある。スタンフォード大学の計算機科学科にはSystem/360の制御パネルがいくつか展示されており、中にはシステム規模が最大だったFAAIBM 9020英語版 の制御パネルもある[26]。エンディコットにあるIBMの歴史センターにも動作しないSystem/360などが展示されている。日本では情報処理学会のコンピュータ博物館は日本企業が開発したコンピューターだけを所蔵しているので[27]京都コンピュータ学院のKCGコンピュータ博物館がSystem/360モデル40を所蔵・展示している[28]

脚注 編集

注釈 編集

  1. ^ 日本では翌4月8日
  2. ^ RCA Spectra 70 は割り込みやI/Oの面で大きくアーキテクチャが異なる。互換パッケージを使うことでSystem/360のOSを Spectra/70 上で動作させること(あるいはその逆)が可能となる。

出典 編集

  1. ^ IBM System/360 Dates and Characteristics
  2. ^ System 360/30 announcement
  3. ^ a b c "System/360 Announcement" (press release), IBM Data Processing Division, April 7, 1964, webpage: IBM-PR360: states cycle time from "millionth-of-a-second to only 200 billionths-of-a-second" and "memory capacity ranges from 8,000 characters of information to more than 8,000,000".
  4. ^ An Appreciation - John R. Opel, posted on www.ibm.com
  5. ^ a b c d e f g h i IBM公式サイト(英語)。System 360, From Computers to Computer Systems.[1]
  6. ^ メインフレーム 誕生と発展の歴史 - コンピュータ博物館
  7. ^ bit 編集部『bit 単語帳』共立出版、1990年8月15日、35頁。ISBN 4-320-02526-1 において、マイクロコードを用いて IBM 360/30 で IBM 1401 のエミュレーションを実現したのが商用計算機で初めての事と記されている。
  8. ^ IBM (February 1971), System/370 Model 165 Theory of Operation (Volume 8) 709/7090/7094/7094-II Compatability Ferature (Second Edition ed.), SY77-6835-0 
  9. ^ IBM (April 1964), System/360, Model 30 1401 Compatibility Feature, A24-3255-1, http://www.bitsavers.org/pdf/ibm/360/1401_emulator/A24-3255-1_Model30_1401_Compatibility_Apr64.pdf, "Mode status (System/360, Model 30, mode or 1401 compatibility mode) is set during the read-in of the compatibility initialization deck." 
  10. ^ IBM (November 1971), Emulating the IBM 7094 on the IBM Models 85 and 165 using OS/360 Program Number for M/85: 360C-EU-734 Program Number for M/165: 360C-EU-740 OS Release 20 (Third Edition ed.), GC27-6951-2 
  11. ^ DIGITAL COMPUTER NEWSLETTER, Office of Naval Research, Mathematical Sciences Division, July 1965--pages 5-6: IBM System/360 time-sharing computers
  12. ^ 『コンピュータの構成と設計 第3版 別冊 歴史展望』p. 89
  13. ^ NTIS (1979), I/O Channel Interface, National Technical Information Service, FIPSPUB60 
  14. ^ IBM (1964), IBM System/360 Principles of Operation, A22-6821-0, http://bitsavers.org/pdf/ibm/360/princOps/A22-6821-0_360PrincOps.pdf 
  15. ^ IBM (September 1968), IBM System/360 Principles of Operation, IBM Systems Reference Library, File No. S360-01, Poughkeepsie, NY, A22-6821-7, http://www.bitsavers.org/pdf/ibm/360/princOps/A22-6821-7_360PrincOpsDec67.pdf  revised by IBM (May 12, 1970), GN22-0354  and IBM (June 8, 1970), GN22-0361 
  16. ^ IBM, IBM System/360 I/O Interface Channel to Control Unit Original Equipment Manufacturers' Information (Fifth Edition ed.), A22-6843-3, http://www.bitsavers.org/pdf/ibm/360/A22-6843-3_360channelOEM.pdf 
  17. ^ IBM (February 1972), IBM System/360 Model 67 Functional Characteristics (Third Edition ed.), GA27-2719-2, http://bitsavers.org/pdf/ibm/360/funcChar/GA27-2719-2_360-67_funcChar.pdf 
  18. ^ a b IBM (December 1969). IBM System/360 Component Descriptions - 2841 and Associated DASD (Eighth Edition ed.). GA26-5988-7. http://bitsavers.org/pdf/ibm/28xx/2841/GA26-5988-7_2841_DASD_Component_Descr_Dec69.pdf 
  19. ^ http://www.bitsavers.org/pdf/ibm/dasd/A26-5988-0_2841_2311_2321_7320_Descr.pdf
  20. ^ IBM 2301 Drum Storage, Columbia University Computing History
  21. ^ IBM 2305 product announcement
  22. ^ IBM (November 1980), Reference Manual for IBM 2835 Storage Control and IBM 2305 Fixed Head Storage Module (Fifth Edition ed.), GA26-1689-4 
  23. ^ The IBM 2321 Data Cell Drive, Columbia University Computing History
  24. ^ IBM System/360 Model 44 Functional Characteristics
  25. ^ [2]
  26. ^ IBM 360 display and Stanford Big Iron
  27. ^ 日本のコンピューター(情報処理学会コンピュータ博物館)
  28. ^ 大型・中型コンピュータ(KCGコンピュータ博物館)KCG Computer Museum

参考文献 編集

  • Emerson W. Pugh, Lyle R. Johnson, John H. Palmer, IBM's 360 and Early 370 Systems, Cambridge: MIT Press, 1991, ISBN 0-262-16123-0. This is the definitive reference work on the early history of the S/360 and early S/370 family.
  • IBM Corp (1964). IBM System/360 Principles of Operation. Poughkeepsie, NY: IBM Systems Reference Library, File No. S360-01, Form A22-6821-0.
  • M.キャンベル-ケリー、W.アスプレイ 著、山本菊男 訳 『コンピューター200年史 : 情報マシーン開発物語』 海文堂、1999年、ISBN 978-4-303-71430-7(旧ISBN 4-303-71430-5)

この記事は2008年11月1日以前にFree On-line Dictionary of Computingから取得した項目の資料を元に、GFDL バージョン1.3以降の「RELICENSING」(再ライセンス) 条件に基づいて組み込まれている。

関連項目 編集

外部リンク 編集

IBM Journal of Research and Development 編集

IBM Systems Journal 編集

その他 編集

IBMメインフレーム
シリーズ名 アーキテクチャ 主なモデル 主なOS 主な特徴
1952 701シリーズ - 701, 704, 709, 7090, 7040, 7094 - 科学技術計算用、真空管/トランジスタ
1953 702シリーズ - 702, 705, 7080 - 真空管/トランジスタ
1953 650シリーズ - 650, 7070, 7074, 7072 - 科学技術計算用、真空管/トランジスタ
1959 1401シリーズ - 1401, 1410, 1440, 7010, 1460 - 商用計算用、オールトランジスタ
1961 その他 - 305(RAMAC), 7030(Stretch) - ディスク装置(RAMAC)、マルチタスク(Stretch)
1964 System/360 S/360 20 - 195 OS/360, DOS/360, CP-67/CMS 汎用機アーキテクチャIC24ビットアドレッシング、仮想機械
1970 System/370 S/370 115 - 195 OS/VS(MVS), DOS/VS, VM/370 仮想記憶マルチプロセッサPPAR
1977 30x0, 4300, 9370 S/370, S/370-XA 303x/308x/3090, 43x1, 937x MVS/XA, DOS/VSE, VM/XA 31ビットアドレッシング・動的チャネルサブシステム(S/370-XA)
1990 ES/9000 S/390, ESA/390 9021, 9121, 9221 MVS/ESA, VSE/ESA, VM/ESA, AIX/ESA 64ビットデータ空間、拡張ストレージ(ES)、LPARESCONFICON
1994 S/390 ESA/390 9672/9674(G1 - G6), IBM Multiprise 2000/3000 OS/390, VSE/ESA, VM/ESA, Linux CMOS, 並列シスプレックス, UNIX互換環境(OS/390 USS)、Linuxサポート
2000 eServer zSeries z/Architecture z800/z900, z890/z990 z/OS, z/VSE, z/VM, Linux 64ビットアドレッシング、IFL、zAAP、zIIP、IPv6
2005 System z z/Architecture z9, z10 z/OS, z/VSE, z/VM, Linux IRD
2010 zEnterprise z/Architecture z114/z196, z12 z/OS, z/VSE, z/VM, Linux ブレード拡張(POWER, x86)
2015 z System z/Architecture z13, LinuxOne (z13)z/OS, z/VSE, z/VM, Linux
(LinuxOne) Linux, z/VM
2017 IBM Z z/Architecture z14, LinuxOne II (z14)z/OS, z/VSE, z/VM, Linux
(LinuxOne) Linux, z/VM
暗号化zHyperLink
2019 IBM Z z/Architecture z15, LinuxOne III (z15)z/OS, z/VSE, z/VM, Linux
(LinuxOne) Linux, z/VM
全方位型暗号化技術、Data Privacy Passports、OpenShift
2022 IBM Z z/Architecture z16 (z16)z/OS, z/VSE, z/VM, Linux IBM Telumプロセッサー、オンチップのAIアクセラレーター、耐量子暗号