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 のオペレーティングシステム (OS) は **CPF** (Control Program Facility) である。CPFはSystem/34やSystem/36のOSである**SSP** (System Support Program) とは無関係である。

サポートするプログラミング言語としては**[[RPG (プログラム言語)|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は水平マイクロコードによって実現され、ソフトウェアは中間コード（バイトコード）により配布され、インストール時に最適化される。後のJava仮想マシンのような一種の仮想マシンであるが、ソフトウェアでインタプリトする仮想マシンに比べ、性能を犠牲にしていない。

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, *[http://doi.acm.org/10.1145/800053.801932 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 *[http://portal.acm.org/citation.cfm?id=800052.801885 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