IBM System/38

From Wikipedia, the free encyclopedia
  (Redirected from System/38)
Jump to: navigation, search
IBM System 38

The System/38 was a midrange computer server platform manufactured and sold by the IBM Corporation. The system offered a number of innovative features, and was the brainchild of IBM engineer Dr. Frank Soltis. Developed under the code-name "Pacific", the System/38 was commercially available in August 1979.


The System/38 was a descendant of the abandoned IBM Future Systems project, which had been designed as the replacement for the System/360 and System/370 mainframe architectures. The midrange predecessors to the System/38 included the System/3, System/32, and System/34. The System/38 offered more capacity than the previous System/34. Somewhat confusingly, the System/38 chronologically preceded the System/36, which was a successor to the System/34.

The System/38 was superseded by the AS/400 (which also supported System/36 data & programs, at least to some extent). The AS/400 evolved into the iSeries, which in turn evolved into the System i. The System/38 legacy lives on in the enterprise-class IBM Power Systems server which superseded System i in 2008.


The System/38 had 48-bit addressing, which was unique for the time, and a novel integrated database system. The operating system of the System/38 was called CPF, for "Control Program Facility" CPF is not related to SSP, the operating system of the IBM System/34 and System/36.

The System/38 also had security built in as part of its architecture. Each object or library could have access controlled on a user-by-user basis. This has been continued and expanded throughout the AS/400 and iSeries computer lines.

Languages supported on the System/38 included RPG III, COBOL, BASIC, and PL/I. The operational control language of the System/38 was called CL, for "Control Language". CL programs, similar in concept to shell scripts, could be compiled and executed natively.

Data storage[edit]

In most computers prior to the System/38, and most modern ones, data stored on disk was stored in separate logical files. When data was added to a file it was written in the sector dedicated to this, or if the sector was full, on a new sector somewhere else. In the case of the S/38, every piece of data was stored separately and could be put anywhere on the system. There was no such thing as a physically contiguous file on disk, and the operating system managed the storage and recall of all data elements.


In hindsight, the System/38's architecture was probably too demanding of the hardware of the era. When first launched, it struggled under the overhead of the software and operating system, which consumed almost 60 MB on disk, a vast sum at the time, leading some wags to suggest that the pre-announce code name for the series, PACIFIC, was actually an acronym meaning "Performance Ain't Critical If Function Is Complete." Decades later, the same software, originally dismissed by some critics[who?] as a momentary aberration, runs better than ever on many thousands of modern systems[which?] within commercial and government enterprises of all types and sizes.[citation needed]


System/38 and its descendants are unique in being the only existing commercial[citation needed] computers with capability-based addressing. (The earlier Plessey 250 was one of the few other computers with capability architecture ever sold commercially). Capability-based addressing was removed in the follow-on AS/400 and iSeries models.[1]

Additionally, the System/38 and its descendants are the only commercial computers ever to use a machine interface architecture to isolate the application software and most of the operating system from hardware dependencies, including such details as address size and register size. Compilers for System/38 and its successors generate code in a high-level instruction set (originally called MI for "Machine Interface", and renamed TIMI for "Technology Independent Machine Interface" for AS/400). MI/TIMI is a virtual instruction set; it is not the instruction set of the underlying CPU. Unlike some other virtual-machine architectures in which the virtual instructions are interpreted at runtime, MI/TIMI instructions are never interpreted. They constitute an intermediate compile time step and are translated into the processor's instruction set as the final compilation step. The MI/TIMI instructions are stored within the final program object, in addition to the executable machine instructions. If a program is moved from a processor with one native instruction set to a processor with another native instruction set, the MI/TIMI instructions will be re-translated into the native instruction set of the new machine before the program is executed for the first time on the new machine. As a result, it is possible for a program originally developed on a System/38 to run on current IBM i hardware without ever being recompiled.

The System/38 also has the distinction of being the first commercially available IBM Midrange computer to have a RDBMS integrated into the operating system.


The System/38 was nearly called the System/380, and the AS/400 was nearly called the System/40.


IBM sold an estimated 20,000 System/38s within the first five years of availability, according to articles published in industry magazines NEWS 34/38 and Midrange Computing. Although billed as a minicomputer, the S/38 was much more expensive than IBM's established best-selling System/34, and its replacement, the System/36. Of equal importance was the difficulty of upgrading from, say, a System/34 to a S/38. Although the machines had some similarities, such as twinax peripherals and RPG programming languages, in reality they were very different. IBM tacitly acknowledged this by bringing out the System/36 – an upgraded System/34 – after the launch of the S/38.

