Re: Ideas for 2.1

Nick Simicich (
Mon, 1 Jul 1996 08:45:16 -0400 (EDT)


On Sat, 22 Jun 1996, Alan Cox wrote:

> Date: Sat, 22 Jun 1996 15:13:49 +0100 (BST)
> From: Alan Cox <>
> To: Michael Breuer <>
> Cc:
> Subject: Re: Ideas for 2.1
> > How about a linux "virtual machine." I am thinking about something
> > along the lines of IBM/VM.
> If Intel had designed the x86 to be virtualisable it would have saved a lot
> of grief in running Linux under NT, NT under Linux NT and Linux under something
> else etc.
> But they didnt so its kind of harder to do
> Alan

The 370 wasn't designed to be virtualizable, either. But the page
tables could be hidden, and the I/O instructions were regularized and
privileged, so they could be trapped and emulated. Disks were all
emulated, on the "Make a partition look like a whole disk" theory, but
all disks were controlled through a regularized set of I/O operations
(which amounted to miniature programs that controlled outboard I/O
processors) so these programs could be translated and virtualized, and
even error status was returned in standard ways using special I/O
programs (Channel Command Words).

I think it was more an accident of regular and uniform purity of
design that by the time you got to hardware that could do it, you had
something that could be dealt with through encapsulation.

Even I/O drivers were written and tested under VM, on virtual machines.

I suspect that the 486 class machines could be virtualized with some
work -- except for I/O. It is not clear to me how you virtualize a
PIO style operation, nor is it clear to me how you limit the parts of
the disk that a virtual process could see, for example.

Then, of course, they started adding hardware to make it all a little

Version: 2.6.2
Comment: Processed by mkpgp1.6, a Pine/PGP interface.


Nick choice) -- Stop by and Light Up The World!