Re: Linux + Win95 simultaneously

Mike A. Harris (mharris@blackwidow.saultc.on.ca)
Tue, 4 Nov 1997 17:28:00 -0500 (EST)


On Mon, 3 Nov 1997, Mike Sharkey wrote:

> davies@pobox.com,Internet writes:
> >With a dual-processor Pentium, would it be possible in principle to run
> >Linux and Win95 simultaneously, one on each processor?
> >
> >Here's why I thought there might be a chance. For a PCI Mac, you can get a
> >PCI card with a Pentium running Windows. Although all I/O devices are
> >physically attached to the Mac, the two processors share them, including
> >monitor, keyboard, mouse, hard drives, diskette drive, CD-ROM, etc. On the
> >Windows side, the drivers are modified to invoke Mac functions for I/O via
> >PCI. On the Mac side, extensions are provided to listen for Windows I/O
> >commands and execute them on the Mac I/O devices.
> >
> >For the next step, substitute Linux on a (single processor) PCI Pentium for
> >the Mac. The same PCI board could be made to work by emulating Windows I/O
> >in Linux, instead of in MacOS.
> >
> >Supposing we have that working, now substitute a dual-processor Pentium for
> >the two Pentiums linked by PCI, and substitute the memory bus for the PCI
> >bus. Allocate different regions in memory for Windows and for Linux, and
> >have the Windows drivers communicate through shared memory rather than
> >through PCI.
> >
> >With suitable support in Linux, could this work?
> >
> >My feeling is that if this would work at all, it would require a significant
> amount of effort. I have to ask myself why would many people want this? It
> seems easier and more reliable to just run win95 on another box joined to your
> linux box by ethernet. Once you've connected the machines via ethernet, you can
> share most everything anyway, so why bother trying to get them both to run on
> one machine?

Yes, I agree. If you need to run '95 apps, and Linux, then use
WINE, WABI, Willows, or else 2 machines. The headaches of such a
"hardware" modification would be too much to bother with. All of
the API interceptions, etc... In a MAC, this works ok
(alledgedly) because the machines are 2 different architectures.
Your choices on the MAC would be binary emulation, or a separate
CPU with API hooks (like you state). On that platform, the
second solution would probably be the faster choice. I believe
that even in this case however, that 2 separate machines would be
better. Why? You know that you're using standard hardware, and
not some hacked up setup. Also, upgradability of both systems is
ensured (provided that you purchase upgradable hardware for both
systems).

On the PC however, the SINGLE CPU is capable of running Intel
code, and since W95 is Intel code, why use 2 CPU's and add all of
the complexity, when a standard emulator such as
WINE/WABI/Willows is allready doing their best to intercept API
calls. With the hardware approach that you propose, you'd have
to do all that these emulators are trying to do _PLUS_ support a
wicked proprietary unupgradable hardware setup. Not a very good
design IMHO.

I only feasable solutions are:

1) Dual boot the machine (Linux/W95) - as I do
2) Linux + emulation software (WINE/WABI/Willows)
3) Both 1 and 2

If the emulators do not run the software that you wish to run,
then you'll have to dual boot. If they don't run under these
emulators, then either they never will (and probably wouldn't
under the setup you proposed as well), or else by the time any
implementation of what you propose could run the software, the
emulators would all ready be upgraded to do it anyways.

So the solution that you propose is infeasible IMHO.

Take care.

Mike A. Harris | Homepage: http://blackwidow.saultc.on.ca/~mharris
Computer Consultant | Am I online? - finger or ping capslock.dyn.ml.org
My dynamic address: http://blackwidow.saultc.on.ca/~mharris/ip-address.html
DJGPP is a FREE 32 bit protected mode C compiler for MS-DOS