In the marketplace, IBM thus found itself with three overlapping, but incompatible, ranges. The System/34/36, the System/38 and the mainframe /360 architecture (that the System/38 was originally designed to replace). Digital Equipment Corporation, at that time one of IBM's main competitors, was able to exploit this by offering a wide range of products based on a single architecture. IBM's counter to this, the 9370 or 'baby mainframe', was a commercial failure.

The S/38's advanced operating system lives on with IBM's AS/400. Realising the importance of the thousands of lines of 'legacy code' (programs) written, 'AS' stands for 'Application System'. Great efforts were made by IBM to enable programs originally written for the System/34 and /36 to be moved to the AS/400. The AS/400 was replaced by the iSeries, which was subsequently replaced by the System i. In 2008, the System i was replaced by the IBM Power Systems. By contrast, competing proprietary computing architectures from the early 1980s such as Digital's VAX,[citation needed] Wang VS and Hewlett Packard's HP3000 have long been discontinued without a compatible upgrade path.

See also[edit]


  1. ^ Soltis, Frank G, Fortress Rochester: The Inside Story of the IBM ISeries, Google Books, p. 119 .

External links[edit]

Further reading[edit]

  • Soltis, G; Hoffman, RL (Spring 1979), "Design Considerations for the IBM System/38", Compcon (proceedings), IEEE, pp. 132–37 .
  • System/38 Technical Developments, IBM Product Design and Development, General Systems Division, 1980 [1978], ISBN 0-933186-03-7, G580-0237-1 .
  • Henry, GG (1980), Introduction to IBM System/38 Architecture, System/38 Technical Developments, IBM, pp. 3–6, G58060237 .
  • Berglund, NC (1980), Processor Development in the LSI Environment, System/38 Technical Developments, IBM, pp. 7–10, G58060237 .
  • Curtis, HW (1980), Integrated circuit design, production, and packaging for System/38, System/38 Technical Developments, IBM, pp. 11–15, G58060237 .
  • Donofrio, MN; Flur, B; Schnadt, RT (1980), Memory design/technology for System/38, System/38 Technical Developments, IBM, pp. 16–18, G58060237 .
  • Hoffman, RL; Soltis, FG (1980), Hardware organization of the System/38, System/38 Technical Developments, IBM, pp. 19–21, G58060237 .
  • Houdek, ME; Mitchell, GR (1980), Translating a large virtual address, System/38 Technical Developments, IBM, pp. 22–24, G58060237 .
  • Lewis, DO; Reed, JW; Robinson, TS (1980), System/38 I/O structure, System/38 Technical Developments, IBM, pp. 25–27, G58060237 .
  • Dumstorff, EF (1980), Application of a microprocessor for I/O control, System/38 Technical Developments, IBM, pp. 28–31, G58060237 .
  • Roellinger, Jr, FX; Horn, DJ (1980), Microprocessor-based communications subsystem, System/38 Technical Developments, IBM, pp. 32–35, G58060237 .
  • Berstis, Viktors (May 6–8, 1980), "Security and protection of data in the IBM System/38", 7th Annual symposium on Computer Architecture (proceedings), La Baule, US: ACM, pp. 245–52 .
  • Sincoskie, W David; Farber, David ‘Dave’ J (July 1980), "SODS/OS: Distributed Operating System for the IBM Series/1", Operating Systems Review 14 (3): 46–54, doi:10.1145/850697.850704 .
  • Houdek, ME; Soltis, FG; Hoffman, RL (1981), "IBM System/38 support for capability-based addressing", 8th annual symposium on Computer (proceedings), Minneapolis, MN, US, pp. 341–48 .
  • Soltis, Frank G (September 1981), "Design of a Small Business Data Processing System", Computer (IEEE): 77–93 .
  • Phuc, Nguen Hoan; Becker, M; Sevray, P (1983), "Performance Comparison Between B*-Tree and Prefix Binary Tree Index Organizations", in Dean, SM; Hammersley, P, 2nd Int'l Conference on Databases (proceedings), Churchill College, Cambridge: Wiley Heyden .
  • Newman, M (1986), The Architecture of the IBM System/38. IBM Small and Medium Systems Infotech State of the Art Report, Oxford: Pergamon .