System/38

System/38
System/38 のコンソール
System/38 は、IBMが1979年にリリースしたオフィスコンピュータであり、AS/400の前身である。IBM の技術者フランク・ソルティスがいくつかの革新的機能を考案し、実装されている。

**歴史**
System/38 は 1978年に発表され、1979年8月に出荷開始された。System/34 の後継であるが、System/36 は後から登場した。コード名は "Eagle"。System/38 は中止された Future Systems プロジェクトから派生したものである。

**機能**
System/38 のアドレッシングは48ビットで、当時としては珍しい（アドレッシングが48ビットなのであり、いわゆる「48ビットCPU」なのでは無い）。
また、革新的なデータベース的ストレージ手法を備えている。System/38 のオペレーティングシステムは CPF（Control Program Facility）である。CPF は System/34 や System/36 のオペレーティングシステム SSP（System Support Program）とは無関係である。
サポートするプログラミング言語としては、RPG III、COBOL、BASIC、PL/I がある。JCL相当のスクリプト言語として CL（Control Language）がある。CL はシェルスクリプトに似ているが、コンパイルでき、実行ファイル化することができる。
System/38 は当時のハードウェアとしては極めて先進的であった。開発当初、当時としては巨大なOS（ディスク上で60MB）のオーバーヘッドに悪戦苦闘した。プロジェクトメンバーの1人が内部コード名を PACIFIC にしようと提案したこともあった。これは、"performance ain't critical if function is complete"（機能が完全なら性能は問題ではない）の頭字語である。数十年後、かつて考慮に値しないと評されたその同じソフトウェアが、企業や政府などの数千のシステムでうまく機能していた。

**単一レベル記憶**
System/38 とその後継シリーズは、単一レベル記憶（SLS）を使った、商用では初のシステムである。全ての主記憶装置と、磁気ディスク装置などの補助記憶装置が、単一の仮想アドレス空間にマッピングされる。
System/38 以外の多くのコンピュータでは、ディスク上に格納されるデータはファイルという論理的単位に分割して格納される。データをあるファイルに追加する場合、そのためのセクターが用意され、そのセクターがいっぱいになると新たなセクターが使われる。System/38 では、データは個別に格納され、システムのどこに置かれてもよい。ファイルという概念はなく、OSがストレージ上の全データを管理する。

**TIMI**
System/38 とその後継シリーズは、TIMI（Technology Independent Machine Interface）によって、アプリケーションソフトウェアやOSの大部分を、ハードウェアに依存しない実装にしている（System/38 では 単に MI、Machine Interface と呼んでいた）。TIMIは水平マイクロコードによって実現され、ソフトウェアは中間コード（バイトコード）により配布され、インストール時に最適化される。後のJavaVMのような一種の仮想機械であるが、ソフトウェアでインタプリトする仮想機械に比べ、性能を犠牲にしていない。
System/38 の後継である AS/400 は、途中でCPUを独自CISCから、アーキテクチャの異なるRISCのPOWERに変更したが、TIMIの効果でユーザーにはほとんど意識されることは無かった。

**ハードウェアRDBMS**
System/38 とその後継シリーズは、商用では初めてRDBMSをハードウェア（マイクロコード）に実装したシステムでもある。外見上はOSの標準機能としてRDBMS機能があるように見えるが、内部的にはハードウェアに標準でRDBMSが付属しており、極めて高速・高信頼性である。
このため System/38 とその後継シリーズは、簡単に使用できる本格的RDBMSシステムとして広く使われた。なおマーケティング上の理由で、この RDBMS は AS/400 の時代に DB2/400 、DB2 for OS/400 などとDB2ファミリーのブランドとなったが、実際にはミドルウェア・ソフトウェアで実現しているのではなく、ベース部分はハードウェアの標準機能として実現されている。

**その他の特徴**
System/38 は商用では珍しい capability-based addressing を採用している。なお、その手法は AS/400 や System i といった後継シリーズには受け継がれていない。

**販売状況**
IBM は約2万台を5年間で販売した。よく売れた System/34 の後継として登場したが、アップグレードには困難が伴った。周辺機器や言語は似ていたものの、実際には細部がかなり異なっていた。このため、IBM は System/34 と互換性のある System/36 (OSはSSP)を後から発売することになった。
このため、IBM は互換性がなく相互にオーバーラップする3種類のプラットフォーム（System/34と36、System/38、System/360）を持つことになった。当時、DEC はこれを IBM の弱点と考え、1つのアーキテクチャで幅広い製品展開をしようとした（シングルアーキテクチャ）。IBM はこれに対抗して小型メインフレーム 4300シリーズ、更に9370シリーズをリリースしたが、あまり成功しなかった（ただし4300の専用OSであるVSEは、z/VSEとして今も続いている）。
System/38 （OSはCPF）の先進的な機能は AS/400 (OSはOS/400)に受け継がれた。AS/400 はその後 iSeries、さらに System i と改称され、2008年にはPower Systemsに統合された（iエディション。OSは IBM i）。

**脚注**

**参考文献**
R. L. Hoffman and F. G. Soltis. Hardware organization of the System/38, IBM System/38 Technical Developments (G58060237), 1980, 19-21.
*M. E. Houdek and G. R. Mitchell. Translating a large virtual address, IBM System/38 Technical Developments (G58060237), 1980, 22-24.
*Viktors Berstis,  Security and protection of data in the IBM System/38, Proceedings of the 7th annual symposium on Computer Architecture, p.245-252, May 06-08, 1980, La Baule, United States
*W. David Sincoskie, David J. Farber: SODS/OS: Distributed Operating System for the IBM Series/1. Operating Systems Review 14(3): 46-54 (July 1980)
*ME Houdek, FG Soltis, RL Hoffman  IBM System/38 support for capability-based addressing Proceedings of the 8th annual symposium on Computer,  Minneapolis, Minnesota, United States. pp. 341 - 348 (1981)- フランク・ソルティス (著) 、日本アイ・ビー・エム(株) AS/400製品事業部 (翻訳/監修) 、『Inside the AS/400 : featuring the AS/400e series : 日本語版 第2版』、インフォ・クリエイツ、1998年、ISBN 4-900741-88-4

**外部リンク**
 System/38 History- System/38 Glossary Reference- The IBM System/38