The complete userspace is bytecode based, regardless of the language.
Applications are compiled on installation phase, or when the generated code is deemed not to be valid any longer.
When there was an architecture change for the PowerPC, many installations only required a regeneration of the installed software.
A concept that Microsoft tried with Longhorn and Windows Phone 7. Or we could even say, the model Android almost has as well.
Native Oberon and Inferno also tried a similar approach, to certain extent.
Unfortunately it wasn't quite that clean in practice. Regen required TIMI to have access to the compilation templates for each program. These were intermediate compilation stages ( bytecode, I suppose ) that it could then translate to the new machine architecture.
However, these templates were often missing, deleted or out-of-sync. So we did an awful lot of recompiling from source, when we could find it...
I only did a bit of AS/400 administration back in 1994's Summer, just logged into the system and started the backup procedure.
I was actually doing Clipper development and the company where I had a Summer job used AS/400 systems for accounting.
Most of I know about OS/400 bytecode system was found looking for compiler technologies a couple of years later.
"No, everything's memory!"
Mainframe environments are weird.
Or the OS/360 which uses virtualization for all OSs, like Hyper V does on Windows.
The first OS to boot from the hypervisor has master rights, but all OSs are virtualized.
No, the hypervisor was called VM. According to WP it most frequently ran CMS guests, which was a light weight single-app OS. But could also run OS/360 guests (which predated VM).
Yep that is also a nice feature.
Which leads us to the great set of names where we have: IBM i, Apple iOS, Cisco IOS