I really wanted to get this to critical mass before announcing, but ofcourse I'm swamped for the forseeable future and this is a big job, soHELP!

Feel free to critique, flame, offer help, create a working example, etc.Don't bother complaining that it's distasteful: I already feel thesame way to some extent, however I think this is well worth doing.

The WLinux idea (high level):

Create a configuration and distribution of Linux that will run 'under'Win95 and WinNT using virtual device stubs to access native devicedrivers and innovative methods to safely coexist with the 'closed'operating system. I call this WLinux. (By extension, WLinux95,WLinuxNT.) (Some consulting company has the name 'Winux' I believe.)

Yes, this sounds crazy and useless at first to many. Also, it's quiteobvious that we'd all like to run Linux natively and virtualizeWin95/NT. (And there are people working on that difficult task.) Itoccurred to me that this, opposite, scenario had a lot of interestingside effects.

Benefits:

A truly portable, shrinkwrap version of Linux that can run on anyWin95/WinNT machine with no regard to native device drivers.(Assuming a typical application.)

Total availability of Linux to any user.

The ability to say that Linux can run on more machines than any otherOS. (In other words, if Linux can run on any Win95/NT box, then it isAlways a superset of MS OS availability.) In any case, some suitablestatement could be constructed to annoy Gates.

Total availability of Linux to all application developers. This isprobably the most valuable benefit. It provides a large market forUnix/Linux programs and a possible migration path.

Likely problems in early versions:

Performance. WinNT/WLinux, although harder to implement and a smallermarket, would probably be more efficient than Win95/WLinux due toasync IO in the former.

Details of implementation:

The basic method to make a modifiable OS (Like Linux) run under a32-bit closed OS is to virtualize the device drivers (easy),virtualize the file system (easy), and virtualize the memorymanagement (hard).

The simplest way to do the latter is to create a kernel level devicedriver (i.e. VXD in Win95) that can manage the MMU configuration. TheLinux instance runs as a process under Win95. It allocates blocks ofmemory from Win95/NT. When ready to access devices or file systems,it makes standard Win95/WinNT calls through it's virtual drivers.

When it's ready to 'run' kernal/process code, it makes a special callto the WLinux MMU VXD. This VXD scans the MMU configuration to findall the blocks associated with the WLinux instance. These then becomethe ONLY physical memory that is configured during the WLinux 32bitRing0 mode. By using memory in this way, the dormant Win95/NT OS andapplications are protected from any WLinux action.

When the WLinux Kernel invokes a virtual device driver, the reverse MMUreconfiguration is performed, allowing the WLinux to continue as aWin32 app to manage 'native' OS interaction.

Alternatives:

Could the same be done in the opposite direction? (Win95 'under'Linux using this method.) Maybe. Would be much more desirable, butprobably much more difficult.

Convince Insignia or Connectix to port their Virtual PC systems to Linux.