TFH Flashback: The Joy of V3R6
August 20, 2007 Timothy Prickett Morgan
Note: This article is reprinted from an April 1995 issue of The Four Hundred.
Sometime in late May, according to our sources, IBM business partners and value added resellers will be briefed about the new RISC AS/400s. A week or so later, everybody expects IBM to formally announce the new boxes. Just because the new boxes will be announced in early June, don’t expect to be able to get your hands on one, especially if you are looking to buy a large 9406 system.
According to people familiar with IBM’s plans, the very largest RISC AS/400s won’t be generally available until the first quarter of 1996. Usually there is a month or two delay between announcement and shipment for largest members of a new AS/400 family, but this is pushing it. IBM will reportedly ship the smallest new AS/400s beginning in September, while RISC AS/400s in the middle of the line will ship in December. What happened?
The problem is OS/400 V3R6. The new software, which will be required for the RISC machines, is radically different from OS/400 V2R3 and quite a bit different from V3R1. On the surface, OS/400 still looks pretty much like OS/400, whether it’s a release of V2 or V3. But behind the green screens and underneath the machine interface layer, where IBM’s Licensed Internal Code lurks, just about everything has changed or soon will. The LIC for OS/400 versions prior to V3R1 was written in assembler and PL/I, really obscure and tough languages but ones that programmers in Rochester knew pretty well. Starting with V3R1, IBM began using C++ to write portions of LIC. C++ is a really obscure and tough language that IBMers don’t know very well, so there have been some difficulties. The pieces of LIC that were rewritten first were mainly concerned with auxiliary storage control; this code resided out in the disk IOPs, controlling the spreading of data across multiple disk drives. Not coincidentally, this C++ code is exactly where they scariest bugs in V3R1 now hide. Customers who have moved to V3R1 have had disk sectors lost; IBM is continually working on PTFs, but it is merely putting out fires. The PTFs do not allow lost data to be recovered.
There are actually two pieces of code that make up LIC, vertical LIC and horizontal LIC. Each has different jobs translating OS/400 commands to hardware instructions. With V3R6, some of VLIC and all of HLIC will be done away with, being replaced by a single integrated System Licensed Internal Code, or SLIC. The new SLIC consists of over 1 million lines of C++ code and 6,000 classes of C++ objects. For those not acquainted with C++, those are absurdly large numbers, attesting to the growing complexity of OS/400. This SLIC layer of software will in turn talk to a Unix kernel, which may be Mach or WorkPlace or AIX. Nobody is saying. With OS/400 V4, which will debut with the second generation RISC AS/400s, all of VLIC will be dropped and OS/400 reportedly will ride on top of a full implementation of Unix. This will be a Unix that developers will not be able to get at, however.
What does all this mean? Not much, unless you plan to move to a RISC AS/400. When an RPG program is compiled using V3R1 or earlier software, it generates an RPG VLIC template. The IBM term for this template is observability. Up until now, this VLIC template was not needed to actually execute a program. Since VLIC templates account for 75 percent of the disk space of RPG programs, customers tight for disk space often deleted them. Starting with V3R6, these templates will be required for any RPG program to run. If a customer has its VLIC templates, the programs will run using them; if they recompile their source code using the ILE RPG or RPG/400, it will create new SLIC templates that match V3R6.
Those who have deleted their VLIC templates from the system can recover them without recompiling. Harmon Resources, of Norwood, Ohio (telephone: 513-347-4305; in the UK at 0532-361261), and Advanced Systems Concepts, of Schaumburg, Illinois (telephone: 708-605-1331), both retrieve RPG observability. But recreating these VLIC templates costs a lot of money, between $.75 and $1.25 per RPG line, and it could take weeks per RPG module.
Customers are never thrilled with the prospect of having to recompile their applications, but they may have no choice. For a typical AS/400 customer, recompiling applications might take between one and three days. The problem is that people don’t keep track of source code very well. The more complex the system, the greater the risk that someone forgot to backup or correctly label a set of applications source files.
This article was originally published in the April 1995 edition of The Four Hundred, back when IBM was preparing customers for the transition from CISC-to-RISC AS/400s and from OS/400 V3 to OS/400 V4. Big Blue surely does not want to have the kinds of problems that it had with this transition when it makes the jump to Power6-based servers and i5/OS V6R1.