The Application System/400 (AS/400) is an IBM minicomputer for general business and departmental use, introduced in 1988 and still in production under the names iSeries and i5. The AS/400 is an object based system with an integrated database that was designed to implement E. F. Codd's relational database model in the operating system and hardware. All software necessary to run this computer is included and integrated. More than 2,500 business software applications were available when the first AS/400 was delivered in 1988.
The AS/400 was the follow-on to the System/38 database machine, announced by IBM in 1978 and delivered in 1980. The first AS/400 systems (known by the development code names Silverlake and Olympic) were delivered in 1988, and the product line has been refreshed continually since then. IBM renamed the AS/400 to iSeries in 2000, as part of its e-Server branding intiative. The product line was further extended in 2004 with the introduction of the i5 servers, the first to utilize the IBM POWER5 processor. The AS/400 was the first general purpose computer system to attain a C2 security rating from the NSA, and in 1995 was first to employ a 64-bit processor and operating system. The architecture of the system allows for future implementation of 128-bit processors when they become available. Existing programs will utilize the new hardware without modification.
Features include an extremely fast DBMS, a menu-driven interface, multi-user support, terminals (IBM 5250) and printers, security, communications and an extensive library-based operating system, OS/400. The big selling point is that applications can run without modification on any model in the product line, from small, single processor machines up to those with 64 multi-core CPUs.
The machine was originally based on a custom IBM CISC CPU which used a CPU architecture known as Internal MicroProgrammed Interface (IMPI). It was later migrated to a PowerPC based RISC CPU family eventually known as RS64. The latest models are based on the POWER5 (announced 4 May 2004) processor.
The machine survives because its ISA (called TIMI for "Technology Independent Machine Interface" by IBM) allows the operating system and application programs to take advantage of advances in hardware and software without recompilation. This means that a program written and compiled on a S/38 can be run as a native 64 bit program. The HAL allows a system that costs $9000 to run the exact same operating system and software as a $2 million system. The system can concurrently run multiple operating systems (i5/OS (OS/400), Linux, AIX) natively, and runs Windows Server and Linux on one or more single cpu blade servers or externally attached mutiple cpu servers when installed. The 64-bit design provides for the seamless addressing of up to 16 exabytes (16 million terabytes) of storage.
The AS/400 enforces the use of the TIMI virtual instruction set for all user mode programs; it is not possible for such programs to utilise the instruction set of the underlying CPU, thus ensuring hardware independence. This is conceptually somewhat similar to the virtual-machine architecture of programming environments such as SmallTalk, Java and .NET. The key difference is that it is embedded so deeply into the AS/400's design as to make all applications and even the bulk of its operating systems binary-compatible across different processor families. The AS/400's instruction set defines all pointers as 128-bit to allow seamless transition from older to new processor generations.
Another feature that was recently introduced to the AS/400, LPAR, came from IBM's mainframe line of computers. LPAR (Logical PARtitioning) facilitates running multiple instances of operating systems simultaneously on one AS/400 unit. A system setup with LPAR can even run different operating systems on different partitions while ensuring that one OS cannot run over the memory or resources of another. Each LPAR is given a portion of system resources (memory, hard disk space, and CPU time) via a system of weights that determines where unused resources are allocated at any given time. The OSes supported (and commonly used) under the LPAR scheme are OS/400, AIX and Linux.
Even though AIX can now be natively run in a LPAR partition, the original implemenation was to allow AIX programs to be ported to the PASE environment. AIX programs ARE binary compatible with OS/400 when using OS/400's PASE (Portable Applications System Environment). PASE is essentially "an operating system within an operating system", supporting the most recent stable version of AIX. Binaries need to be re-compiled on the AIX system, with 16-bit (quadword) pointer alignment enabled. Once the program is compiled with this option, the executable can be FTP-ed to the AS/400, and executed under the PASE Korn Shell.
Additionally, tasks such as handling record locks and queuing updates are managed automatically by the system, making high-speed, multiuser applications easy to create, maintain, and extremely reliable.
Commands in the Command Language (CL) are promptable and most provide cursor sensitive help to make entering parameters easier. A command consists of a three letter verb and a subject part. This is intended to make it easy to understand CL code. Examples:
- CRTUSRPRF – Create user profile
- DLTLIB – Delete library
- CPYF – Copy file
It was designed as the successor of the IBM System/38 and the IBM System/36. The programmers that worked on OS/400, the operating system of the AS/400, did not have a UNIX background. Dr. Frank Soltis, the head architect, says that this is the main difference between this and any other operating system.
Despite the lack of "UNIXy" background, the AS/400 has over the years, picked up the programming/runtime model found on UNIX, Linux, and PC systems. Traditional AS/400 programming is a "one-stop shop", where a programmer writes computer code, compiles the code, and then executes the code. There is no link step that is found in other environments.
However, in 1995, that changed. IBM re-christened the one-stop shop programming style "OPM" (for Original Programming Model) and introduced a new language paradigm called "ILE" (for Integrated Language Environment). ILE had significant enhancements over OPM, including the ability to create modules (similar to .obj or .lib files), and then bind (link) the modules together into a single executable. The executable could be created as a program or a service program (service programs are similar to .lib or .dll files).
The real power of the ILE environment is in the "integrated" aspect, however. Modules in ILE-compliant languages (RPG, COBOL, C, C++, and CL) could be created and bound together. For the first time, AS/400 programmers could exploit the strengths of each ILE-compliant language and create programs. Also, with the introduction of service programs, standard routines could be externalized more easily, and increase modularity. To ensure proper migration to the ILE environment, OPM RPG and COBOL programs could be migrated to ILE easily.
Interoperation with the Java language is also supported, though not as tightly as to the ILE languages. The iSeries Java implementation is distinguished by the depth of its embedment in the operating system.