Transaction Processing Facility

z/TPF
開発元 IBM
最新版
V1.1 / 2004年10月
プラットフォーム z/ArchitectureSystem z等)
種別 オペレーティングシステム
ライセンス プロプライエタリ (IPLA)
公式サイト z/TPF
テンプレートを表示

Transaction Processing Facility (TPF) は、IBMメインフレーム用の、大容量トランザクション処理に特化したオペレーティングシステム (OS) である。

高い信頼性を持ち、1秒間に最大数万件のトランザクションを処理できるため、航空路管制や座席予約システム(CRS)など航空業界で多く利用される他、金融業界でも使われている。最新版はSystem z用のz/TPF V1.1である。

なお同じSystem zで稼動するz/OSz/VSEz/VMなどのOSとは、別物である。

IBMメインフレームOS
の歴史
初期
S/360初期
  • BOS/360 (1965年)
  • TOS/360 (1965年)
  • TSS/360 (1967年)
  • MTS (1967年)
  • ORVYL (1967年)
  • MUSIC/SP (1972年)
  • OS/360 (1966年)
    • PCP (1966年)
    • MFT (1966年)
      • MFT II (1968年)
    • MVT (1967年)
      • 65MP
  • OS/VS1 (1972年)
    • OS/VS1 BPE (1972年)
  • OS/VS2 R1 (SVS) (1972年)
  • MVS (OS/VS2 R2) (1974年)
    • MVS/SE (1978年)
    • MVS/SE 2 (1978年)
    • MVS/SP Version 1 (1980年)
    • MVS/XA (MVS/SP V2) (1983年)
    • MVS/ESA (1988年)
  • OS/390 (1995年)
  • z/OS (2000年)
  • DOS/360 (1966年)
  • DOS/VS (1972年)
  • DOS/VSE (1979年)
  • VSE/SP (1983、1985年)
  • VSE/ESA (1991年)
  • z/VSE (2005年)
VM系
  • CP-40/CMS (1967年)
  • CP-67/CMS (1967年)
  • VP/CSS (1968年)
  • VM/370 (1972年)
  • VM/BSE(BSEPP)
  • VM/SE (SEPP)
  • VM/SP (1980年)
  • VM/XA MA (1984年)
  • VM/XA SF (1985年)
  • VM/XA SP (1988年)
  • VM/ESA (1990年)
  • z/VM (2000年)
TPF系
  • ACP (1967年)
  • TPF (1979年)
  • z/TPF (2005年)
UNIX
  • UTS (1981年)
  • AIX/370 (1990年)
  • AIX/ESA (1991年)
  • EVS/ESA (1993年)
  • OS/390 UNIX System Service (1996年)
  • Linux on System z (1999年)
  • z/OS UNIX System Service (2001年)
  • OpenSolaris for System z (2008年)
関連項目

概要

SABREから発展し、1960年代中ごろIBMが欧米の主要な航空会社と共同で開発したAirlines Control Program (ACP)を起源とするOSである(ACPは無料)。1979年、IBMがACPの代替としてTPFを有料の製品として登場させた。その名称は従来よりも適用範囲が広いことを示唆している。

予約システムのユーザーとしては、SABRE、Holiday Inn、シンガポール航空KLMオランダ航空カンタス航空アムトラックマリオット・インターナショナル日本航空などがある。またVisa(認証システム)、CBOE(オプション取引の注文システム)、ニューヨーク市警察なども導入している。

TPFは、高速・大量・高スループットのトランザクション処理が可能で、大規模な広域ネットワークでのトランザクションを継続的に大量に処理する。大規模なTPFシステムで毎秒数万トランザクションを処理するのはたやすい。TPFは高信頼でもあり、いわゆる24×7の連続運用が可能である。TPFのユーザーがシステムとソフトウェアのアップグレードを行いつつ10年以上もオンライン処理を継続していることも珍しくない。IBMは類似のトランザクション処理システムとしてCICSIMSを持っているが、それらとの違いはTPFの大容量/同時ユーザー接続数/高速応答時間などの優位性である。

TPFにはPARSと呼ばれるアプリケーションがある。多くの航空会社はPARSまたは国際版の IPARS を座席予約システムに使用している。TPFは性能を重視したため 370アセンブリ言語で書かれており、アプリケーションもアセンブリ言語で書かれたものが多数存在する。しかし、最近のTPFはC言語を使うようになってきている。TPF 向けのプログラミング言語として SabreTalk というPL/Iの派生言語があった。TPFの主要コンポーネントはTPFDFと呼ばれる高性能データベースファシリティである。

TPFを採用しているサイトでは、トランザクション処理以外の用途で、他のIBMメインフレーム用オペレーティングシステム(z/OSz/VM)も使っていることが多い。逆にz/OS上でTPFから派生したトランザクション処理システムALCSを動作させる場合もある。IBMのパーティショニング技術により、これらのOSは1つのメインフレーム上に共存できる。

