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.
History 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 was designed by a number of engineers including Frank Soltis and Glenn Henry and offered a number of innovative features. The architecture shared many similarities with the design of the failed IBM Future Systems project, including the single-level store, the use of microcode to implement operating system functionality, and the Machine Interface abstraction. 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, but it is not compatible with those computers. The predecessors to the System/38 include 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 IBM AS/400 midrange computer family in 1988, which originally used a processor architecture similar to the System/38, before adopting PowerPC-based processors in 1995.
Hardware characteristics
The IBM 5381 System Unit contains 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 is physically identical to 5381, but with more powerful processors, more memory, and more disk storage. 5382 was available in Models 300, 400, 500, 600, and 700. Users typically interacted with the system through IBM 5250 series terminals. In 1984, IBM added the ability to attach graphics-oriented terminals that previously required a mainframe.
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. It includes a memory management unit supporting demand paging, used by the system software to implement a single-level store architecture. The System/38 CPU features a 48-bit address space, which was selected as a compromise between 64-bit addressing, which certain IBM engineers wanted for the sake of future proofing, and 32-bit addressing, which other engineers wanted for cost saving purposes.
System console keyboard/display
The System/38 console incorporates a keyboard and a display screen with 16 lines of 64 characters, inconsistent with the locally attached 5250 terminals, which are either 12x40 or 24x80, depending on model. The keyboard is available to the system operator to enter Control Language commands.
Diskette magazine drive The diskette magazine drive is standard on all models.
Software architecture
Machine Interface The System/38 and its descendants 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 known as the Machine Interface, or MI. MI is a virtual instruction set; it is not the instruction set of the underlying CPU. MI operates on objects instead of traditional memory addresses or registers. 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.
Microcode IBM referred to all code below the Machine Interface layer of the System/38 architecture as microcode, and treated it as part of the hardware. 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:
… excerpt ends here. Continue reading the full article.





