IBMメインフレーム

IBMメインフレームはIBMが製造販売するメインフレーム・コンピュータのこと。1952年のIBM 701に始まり、1964年のSystem/360とその後継の成功により大型コンピュータ市場の独占的存在となった。最新版のIBM zもSystem/360の後継である。
第一世代と第二世代.
1952年から1960年代後半にかけて、IBMは大型コンピュータのIBM 700/7000シリーズを販売した。第1世代の700シリーズで真空管が使われ、後期の第2世代の7000シリーズはトランジスタが使われた。IBMはこれらのマシンで電算処理EDP市場を独占した。IBMは2つのシリーズを持ち、701、704、709、7030、7090、7094、7040、7044のシリーズは工学および科学技術計算用で、702、705、705-II、705-III、7080、7070、7072、7074、7010のシリーズは事務処理またはデータ処理用だった。科学技術計算と事務処理の2つのカテゴリにおいて、周辺機器はいずれもほぼ共通だったが、命令セットは全く異なっており、同一カテゴリ内でも互換性がなかった。 
当初IBMはユーザがプログラムを自分で書くことを前提としており、ソフトウェアを添付せずに販売していた。プログラムは1命令ずつ手動で登録していた。その後IBMは新規に開発したFORTRANやなど高水準プログラミング言語のコンパイラを提供し、続けてCOBOLを提供した。IBMコンピュータ用の最初のオペレーティングシステム(OS)は、1950年代当時の相場で200万ドルもした非常に高価なマシンをアイドル状態にしたままオペレータが手動でジョブをセットアップするのをもったいないと考えたIBMの顧客が書いた。当時の初期のOSは基本的に予約した作業を順次実行するキューだった。実際に業務で使われた最初のOSはゼネラルモーターズの研究開発部門が1956年に開発したGM-NAA I/Oだと考えられている。IBMはGM-NAA I/Oの派生版の1つであるSHARE OSをベースに発展させたOSをIBSYSという名前で顧客に提供した。ソフトウェアがより複雑になり、その重要性が高まるにつれ、様々なバリエーションのハードをサポートすることが負担になってきたことから、IBMはSystem/360とそのOSを開発することにした。 
第2世代のトランジスタベースの製品はIBMのビジネスの主力製品となり、IBMはSystem/360を販売開始後数年間製造し続けた(一部のIBM 7094シリーズは1980年代まで使用された)。 
小型機.
System/360より前にもIBMはメインフレームに分類されない小型コンピュータを販売していたが、小型とはいえ当時はまだ大きくて高価だった。このカテゴリには以下のような製品があった。 
小型機を使う顧客にメインフレームへ買い替えてもらうことは、ソフトウェアの書き直しが必要になるため非常に困難だった。7010はメインフレームサイズの1410として1962年に発売された。その後に発売されたSystem/360と370は1400機をエミュレートできた。机サイズで命令セットが異なるIBM 1130は、1620が独占している特定のニッチな市場に対応するため、System/360と並行して販売された。文字エンコードには360と同じEBCDICが使われ、ほとんどのプログラムがFORTRANで書かれていたため、プログラムを大型機に移植することが比較的やりやすかった。 
ミッドレンジ機はIBMではメインフレームとマイクロコンピュータの中間にあたるコンピュータシステムのカテゴリを指している。 
IBM System/360.
1964年4月にSystem/360 (S/360)が発表されて世界が変わった。System/360は事務計算と科学技術計算の両方に対応可能な共通モデルだった。「360」という数字は、「360度」で「オールラウンド」なコンピュータシステムであるということを意味していた。System/360には、事務計算用機にしかなかった10進算術演算やバイトアドレッシングなどの機能と、科学技術計算用機にしかなかった浮動小数点演算などの機能が両方とも備わっていた。System/360の一部のモデルでは算術演算機能やバイトアドレッシングなどの機能はオプションだった。ただし上位モデルには上位互換性があり、ほとんどの下位モデルにも下位互換性があった。またSystem/360はOSのために初めてハードの仕様を統一したコンピュータでもあった。これらのマシンでは、プログラムや命令にはスーパーバイザーモードとアプリケーションモードがあり、メモリ保護機能が備わっていた。ハードウェアによるメモリ保護機能はOSをユーザプログラム(タスク)から保護し、タスクが他のタスクに影響を与えることがないようにした。また新機種は旧機種よりも広いアドレス空間を持っており、当時は36ビットのワードに18ビットのアドレス(約1MB)が普通であったのに対し、8ビットのワードに24ビットのアドレス(16MB)が利用できた。 
System/360シリーズの小型モデル(360/30など)は1400シリーズからのアップグレードを想定したもので、さらに360の大型モデルへのアップグレードが簡単にできた。第2世代機から新世代機への移行をスムーズに進めるため、IBMは360のマイクロプログラミング機能を使って人気の旧機種をエミュレートした。これにより360/30シリーズは追加費用を払うことで1401用のプログラムを実行でき、さらに大型の360/65シリーズは7094用のプログラムを実行できた。旧機種用のプログラムを実行するには360を一度停止してエミュレーションモードで再起動する必要があった。多くのユーザは古いプログラムを使い続けており、後に販売されたSystem/370ではOS上からエミュレーションモードの切り替えが可能になった。 
System/360ファミリーのOSにはOS/360 (PCP、MFT、MVTを含む)、BOS/360、TOS/360、DOS/360などがあった。 
その後System/360はSystem/370、System/390、64ビット機のzSeries、System z、zEnterpriseなどのマシンに進化した。System/370は、最初に販売されたSystem/370のモデルを除き、全モデルに仮想メモリ機能が搭載されていた。OS/360 MFTの派生版であるOS/VS1、OS/360 MVTの派生版であるOS/VS2 (SVS)、DOS/360の派生版であるDOS/VSに仮想メモリ機能が搭載された。それまでのOSに搭載された初期の仮想メモリ機能は、全てのプログラムが1つの仮想メモリ空間を共有するもので、その後に開発されたMVSでは各プログラムが別々のアドレス空間を持つようになった。仮想メモリ機能が搭載されたことにより、OSは仮想マシンをサポートすることもできるようになった。VM/370ハイパーバイザーは標準版のSystem/360やSystem/370、シングルーユーザの対話型モニターシステム (CMS)などの複数のOSを実行できた。タイムシェアリングVMシステムではユーザごとに別の仮想マシンを実行でき、各仮想マシンはCMSのインスタンスを実行した。 
今日のシステム.
2000年にz900として発売されたzSeriesファミリーは、IBMが新たに設計した64ビットのz/Architectureが搭載された。 
プロセッサユニット.
下記はIBMメインフレームに搭載されるプロセッサの一覧である。 
これらのプロセッサは中身は同じであるがライセンスに区別がある。CP以外は任意のOSで走らせることができないなどの軽い制約があり、ソフトウェアのライセンスは通常CPの数でカウントするため、CP以外のプロセッサを用いることでカウントに含めないようにできる。通常はメインフレームの中にある、暗号化アクセラレータ（CryptoExpress)、OSA-Expressネットワークプロセッサ、FICON ExpressディスクI/Oプロセッサなどのサポートプロセッサもある。 
Neon Enterprise Softwareが販売したzPrimeは主なプログラムをzIIPやzAAPで実行できる許可をユーザに与えることができるソフトウェアで、IBMに提訴されて2011年に販売を中止した。 
オペレーティングシステム.
IBMメインフレームで使用できる主なOSには、z/OS (OS/360系列のMVS/ESAやOS/390の後継)、z/VM (CP-40のVM/ESAやVM/XAの後継)、 z/VSE (DOS/360の後継)、z/TPF (航空管理プログラムの後継)、Linux on IBM Z (SUSE Linux Enterprise Serverなど)がある。一部のシステムではMUSIC/SPやUTS (Mainframe UNIX)が動作する。2008年10月にSine Nomine AssociatesがOpenSolaris on System zを発表した。 
ミドルウェア.
IBMメインフレームでは、CICS、IMS、WebSphere Application Server、DB2、Oracleなど、すべての主なエンタープライズトランザクション処理環境とデータベースが動作する。これらのソフトウェアサブシステムはほとんどの場合で、複数のメインフレームOSで同時に実行できる。 
エミュレータ.
System/370、System/390、System zのソフトエミュレーターが存在しており、UnixWareやLinuxで動作するFLEX-ESや、Linux、FreeBSD、Solaris、macOS、Microsoft Windowsで動作する無料のHerculesなどがある。IBMはx86-64機用のLinuxで動作するzPDT (System z Personal Development Tool)と呼ばれるエミュレーターを提供している。