IBM System/38

The System/38 was a minicomputer and midrange computer server platform manufactured and sold by the IBM Corporation. IBM announced the System/38 in 1978.[1] The System/38 had 48-bit addressing, which was unique for the time, and a novel integrated database system. It was oriented toward a multi-user system environment. The typical system handled from a dozen to several dozen terminals.


The System/38 was introduced on October 24, 1978 and delivered in 1980. Developed under the code-name "Pacific", it was made commercially available in August 1979. The system offered a number of innovative features, and was the brainchild of Frank Soltis and Glenn Henry. It had been developed over eight years by IBM's laboratory in Rochester, Minnesota.[2] 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."[3] The System/38 was nearly called the System/380, and the AS/400 was nearly called the System/40.

The system was designed as a follow-on for the System/3,[3] but it was not compatible with those computers. The predecessors to the System/38 were the System/3 (1969), System/32 (1975), and System/34 (1977). In 1983 the System/36 was released as a low-end business computer for users who found the System/38 too expensive for their needs. The System/38 was succeeded by the AS/400 midrange computer family in 1988. The AS/400 was designed for OS/400 (today's IBM i). Later, the AS/400 line switched from its earlier System/38-like processors to PowerPC-based processors. It subsequently merged with the IBM RS/6000 family, designed to run AIX, into a single family of server computers–the IBM Power Systems, capable of running either IBM i, AIX, or Linux.

Hardware characteristics

The IBM 5381 System Unit contained processor, main memory, disk storage, a diskette magazine drive, and a system console with keyboard and a display. 5381 was available in Model 100 and Model 200.

The IBM 5382 System Unit was physically identical to 5381, but had more powerful processors, more memory, and more disk storage. 5382 was available in Models 300, 400, 500, 600, and 700.

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."

Processing unit

The system included a central processing unit with 512K, 768K, 1024K, 1280K, or 1536K bytes of main storage, It included a memory management unit supporting demand paging, used by the system software to implement a single-level store architecture.

System console keyboard/display

The System/38 console included a keyboard and a display screen with 16 lines of 64 characters, which was inconsistent with the locally attached 5250 terminals, which were either 12x40 or 24x80, depending on model. The keyboard was used by the system operator when entering Control Language commands.

Diskette magazine drive

The diskette magazine drive was standard on all models.

Control Program Facility

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. CPF objects are files, programs, message queues, user profiles, and libraries.

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

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.

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.

Technology independence

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 (see P-code machine), 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. This capability allowed the AS/400 to migrate from CISC (Complex Instruction Set Computer) to RISC (Reduced Instruction Set Computer) in the 1990s. If the MI/TIMI instructions existed in a compiled program, a relatively simple re-translation created a new program native to the new hardware.

Distributed Data Management

In 1986, System/38 announced support for Distributed Data Management Architecture (DDM). Such a middleware in the context of a distributed system is the software layer that lies between the operating system and applications. Distributed Data Management Architecture defines an environment for sharing data. This enabled System/38 programs to create, manage, and access record-oriented files on remote System/36, System/38, and IBM mainframe systems running CICS. It also allowed programs on remote System/36 and System/38 computers to create, manage, and access files of a System/38.

Programming languages

Languages supported on the System/38 included RPG III, COBOL, BASIC, and PL/I.


Decades later, the same software, originally dismissed by some critics as a momentary aberration, runs better than ever on many thousands of modern iSeries and IBM/i systems within commercial and government enterprises of all types and sizes.

Successor system

The System/38 was superseded by the AS/400 (which also supported System/36 data & programs, to a fairly large extent, with some exceptions). The AS/400 was primarily a re-marketing of the System/38, with some updates to the operating system, including the luxurious non-trivial expansion of source and object names from 8 to a new 10 characters maximum. 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 required 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.


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.


Further reading

  • Levy, Henry M. (1984). "The IBM System/38" (PDF). Capability-Based Computer Systems. Digital Press. ISBN 0-932376-22-3.
  • Soltis, Frank G.; Hoffman, RL (Spring 1979). Design Considerations for the IBM System/38. Compcon. IEEE. pp. 132–37.
  • IBM System/38 Technical Developments (PDF). IBM Product Design and Development, General Systems Division. 1980 [1978]. ISBN 0-933186-03-7. G580-0237-1.
    • Henry, GG (1980) [1978]. "Introduction to IBM System/38 Architecture". IBM System/38 Technical Developments (PDF). IBM Product Design and Development, General Systems Division. pp. 3–6. ISBN 0-933186-03-7. G580-0237-1.
    • Berglund, NC (1980) [1978]. "Processor Development in the LSI Environment". IBM System/38 Technical Developments (PDF). IBM Product Design and Development, General Systems Division. pp. 7–10. ISBN 0-933186-03-7. G580-0237-1.
    • Curtis, HW (1980) [1978]. "Integrated circuit design, production, and packaging for System/38". IBM System/38 Technical Developments (PDF). IBM Product Design and Development, General Systems Division. pp. 11–15. ISBN 0-933186-03-7. G580-0237-1.
    • Donofrio, MN; Flur, B; Schnadt, RT (1980) [1978]. "Memory design/technology for System/38". IBM System/38 Technical Developments (PDF). IBM Product Design and Development, General Systems Division. pp. 16–18. ISBN 0-933186-03-7. G580-0237-1.
    • Hoffman, RL; Soltis, FG (1980) [1978]. "Hardware organization of the System/38". IBM System/38 Technical Developments (PDF). IBM Product Design and Development, General Systems Division. pp. 19–21. ISBN 0-933186-03-7. G580-0237-1.
    • Houdek, ME; Mitchell, GR (1980) [1978]. "Translating a large virtual address". IBM System/38 Technical Developments (PDF). IBM Product Design and Development, General Systems Division. pp. 22–24. ISBN 0-933186-03-7. G580-0237-1.
    • Lewis, DO; Reed, JW; Robinson, TS (1980) [1978]. "System/38 I/O structure". IBM System/38 Technical Developments (PDF). IBM Product Design and Development, General Systems Division. pp. 25–27. ISBN 0-933186-03-7. G580-0237-1.
    • Dumstorff, EF (1980) [1978]. "Application of a microprocessor for I/O control". IBM System/38 Technical Developments (PDF). IBM Product Design and Development, General Systems Division. pp. 28–31. ISBN 0-933186-03-7. G580-0237-1.
    • Roellinger, Jr, FX; Horn, DJ (1980) [1978]. "Microprocessor-based communications subsystem". IBM System/38 Technical Developments (PDF). IBM Product Design and Development, General Systems Division. pp. 32–35. ISBN 0-933186-03-7. G580-0237-1.
  • Berstis, Viktors (May 6–8, 1980). Security and protection of data in the IBM System/38. 7th Annual symposium on Computer Architecture. La Baule, US: ACM. pp. 245–52. doi:10.1145/800053.801932.
  • 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, Merle E.; Soltis, Frank G.; Hoffman, Roy L. (1981). IBM System/38 support for capability-based addressing. 8th annual symposium on Computer Architecture. Minneapolis, MN, US: IEEE Computer Society Press. pp. 341–48.
  • Soltis, Frank G. (September 1981). "Design of a Small Business Data Processing System". Computer. IEEE. 14 (9): 77–93. doi:10.1109/c-m.1981.220610. ISSN 0018-9162.
  • Phuc, Nguen Hoan; Becker, M; Sevray, P (1983). Dean, SM; Hammersley, P (eds.). Performance Comparison Between B*-Tree and Prefix Binary Tree Index Organizations. 2nd Int'l Conference on Databases. 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
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.