On Sep 29, 2004, at 3:51 AM, Don Hills wrote:
Ron Hudson <ron.hudson(a)sbcglobal.net> wrote:
In one of my jobs I worked for the communications product div of
Novell,
they were trying to port netware to the AS400, but the simulated
machine the
AS400 presents was not effiecient for Novell, they could not get the
server
to run well enough, And IBM would not release the actual machine
instruction
set so the server could be written at the lower level (AS400 machines
all
run a simulator of an imaginary machine.. They do this so that all
models of
the AS400 are binary-compatible.)
The actual machine instruction set was available for the System/38
(AS/400
predecessor). It was sufficiently baroque that no-one wrote anything
for it
so they didn't bother publishing it for the AS/400 where, as you say,
they
wanted to use different processor architectures within the range.
That's not
to say it was badly designed, it was simply highly optimised for its
role as
an OO database engine. There's a very interesting book about the
AS/400's
design process written by the chief architect, Frank Solti: "Inside the
AS/400" ISBN 1-882419-66-9
My impression was that the different models of AS400 could have
different processors (and
native instruction sets) so to have upward/downward compatibility IBM
had them all run
an emulator of a machine that spoke "MI". They didn't want people
writing for the native
processor because the program would be bound to a single model.
(I suppose there would also be some security issues, if you can get
your own program running
at the same level as MI)
I think the imaginary machine's instruction
set was called "MI" for
Machine
Interface???
Yep.
--
Don Hills (dmhills at attglobaldotnet) Wellington, New Zealand
It's ironic that people who are too smart to engage in politics
are governed by people who are not as smart.