[virtmach] Your VM

virtmach@iecc.com virtmach@iecc.com
Wed, 30 May 2001 18:42:20 +0100


> > Sorry if I look dumb, but what is this "Inferno" you are talking about ?
> > I understand in the dicussion that the "beast VM" was the next creation
> > from the authors of the "game" Creatures that features the "norms", but
> > I still do not know what is this inferno. Any links ?
>
> Look at http://inferno.lucent.com/inferno/ - it's a telecoms thing.

actually, it's not inherently a telecoms thing at all; it's a general
purpose programming environment. in fact in lots of ways it's Unix for
the 21st century... designed & implemented by the original unix folks
(ritchie, pike et al).

its use of its VM is the canonical one: portability across platforms.
but it recognizes that portability comes not only from a uniform
language/opcodes but also from the environment in which that language
lives: hence it's a complete OS, but one that can run as a user-level
app under other OSes, presenting the resources of the host OS in
exactly the same way as it would when running natively.

it's designed to have a small footprint, and to run efficiently on
small(ish) embedded devices. it uses predominantly refcounted garbage
collection, which means that it can run usefully on devices with
relatively small amounts of memory (you can run a fair amount of useful
stuff in 1MB of memory).

the really nice thing about the combination of a VM and a standardised
OS-style interface is that i can almost without exception (resources
permitting) run the same executables on any platform that runs Inferno
and they'll work first time. you have to work quite hard to find any
incompatibilities (the niceties of the process scheduling spring to
mind).  i believe this compares very favourably with the Java
experience :-) (plus its execution speed is very acceptable, particular
running with JIT compilation).

we've currently got versions that run under Windows, Linux, FreeBSD,
HP-UX, and native versions under ARM, MIPS, x86, PowerPC.
it's highly portable.

one of the original papers on Inferno:
"The Inferno Operating System"
        http://www.vitanuova.com/inferno/papers/bltj.html

of more interest to the readers of this list, perhaps:
"The Design of the Inferno Virtual Machine" (Phil Winterbottom & Rob Pike)
        http://www.vitanuova.com/inferno/papers/hotchips.html

"Dis Virtual Machine Specification"
        http://www.vitanuova.com/inferno/papers/dis.html

i got involved with the system because it's a sane, nay beautiful,
programming environment and if i write a program in it, i don't have to
port it again, hurray!

if you want to get a feel for it, albeit in a restricted environment
(due to security considerations), it will even run inside Internet
Explorer:
        http://www.vitanuova.com/inferno/pi/index.html

  cheers,
    rog.

PS. also, the complete source code is also available (for commercial
or non-commercial use) at reasonable ($300) cost.