Sounds like mach to me, but with a more solid barier between the raw
hardware accessing software and the guest os.
In mach terms, 'host' and 'guest' are 'microkernel' and 'server'.
In mach, no server accesses hardware directly, thats the microkernel's job.
In mach, the microkernel doesn't know about filesystems, that's the 'servers'
job.
In mach, the bootloader loads both the microkernel and the server before
jump'ing to the microkernel.
It would be an interesting task if you were to simply do profiling of the
plex86 software. This would tell you what the majority of the time was
spent on, outside of the vm86 mode code exeuction path. I would presume
that anything outside of vm86 mode code exeuction is 'overhead' .. so if
you could determine the biggest bottleneck through profiling, you might
have a chance to determine whether stripping away the host os is really
going to buy you time or not. I'd almost be willing to bet that the
majority of the 'overhead' is in emulating the 32bit protected mode
instructions, in which case no os stripping will buy you back any time.
But that's just a guess.
On Tue, Sep 19, 2000 at 01:04:59PM -0600, X-Odus wrote:
> I was playing with VMWare and Plex86 (what would work at least) the
> other day. I got to thinking a lot about why they run slower than a
> native OS. It is because they have to go through another Operating
> system to get to the hard ware. Why Run one OS just to run another.
> Well, what if Plex86 _WAS_ the OS. A small one, that just creates VMs
> to run other operating systems. Using CTRL + SHIFT + (F1-F12) to switch
> between VMs. If the OS was optimized for Running Other OS's, than the
> speed would increase dramatically.
>
> The VMOS could be based of Linux or some other Unix system. Using the
> Ext2 partition to manage configuration, keeping the file system
> structure. This way the VMs could be configured to use a file (ex:
> /home/user/hd.img) or an actually device (ex: /dev/hda) for disk I/O.
>
> Memory management and resource sharing should be no different than the
> Current way that Plex86 is handling it.
>
> What is everyone elses thoughts or comments on the topic?
>
> --Don Becker