TPFのSystem z (z/Architecture)対応であるz/TPFは2005年に登場した。64ビットに対応しており、GCCコンパイラを含むGNUツールが使用可能となっている。

IBMのオープン対応により航空業界以外では入れ替えが進んでおり、JTBでは基幹システムであるTRIPSを2009年にSystem pへ移行した[1]

オペレーティング環境

密結合

TPF はマルチプロセッサでの動作が可能である。TPF のプログラムはリエントラントであるため、マルチプロセッサであっても全く問題なく動作する。立ち上がり時にメインのCPUが決定される。プログラムはAPIによって明示的に使用するCPUを指定される。z/TPFでは、CPUを指定しないで起動されたアプリケーションは負荷バランスを調整するようになっている。

TPFアーキテクチャでは、各CPUはメモリを共有するが、CPU毎の固有領域が4Kバイトずつ存在する。アプリケーションでCPU毎に固有のメモリ領域が必要な場合、各CPUに同サイズの領域を割り当てるようアプリケーションを設計する。例えば、この方式でTPFではCPU毎にユニークなグローバル変数をサポートしている。このような領域へのアクセスはベースアドレスに自動的にCPU番号に相当する値を加算することで行われる。

疎結合

TPFは複数台のメインフレームを共通のデータベースに接続したシステムでも動作する。TPFのデータベースは最大32台のメインフレームで共有可能である。最も単純な疎結合システムは、2台のメインフレームを1台のDASD (Direct Access Storage Device) に結合したものである。この場合、制御プログラムは各メインフレームに置かれ、どのメインフレームからも同じデータベースにアクセス可能である。

疎結合システムでアクセスをシリアライズするためレコードロックと呼ばれる手法が使われる。これは、レコードをあるプロセッサが保持している場合、他のプロセッサが同じレコードを保持しようとした際にそれらを待たせ、プロセッサ間で通信を行う方式である。密結合システムではレコードロックの状況を共有メモリ上に書いておけばよいので簡単だが、疎結合システムではDASD制御装置での追加の処理が必要となる。歴史的にはこの機能はRPQ(個別対応)とされていた。そのため、RPQ対応されていないDASDでは、Coupling Facilityという別のレコードロック方式が使われている。

特徴

  • TPFはGUIを持たず、単純なCUIが使われる。従って、マウスもウィンドウもアイコンもない。
  • TPFにはコンパイラ、アセンブラ、テキストエディタといったものもない。TPF向けアプリケーション開発はz/OS上などで行われる。z/TPFではLinux上に開発環境がある。
  • TPFにはオンラインマニュアル等もないので、紙のマニュアルを読まなければならない。TPF用のIBM製コマンド群は "Z" で始まる名前が付いている。従って、ユーザーは一般に "Z" 以外で始まる名前をコマンドにつける。
  • TPFにはデバッグ機能がほとんどない。通常、z/VM上でTPFを動作させることが多いので、VMの持つトレース機能が利用できる。
  • TPFはトランザクションを含めたメッセージのやりとりを高速化するよう最適化されている。
  • TPFは高速化のため、メモリ上にプログラム全体をロードして実行する方式であった。このためかつてのTPF用プログラムは4Kバイトに制限されていた。z/TPFではC言語を使うようになったため、この制限はない(というよりも実際問題としてアセンブラ以外で4Kバイトにサイズを制限されてもほとんど何もできない)。

参照

  1. ^ 【事例編】JTB、基幹系プラットフォームを刷新 - 進化するITプラットフォーム Part8

外部リンク

  • z/TPF(英文)
  • TPF User Group (TPFユーザーグループ)
  • Blackbeard (Alternative TPF Homepage)
  • 日本IBM・プレスリリース 日本航空の航空券予約・発券システムをSystem zで更新(z/TPF V1.1 の世界初の採用事例)
  • 航空予約システムとその動向 斉藤謙一郎 2003年
  • リアルタイムオペレーティングシステムの一覧(英語版)
オープンソース
  • BeRTOS(英語版)
  • ChibiOS/RT
  • Contiki
  • eCos
  • ERIKA Enterprise(英語版)
  • FreeRTOS
  • Fuchsia
  • FunkOS(英語版)
  • µC/OS-II(英語版)
  • Nano-RK(英語版)
  • NuttX(英語版)
  • RIOT
  • RTAI
  • RTEMS
  • RTLinux(英語版)
  • RT-Thread
  • seL4
  • TI-RTOS(英語版)
  • TPF
  • TRON
  • Wombat OS(英語版)
  • Xenomai
  • Zephyr
  • プロプライエタリ
    歴史的
    • カテゴリカテゴリ:リアルタイムオペレーティングシステム