IBM System i
The IBM System i is an early generation of midrange computer systems for IBM i users, and was subsequently replaced by the IBM Power Systems in April 2008. The platform was first introduced as the AS/400 (Application System/400) in June 1988 and later renamed to the eServer iSeries in 2000. As part of IBM's re-branding initiative in 2006, it was again renamed to System i. The codename of the AS/400 project was "Silver Lake", named for the lake in downtown Rochester, Minnesota, where development of the system took place.
In April 2008, IBM announced its integration with the System p platform. The unified product line is called IBM Power Systems and features support for the IBM i (previously known as i5/OS or OS/400), AIX and GNU/Linux operating systems.
The predecessor to AS/400, IBM System/38, was first made available in August 1979 and was marketed as a minicomputer for general business and departmental use. It was sold alongside other product lines, each with a different architecture (System/3, System/32, System/34, System/36).
Realizing the importance of compatibility with the thousands of programs written in legacy code, IBM launched the AS/400 midrange computer line in 1988. AS stands for "Application System." Great effort was made during development of the AS/400 to enable programs written for the System/34 and System/36 to be moved to the AS/400. Programs on the System/38 were directly compatible with the new AS/400 (after they were 're-encapsulated' by the operating system).
In 2000, in accordance with IBM's eServer initiative, the AS/400 series was rebranded as the eServer iSeries. In 2006, it was again rebranded as the IBM System i. In 2008, almost 20 years after being introduced, the System i and IBM System p product lines were combined into a new product line called the IBM Power Systems line.
The AS/400 operating system was originally named OS/400 (following the pattern begun with OS/360 and followed with OS/2). The operating system has undergone name changes along with the rebranding of IBM's server lineup. The operating system was rebranded as i5/OS to correspond with the introduction of POWER5 processors and the rebranding of the hardware to eServer iSeries. For the 6.1 release, the operating system was again renamed to IBM i.
The operating system is object-based. Features include a RDBMS (DB2/400), a menu-driven interface, support for multiple users, block-oriented terminal support (IBM 5250), and printers. IBM i has built-in security, and support for communications, and web-based applications which can be executed inside the optional IBM WebSphere Application Server or as PHP/MySQL applications inside a native port of the Apache web server.
Unlike the "everything is a file" feature of Unix and its derivatives, on IBM i everything is an object (with built-in persistence and garbage collection). IBM i offers Unix-like file directories using the Integrated File System. Java compatibility is implemented through a native port of the Java virtual machine.
Like IBM's mainframe operating systems, IBM i uses EBCDIC as the inherent encoding.
OS/400 Version 4, Release 4 (V4R4) introduced LPARs (logical partitions) allowing multiple virtual systems to run on a single hardware footprint.
The IBM System i platform extended the System/38 architecture of an object-based system with an integrated DB2 relational database. Equally important are the virtual machine and single-level storage concepts which established the platform as an advanced business computer.
One feature that has contributed to the longevity of the IBM System i platform is its high-level instruction set (called TIMI for "Technology Independent Machine Interface" by IBM), which allows application programs to take advantage of advances in hardware and software without recompilation. TIMI is a virtual instruction set independent of the underlying machine instruction set of the CPU. User-mode programs contain both TIMI instructions and the machine instructions of the 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 applications effectively binary-compatible across different processor families.
Unlike some other virtual-machine architectures in which the virtual instructions are interpreted at run time, 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 TIMI instructions are stored within the final program object, in addition to the executable machine instructions. This is how application objects compiled on one processor family (e.g., the original CISC AS/400 48-bit processors) could be moved to a new processor (e.g., PowerPC 64-bit) without re-compilation. An application saved from the older 48-bit platform can simply be restored onto the new 64-bit platform where the operating system discards the old machine instructions and re-translates the TIMI instructions into 64-bit instructions for the new processor.
The system's instruction set defines all pointers as 128-bit. This was the original design feature of the System/38 (S/38) in the mid 1970s planning for future use of faster processors, memory and an expanded address space. When at a point in the future 128-bit general purpose processors would appear, IBM i will already be fully 128-bit enabled. The original AS/400 CISC models used the same 48-bit address space as the S/38. The address space was expanded in 1995 when ith the RISC PowerPC RS64 64-bit CPU processor replaced the 48-bit CISC processor.
For 64-bit PowerPC processors, the virtual address resides in the rightmost 64 bits of a pointer while it was 48 bits in the S/38 and CISC AS/400. The 64-bit address space references main memory and disk as a single address set which is the single-level storage concept.
The IBM System i includes an extensive library-based operating system, IBM i, and is also capable of supporting multiple instances of AIX, Linux, Lotus Domino, Microsoft Windows 2000 and Windows Server 2003. While IBM i, AIX, Linux and Lotus Domino are supported on the POWER processors, Windows is supported with either single-processor internal blade servers (IXS) or externally linked multiple-processor servers (IXA and iSCSI). iSCSI also provides support for attachment of IBM Bladecenters. Windows, Linux, and VMware ESX(VI3) are supported on iSCSI attached servers.
LPAR (Logical PARtitioning), a feature introduced from IBM's mainframe computers, facilitates running multiple operating systems simultaneously on one IBM System i unit. A system configured with LPAR can run various operating systems on separate 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 operating systems supported (and commonly used) under the LPAR scheme are IBM i, AIX, and Linux.
Other features include an integrated DB2 database management system, a menu-driven interface, multi-user support, non-programmable terminals (IBM 5250) and printers, security, communications, client–server and web-based applications. Much of the software necessary to run the IBM System i is included and integrated into the base operating system.
Programming languages available for the AS/400 include RPG, assembly language, C, C++, Pascal, Java, EGL, Perl, Smalltalk, COBOL, SQL, BASIC, PHP, PL/I, Python and REXX. Several CASE tools are available: CA Plex (formerly AllFusion Plex) , Synon, IBM Rational Business Developer Extension, Accelerator, LANSA, Uniface and GeneXus.
The ILE (Integrated Language Environment) programming environment allows programs from ILE compatible languages (C, C++, COBOL, RPG, Fortran, and CL), to be bound into the same executable and call procedures written in any of the other ILE languages.
Commands in the Control Language (CL) are promptable using the keyboard F4 function key, and most provide cursor-sensitive help to make specifying command parameters simpler. All command names and parameter keywords are based upon uniform standardized and mostly 3-letter abbreviations for verbs and subjects, making for easy rendering and interpretation by the application developer, as opposed to other operating systems with often cryptic or inconsistent command names for related functions or command parameter switches. For instance, the parameter keyword to apply a text description to any object to be created or changed is spelled the same way for all such commands.
- CRTUSRPRF, DSPUSRPRF, CHGUSRPRF, DLTUSRPRF - create, display, change, and delete user profile
- CRTLIB, DSPLIB, CHGLIB, DLTLIB - Create, display, change and delete a library
- ADDLIBLE, RMVLIBLE, CHGLIBL - Add or remove library list entry or change library list
- CPYF, CRTF, DSPF, CHGF, DLTF - Copy, create, display, change, and delete file
- WRKACTJOB - Work with Active Jobs
- WRKSYSSTS - Work with System Status
- STRSST, STRPASTHR, STRSBS - Start System Service Tools, start pass through (remote login), start subsystem
- VRYCFG - Vary configuration, bring interfaces up or down
- PWRDWNSYS - Power Down System
- WRKSPLF - Work with spooled files
For traditional business programming languages such as RPG, COBOL, and C, the IBM System i provides an interface to the integrated database that allows these languages to treat database tables much like other platforms treat ISAM or VSAM files.
Support for 5250 display operations is provided via display files, an interface between workstations, keyboards and displays, and interactive applications, as opposed to batch processing with little or no user interaction. ASCII terminals and PC workstations are equally and well supported, also via internet or LAN network access supplemented by either IBM or non-IBM communication software, for example TELNET or TELNET 5250.
IBM systems may also come with programming and development software like Programming Development Manager.
The IBM System i, then known as the AS/400, was the continuation of the System/38 database machine architecture (announced by IBM in October 1978 and delivered in August 1979). The AS/400 removed capability-based addressing. The AS/400 added source compatibility with the System/36 combining the two primary computers manufactured by the IBM Rochester plant. The System/36 was IBM's most successful mini-computer but the architecture had reached its limit. The first AS/400 systems (known by the development code names Silverlake and Olympic) were delivered in 1988 under the tag line "Best of Both Worlds" and the product line has been refreshed continually since then. Guy Dehond from Inventive Designers was one of the beta-testers of Silverlake. The programmers who worked on OS/400, the operating system of the AS/400, did not have a UNIX background. Dr Frank Soltis, the chief architect, says that this is the main difference between this and any other operating system.
The AS/400 was one of the first general-purpose computer systems to attain a C2 security rating from the NSA (Gould UTX/C2, a UNIX-based system was branded in 1986), and in 1995 was extended to employ a 64-bit processor and operating system.
The 1995 change-over from 48 to 64-bit required that all programs be 'observable', i.e. that the debugging information had not been stripped out of the compiled code. This caused problems for those who had bought third-party products that had no source and no observability. In 2008, the introduction of V6R1 caused similar problems, although this time IBM preferred to call it a "refresh".
In 2000 IBM renamed the AS/400 to iSeries, as part of its e-Server branding initiative. The product line was further extended in 2004 with the introduction of the i5 servers, the first to use the IBM POWER5 processor. The architecture of the system allows for future implementation of 128-bit processors when they become available.
Although announced in 1988, the AS/400 remains IBM's most recent major architectural shift that was developed wholly internally. Since the arrival of Lou Gerstner in 1993, IBM has viewed such colossal internal developments as too risky. Instead, IBM now prefers to make key product strides through acquisition (e.g., the takeovers of Lotus Software and Rational Software) and to support the development of open standards, particularly Linux. It is noteworthy that after the departure of CEO John Akers in 1993, when IBM looked likely to be split up, Bill Gates commented that the only part of IBM that Microsoft would be interested in was the AS/400 division. (At the time, many of Microsoft's business and financial systems ran on the AS/400 platform, something that ceased to be the case around 1999, with the introduction of Windows 2000.)
Distributed file and relational database services
In 1986, System/38 announced support for Distributed Data Management Architecture (DDM). This enabled programs to create, manage, and access record-oriented files on remote System/36, System/38, and IBM mainframe systems running CICS. This support was extended into the AS/400 and its follow-ons. It was enhanced to support additional services that had been defined by DDM and to support AS/400-specific extensions, as allowed by DDM.
In 1990, the AS/400 announced support for Distributed Relational Database Architecture, which is based on DDM.
The AS/400 was originally based on a custom IBM CISC CPU which had an instruction set architecture, known as Internal MicroProgrammed Interface (IMPI), similar to that of the IBM System/370. It was later migrated to a POWER-based RISC CPU family eventually known as RS64.
CPU in AS/400, iSeries, i5, Power Systems
The System i5 uses POWER CPUs. These CPUs are developed and manufactured by IBM. The POWER 4/5/5+ chips contain two cores. There are Multi-Chip Modules (MCM) available. They have 2 CPUs (4 cores) or 4 CPUs (8 cores) in one MCM.
|Cobra (A10)||since 1995||55 or 75 MHz||4xx, 5xx|
|Muskie (A25/A30)||since 1996||125 or 154 MHz||53x|
|Apache (RS64) (A35)||since 1997||125 MHz||6xx, 150|
|NorthStar (RS64 II)||since 1998||200, 255 or 262 MHz||170, 250, 7xx, 650, S40, SB1|
|Pulsar (RS64 III)||since 1999||450 MHz||270, 820|
|IStar||since 2000||400, 500, 540 or 600 MHz||820, 830, 840, SB2, SB3|
|SStar (RS64 IV)||since 2000||540, 600 or 750 MHz||270, 800, 810, 820, 830, 840|
|POWER4||since 2001||1.1 or 1.3 GHz||890|
|POWER4+||since 2003||1.9 GHz||825, 870|
|POWER5||since 2004||1.5 or 1.9 GHz||i5-520; i5-550; i5-570; i5-595|
|POWER5+||since 2005||1.5 GHz (2005)
|i5-520, i5-550, i5-515, i5-525|
|POWER6||since 2007||3.5 GHz
|BladeCenter JS12, JS22|
M50, M25 & M15
|POWER6+||since 2009||3.6 GHz
|BladeCenter JS12, JS22, JS23, JS43|
Power 520, 550, 560, 570, 575, 595
|POWER7||since 2010||3.3 GHz
|BladeCenter PS701, PS702, PS703, PS704|
PureSystem compute nodes p260, p460, p24L
PowerLinux 7R1, 7R2
Power 710, 720, 730, 740, 750, 755, 760, 770, 780, 795
|POWER7+||since 2012||3.7 GHz
|BladeCenter PS701, PS702, PS703, PS704|
PureSystem compute nodes p260, p460, p24L
PowerLinux 7R1, 7R2
Power 710, 720, 730, 740, 750, 755, 760, 770, 780, 795
|POWER8||since 2014||2.5 GHz to 5.0 GHz||Power S812L, S814, S822, S822L, S824, S824L, S812LC, S821LC, S822LC|
Power E850, E870, E880
|POWER9||since 2017||4 GHz||Power AC922, L922, S914, S922, S924, H922, H924, E950, E980|
Models of AS/400, iSeries, i5 systems
|Model||Year||CPU Group||Base - CPW|
|B10, B20, B30, B35, B40, B45, B50, B60, B70||1988, 1989||P10, P20||2,9 - 20|
|C04, C06, C10, C20, C25||1990||P10||3,1 - 6,1|
|D02, D04, D06, D10, D20, D25, D35, D45, D50, D60, D70, D80||1991||P10, P20, P30||3,8 - 56,6|
|E02, E04, E06, E10, E20, E25, E35, E45, E50, E60, E70, E80, E90, E95||1992||P10, P20, P30, P40||4,5 - 116,6|
|F02, F04, F06, F10, F20, F25, F35, F45, F50, F60, F70, F80, F90, F95, F97||1993||P05, P10, P20, P30, P40||5,5 - 177,4|
|P01, P02, P03||1993, 1994, 1995||P05||7,3 - 16,8|
|150||1996||P05||10,9 - 35,0|
|S10, S20, S30, S40||1997||P05, P10, P20, P30, P40, P50||45,4 - 4550|
|SB1, SB2, SB3||1997, 2000||P30, P40||1794 - 16500|
|10S, 100, 135, 140||1995, 1993||P05, P10, P20||17,1 - 65,6|
|170||1998||P05, P10, P20,||30 - 1090|
|200, 20S, 236||1994||P05, P10||7,3 - 17,1|
|250||2000||P05||50 - 75|
|270||2000||P05, P10, P20||50 - 2350|
|300, 30S, 310||1994||P10, P20, P30, P40||11,6 - 177,4|
|400, 40S, 436||1995||P05, P10||13,8 - 91,0|
|500, 50S, 510, 530, 53S||1995||P10, P20, P30, P40||18,7 - 650|
|600, 620, 640, 650||1997||P05, P10, P20, P30, P40, P50||22,7 - 4550|
|720||1999||P10, P20, P30||240 - 1600|
|730||1999||P20, P30, P40||560 - 2890|
|740||1999||P40, P50||3660 - 4550|
|800||2003||P05, P10||300 - 950|
|810||2003||P10, P20||750 - 2700|
|820||2000, 2001||P05, P10, P20, P30, P40||100 - 3700|
|825||2003||P30||3600 - 6600|
|830||2000, 2002||P20, P30, P40, P50||1850 - 7350|
|840||2000,2001,2002||P40, P50||10000 - 20200|
|870||2002||P40, P50||7700 - 20000|
|890||2002||P50, P60||20000 - 37400|
|520||2004–2006||P05, P10, P20||500 - 7100|
|550||2004–2006||P20||3300 - 14000|
|570||2004–2006||P30, P40||3300 - 58500|
|595||2004–2006||P50, P60||24500 - 216000|
|515||2007||P05||3800 - 7100|
|525||2007||P10||3800 - 7100|
|570||2007||P40||16700 - 58500|
|MMA (9406)||2007||P30||5500 - 76900|
|M25||2008||P10||4300 - 8300|
|M50||2008||P20||4800 - 18000|
|MMA||2008||P30||8150 - 76900|
- "System i users: Power Systems merger good, OS name change mixed".
- "Zend Solutions for IBM i".
- "File Integrity Monitoring for iSeries". Archived from the original on 2009-05-14.
- IBMnt (2008). "IBM confirms the use of EBCDIC in their mainframes as a default practice". Archived from the original on 2013-01-03. Retrieved 2008-06-16.
- Frank G. Soltis Fortress Rochester: The Inside Story of the IBM ISeries p.119
- "Gould, Inc. Computer Systems Division". Defense Technical Information Center. December 31, 1986.
- "IBM i 6.1 - Program conversion". 03.ibm.com. Retrieved 2010-10-19.
- Microsoft TechNet. "AS/400s extinct at Microsoft since 1999". Google discussion group, Microsoft runs AS/400's in-house - Article?. Retrieved 2007-05-16.
- "Disparition des systèmes AS/400 chez Microsoft depuis mai 1999". Retrieved 2013-01-02.
- "Microsoft Uses the iSeries to Run its Business". Blogspot,Confessions of An iSeries Priest. Retrieved 2006-03-05.
- David McKenzie. "Notes for storage research". Archived from the original on October 8, 1999.
- Soltis, Frank G. "When Is PowerPC Not PowerPC?". The 400 Squadron. Archived from the original on January 8, 2008.
- IBM.com. "V4R3 Questions and Answers". Reference # 8625668200695613. Retrieved 2007-04-04.
- IBM's Power Systems product page
- IBM Hardware list for "System i" at the Wayback Machine (archived June 5, 2012)
- IBM Archives: A Brief History of the IBM AS/400 and iSeries
- The IBM AS400 A technical introduction
- RPGPGM.COM - An extensive resource of articles giving examples of System i (IBM i) programming
- AS400i.COM - IBM AS/400 from Basics