The IBM AS/400 family of systems started with an internal development project called “Silver Lake”, named for the lake in downtown Rochester, Minnesota, where development of the system took place.
The first AS/400 saw the light of day in 1988. It was the successor to the System/38 that started 10 years before that (1978). That system had 3 major concepts:
- Single level storage. To the user there is no difference between what is in memory and what is on disc. It just works.
- Integrated OS with security, a relational database, sw dev tools, communication tools etc.
- Hardware independent machine interface. Using a hardware abstraction layer (HAL).
- Because of the complexity of system/38 there appeared a simpler version system/34 and a version with a nice menu system called system/36.
The AS/400 (advanced system 400) was a successor to the system 36. So single level storage, integrated database , security model and a menu system. And the OS on top of the HAL.
The first years the hardware was 48 bits based with a CISC (Complex Instruction Set Computing) processor, but that changed in the 90’s to 64 bits RISC (Reduced Instruction Set Computing) based systems. Because of the HAL application migration to the new hardware was very simple.
In 2000 IBM changed the AS/400 name to “eServer iSeries” and the OS to “i5/OS”. And again in 2006, as part of IBM’s Systems branding initiative, the hardware was renamed to “System i” and the OS to “IBM i”.
In April 2008, IBM made the descision to integrate the AS/400 hardware with the “System p” platform (the systems running their Unix OS, named “AIX”. The unified product line is called “IBM Power Systems” meaning this hardware can run “IBM i” (previously known as i5/OS or OS/400), AIX and Linux operating systems.
The OS/400 operating system itself is object-based. Other features include a RDBMS (Relational Data Base Management System) (called “DB2/400”), a menu-driven interface, support for multiple users, screen-oriented terminal support (IBM 5250), and of course output devices such as printers.
Recent OS versions can also run 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. Current versions of the software can also run Ruby, Python and other modern programming languages.
Unlike the “everything is a file” feature of Unix system, on IBM i everything is an object (with built-in persistence and garbage collection). It also features a Unix-like file directories based system using the “Integrated File System”. Java compatibility is implemented through a native port of the Java virtual machine.
Like IBM’s mainframe operating systems, the AS/400 uses EBCDIC as the inherent encoding and not ASCII like so many other systems.
With the release of OS/400 Version 4, Release 4 (V4R4) IBM introduced LPARs (logical partitions) allowing multiple virtual systems to run on a single hardware footprint.
Starting an AS/400 takes a while. It has to read the filesystem and construct some system tables in memory and this takes some time. During IPL (Initial program load) a lot of status codes appear one after the other on the front panel of the system. All in all about some 94 codes. Some examples are:
C600 4006 | IPL all buses |
C600 4007 | Start SLID |
C600 4013 | Initialize context management |
C600 4014 | Initialize RM (component) seize lock |
C600 4015 | Initialize MISR |
C600 4016 | Set time of day |
In the end a logon screen will appear on the terminal. Now, all communication is screen-oriented, not character oriented. It uses the 5250 protocol and not the 3270 protocol for IBM mainframe systems. So you enter data on the screen and when you press the “Enter”-key, all data entered on the screen is send to the AS/400 for processing.
The administrator account, security officer, is called “qsecofr”. This is the user account that normally can do everything on the system.
After logon there is a menu where you can choose option 1 for user tasks, 2 for office tasks, etc. and 90 to logoff. A nice video of how the user interface works is here.
At the bottom of the screen is a list of function keys you can use. Things like F3 to exit this menu (go back to the one before), F4 for the command prompt, F9 to retrieve last command, etc.
Besides using the menu you can jump around in the system using commands. These are abbreviated strings. For instance, to “display a user profile” the command would be “dspusrprf”. Or “dspsyssts” for system status.
The operation of the system itself is job oriented. You submit a job to the system. The job then enters into a job queue and the jobqueue feeds into a subsystem. There can be multiple subsystems with different processor priority as well as memory limitations. There is a lot of tuning options so the system can be very complex in its workings and you should know what to do as a sysadmin.
The AS/400 systems are renowned for their stability. There are many urban legends of AS/400 simple put behind a brick wall in error and just keep on working for years. At the same time it is a very hacker unfriendly platform. Yes, it used SCSI discs, but if the disk identification string does not contain the word AS/400 the system will not accept it. Which of course let to ridiculous prices.
At this time I consider the AS/400 family to be a dying breed of computer. Many happy users and organizations and a great performant system but at a steep price. Maybe you can replace one big AS/400 system with 30-40 Intel servers if you want the same throughput, but hardware, repair, sysadmin and development knowledge can be found anywhere.
It will take a few more years and then I guess the last use will stop using it. Because of my admiration for this hardware and software family I started this museum. To safeguard a great legacy.