The System/38 is a discontinued minicomputer and midrange computer manufactured and sold by

IBM. The system was announced in 1978. The System/38 has 48-bit addressing, which was unique for the time, and a novel integrated database system. It was oriented toward a multi-user system environment. At the time, the typical system handled from a dozen to several dozen terminals. Although the System/38 failed to displace the systems it was intended to replace, its architecture served as the basis of the much more successful IBM AS/400. It had been developed over eight years by IBM's laboratory in Rochester, Minnesota. The president of IBM's General Systems Division (GSD) said at the time: "The System/38 is the largest program we've ever introduced in GSD and it is one of the top three or four largest programs ever introduced in IBM."

The system was designed as a follow-on for the System/3,

Processing unit

The system includes a central processing unit with 512K, 768K, 1024K, 1280K, or 1536K bytes of main storage. The processor is implemented across twenty-nine Schottky TTL LSI chips mounted on a 10x15" circuit board.

Unlike some other virtual-machine architectures in which the virtual instructions are interpreted at runtime (see P-code machine), MI 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 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 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.

The TIMI (Technology Independent Machine Interface) of OS/400 is a backwards compatible extension of the System/38 MI. 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 term microcode was used to cover a wide array of low-level code, ranging from traditional microcode, up to functionality typically associated with the kernels of other operating systems, as well as the implementation of the integrated database. There were two levels of microcode in the System/38:

  • Horizontal Microcode (HMC), which implemented a register-memory/memory-memory instruction set architecture known as the internal microprogramming (IMP) instruction set Certain low-level and performance sensitive functionality such as task (i.e. process) scheduling and message passing were implemented directly in microcode as part of the Horizontal Microcode. The Horizontal Microcode resided in control store; it corresponded to traditional microcode.
  • Vertical Microcode (VMC), which implemented the Machine Interface in terms of the IMPI architecture; this was implemented by translating MI code into IMPI code and executing it. It also implemented the integrated database, and other components of the operating system which could not be implemented in terms of MI instructions. This was implemented using a mixture of PL/MP and IMPI assembly. Early AS/400 systems inherited the System/38 microcode structure, but the term microcode was dropped, leading IBM to rename the layers to the Vertical Licensed Internal Code and Horizontal Licensed Internal Code.

Control Program Facility

The operating system of the System/38 is the Control Program Facility (CPF). CPF is not related to the System Support Program operating system of the IBM System/34 and System/36. CPF objects are files, programs, message queues, user profiles, and libraries. While CPF is considered to be the operating system of the System/38, it sits on top of the System/38 Machine Interface layer, and consequently much of the traditional operating system functionality of the platform is implemented in the Horizontal and Vertical Microcode. S/38 programs with 'observability' intact, that is source code embedded within the compiled binary executive at the expense of larger compiled object sizes, can still run on the AS/400 and successor systems as the restore option incorporates a recompile for the then back-version source. However, most proprietary vendor application libraries of objects were compiled without such 'observability' and require original vendor replacement and consequent expense when upgrading to an AS/400. Pricing at the time was tiered, the same exact software, but priced based upon the model, its speed and capacity, of the system to be installed upon.

Sales

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 a System/34 to a S/38. IBM tacitly acknowledged this by bringing out the System/36 – an upgraded System/34 – after the launch of the S/38. Although the System/38 did not sell in large numbers, it commanded a higher profit margin than IBM's other midrange systems, and thus was a profitable product line for IBM. IBM's counter to this, the 9370, was a commercial failure, and at that time, The New York Times wrote, sales of the System/36 and System/38 were "lagging."

References

Further reading