What was the last release of OS/400 to support CISC (i.e IMPI) hardware? And when was it released?
-
Isn't OS/400 an operating system that completely runs on a virtual architecture, so it doesn't matter if the underlying processor micro-architecture is CISC or RISC?– chthonMay 17, 2021 at 14:25
-
1@chthon The virtual architecture is to my knowledge part of OS/400. There was a major "you must recompile your programs now" hubbub around V5R3 IIRC.– Thorbjørn Ravn AndersenMay 17, 2021 at 16:13
-
2@chthon OS/400 has two components – the part that lives on top of the virtual machine, and the part that runs under it. The part that runs on top is (internally within IBM) called "XPF". The part that lives under the VM and actually implements it – in CISC times that was called HLIC and VLIC (Horizontal/Vertical Licensed Internal Code), in RISC times renamed to SLIC (System Licensed Internal Code).– Simon KissaneMay 17, 2021 at 20:15
2 Answers
I run a 9404 F10 which has V3R2 installed. That is the last OS that can be run on IMPI machines. When IBM moved to power they had to rewrite vast amounts of OS/400 as lots of little things such as even the disk geometry changed. As such it is also true of the fact that power machines cannot run anything below V3R6. V3R2 is also quite a stretch for my machine. I will not call it slow but I will not call it fast. V3R2 was announced in 1996.
There was a little overlap of CISC and RISC. V3R6 was the first release to support RISC and had similar function to the CISC release V3R1. This was followed by V3R2 for CISC and V3R7 for RISC. From then on, it was RISC only so V3R2 was the last CISC release.
Most programs could be carried across but the hardware independence did not work like Java today. The programs contain hardware specific code but the hardware independent intermediate code was also stored in the program object. When a program is restored to incompatible hardware, the hardware specific code is dropped and the second stage compile reruns. This also happened in the transition from the S/38 to the AS/400 and again later on.
Long ago, even back on the S/38, there were third party space saving products which would drop the intermediate code. They would often boast of doubling your disk capacity. Programs did drop to about half their size but you would only double your capacity if you had only programs and no data (unlikely for these machines). Later, IBM supported this procedure which they called "removiving observability". I don't think that they ever intended to support this but when the third party products appeared, they may have decided that it is better that they do it than others. A cost of removing observability is that you will not be able to restore the program to new hardware.
A while ago, I asked whether it is possible to restore a program from the S/38 (the predecessor of the AS/400) to an IBM i (its latest form). I expect that it would be possible for the reasons described above but there would be a practical problem of finding a common storage format. It is conceivable that an S/38 program may have lingered unused through numerous updates or a save file (online save) might have lingered. Can I restore an S/38 program to a current IBM i?