IBM 3270(あいびーえむさんにーななまる、3270端末、さんにーななまるたんまつ)とは、IBMメインフレームとやり取りを行う、1972年に生まれたコンピュータターミナルの表示装置サブシステムであり、IBM 2260端末の後継機である。1980~1990年代にかけて、IBMのホストコンピューターへの入力、そこからの出力はおもにこの表示装置を通して行なわれて、日本を含めた全世界の企業で広く使われた。また、このサブシステムの一部は日本で開発されている。

それまでよく使われてきた シリアルASCII端末機 と違って、3270 は、データストリーム として知られる大きなデータ・ブロックを受け入れ可能とすることで、必要なI/O の割り込みの数を最小にする。また、専用の高速通信インターフェースを使う。

IBM は、何年も前にパンチカードやターミナルの製造を止めている。しかし IBM 3270 プロトコルは、メインフレームにアクセスするいくつかのアプリケーションソフトウェアに、エミュレートされて広く使い続けられている。時につれて徐々に 3270 は使われなくなってきているが、また、メインフレームで動くアプリケーションで Web インターフェースを持つものが増えてきているが、いくつかのシチュエーション、たとえば コールセンター などで、“グリーンスクリーン”3270 インターフェースは、いまも最も生産的で有効なインターフェースである。

## 原理

データストリームにおいて、テキストとコントロール(または、フォーマッティング機能)は画面に散在していて、1つのオペレーションで画面全体を“塗り替える”ことを許容する。これらのデバイスの“フォーマッティング”というコンセプトは、画面を隣接する文字のセルのクラスター(色、輝度、文字セット、書き換え・入力不可の指定など、たくさんの属性をセットとして含む)に分割することを許容する。

さらに、“Read Modified”として知られるテクニックによって、変更を受けた(入力があった)複数のフォーマットフィールドの変更を、他のいかなるデータの転送をともなわず、1つのインプットとして読み込むことが出来る。このことは、文字割り込みドリブン (character interrupt-driven) なターミナルインターフェースに慣れているユーザーにとっては、奇異な感じがするかもしれない。けれども、大部分の Web インターフェースは、いくつかの理由から Read Modified と同様の方法となっている。また、ターミナル CPU の処理能力増強という改善も行われた。

最初の 3270 は、PFキー (Programmed Function Key) を持たなかった。後に 12個の、さらに 24個のPFキーと、3つの PAキー (Program Attention Key) をキーボードの上から1行目か2行目に装備した。それらのキーは押されると、“コントロールユニット”(歴史的には IBM 3274 か IBM 3174 が使われた)に I/O 割り込みを発生させ、そのキー固有のコードを実行させた。ターミネーションやページアップ、ページダウン、ヘルプなどのアプリケーションプログラムの機能が1つのキー押下で呼び出され、それによってプロセッサへのロードを減少させる。

このようにして、キー入力の1つ1つまでを CPU が担当することがなくなり、16MB しかメモリを持たない初期の 3033 メインフレームコンピュータは、CICS の下で、17500台 の 3270 端末をサポートした。一方、3270 は Vi のような振る舞いは出来ない。同じ理由から、Lotus 1-2-3 のメインフレームの 3279 画面への移植は成功しなかった。移植を試みたプログラマ達は、スプレッドシートのユーザーインターフェースを 3279 画面へ適合させることは出来なかった。スプレッドシートのものは“screen at a time”のものであって、“character at a time”のデバイスに馴染まなかった。これとは対照的に、IBM OfficeVision のオフィスソフトウェアは、3270 との連携に大きな成功を成し遂げた。なぜならそのデザインはよく理解され、また何年にもわたって、PROFS/ODPS カレンダーは世界中のオフィス端末のディスプレイ画面で最も使われた製品だったからである。

上述に言及するなら、Web(と HTTP)は、3270 の方法によく似ている。端末(ブラウザ)はユーザーの入力と画面の表示により大きな役割・責任を与えられ、サーバ側で情報の検索や処理を行っている間、端末とホストとのやりとりについてのホスト(サーバ)側の負荷を最小にする方法が同じだからである。実際、そんなに昔ではない以前、3270 端末はダム端末と比べてスマートで、プログラマブルで、インテリジェントであると理解されていた。

## モデル

IBM 3270表示端末機サブシステムは、表示装置、プリンター、制御装置で構成されている。大まかに言って4つのステージで各種モデルが発表されて、その約9か月後にそれぞれ市場投入されている。

- 1971年、3271/3271制御装置、3277表示装置、3284プリンターからなる最初の基本的なサブシステム
- 1977年、3276表示・制御装置、3278表示装置からなるサブシステム機能の大幅拡張
- 1979年、3279カラ―・テキスト/カラー・グラフィックス表示装置、3287カラー・プリンター
- 1983/84年、3178低価格表示装置、3179低価格カラー・テキスト表示装置

### 表示装置

- 3277 model 1 : 16×40 terminal
- 3277 model 2 : 24×80 terminal, the biggest success of all
- 3277 model 3 : 32×80 terminal
- 3277 GA : a 3277 with a RS232C I/O, often used to drive a Tektronix 4013 or 4015 graphic screen (1024×768, monochrome)
- 3278 models 3,4,5 : next-generation, with accented characters and dead keys in countries that needed them
  - model 2 : 24×80
  - model 3 : 32×80
  - model 4 : 43×80
  - model 5 : 27×132 or 24×80 (switchable)
- 3278 PS : programmable characters; able to display monochrome graphics
- 3279 : color terminal, 4-color (text) or 7-color (graphics) version
- 3178 : lower cost terminal (1983)
- 3179 : low cost color terminal (1984)

3270 terminal emulation を含む 3270 PC と呼ばれた IBM PC のバージョンが、1983年9月にリリースされた。後に、PC/G (graphics) および PC/GX (extended graphics) が追加された。

### 表示・制御装置

- 3276 表示・制御装置(リモート制御装置であり表示装置でもあり、6台までの表示装置を追加制御可能)

### プリンター

- 3284
- 3287 カラープリンター
- 3288 ラインプリンター

### 制御装置

- 3271 リモート制御装置
- 3272 ローカル制御装置

## 開発と製造

IBM 3270表示端末機サブシステムのアーキテクチャーと開発は、おもに米国IBMキングストン開発研究所(ニューヨーク州)で行なわれた。(この研究所は、1990年代中ごろのIBMの困難な時期に閉鎖されている。)プリンターはエンディコット開発研究所(同州)で開発された。サブシステムの拡張に伴って、日本のIBM藤沢開発研究所(のちに大和開発研究所)が3276表示・制御装置、3178表示装置、3179カラー表示装置を開発し、英国のIBMハーズレー開発研究所が3279カラー表示装置、3287カラープリンターを開発した。製造はおもにキングストンで米国・アジア・オセアニア向けがおこなわれ、エンディコットでプリンターを、英国・スコットランドのグリーノックでヨーロッパ向けが行なわれた。

## Telnet 3270

TN3270 は、3270 端末エミュレータ に、TCP/IP ネットワークでのコミュニケーションを可能にする Telnet プロトコルの修正版である(※TCP/IP に対して、SNA がある)。最も標準的な telnet クライアントは TN3270 クライアント の代わりとしては使用できない。両者はプロトコルとエスケープシーケンスに大きな違いを持つからである。

### 知られている TN3270 クライアント

- IBM Host On-Demand and Personal Communications
- Attachmate EXTRA!
- QWS3270
- Rumba
- Reflection
- EXTES

## 参照

- List of IBM products
- IBM 5250表示装置(IBMAS/400接続用)
- IBM 2260表示装置 (IBM 3270の前身)