Implementing a Linux subsystem on NT would be considerably more work.
Instead of just patching the Linux kernel to get it to run, you would be
essentially re-implementing the Linux kernel's functionality under NT.
You would then be in a situation where every new Linux kernel feature
would heve to be re-implemented in the sub-system.
Also, I believe there is a desire here to keep the CoLinux virtual
machine separate from the win32 host. This makes it less vulnerable to
As far as X goes, I don't believe a sub-system will help you there - you
would still need to write an X-server that deals with GDI - notice that
none of the existing sub-systems other than Win32 have graphical
[mailto:colinux-devel-admin@...] On Behalf Of Anthony
Sent: Tuesday, April 13, 2004 3:12 AM
Subject: [coLinux-devel] Why not utilize NT's Subsystem capabilities?
I think you have a great vision and a great product, but why are you
using a virtualization method for hosting the CoLinux environment on
Windows instead of creating a true Linux Subsystem?
Using the NT Subsystem would allow you many of the features you are
striving to implement, especially interoperability with the existing
Win32 subsystem and the NT kernel level drivers?
One of the remarkable abilities of the NT architecture is the
client/server kernel that allows for Subsystem implementations, as has
been demonstrated by Win32, Win64, OS/2, Posix, and even Microsoft Unix
services. They are all basic independent OSes with their own kernels
that sit on top of the NT kernel architecture.
If you designed CoLinux as a true subsystem of NT, you would still be
able to maintain a full Linux kernel and binary compatibility, but also
be able to utilize drivers from the NT core and not have to virtualize
'host drivers' and also be able to share information via the NT kernel
to other subsystems like Win32/Win64, etc.
Even XWindowed applications could run in independent windows and not in
the CoLinux virtualization Window.
I don't know if this is a concept you have already explored, but I find
it strange that with the NT kernel subsystem technologies that you would
set out to create a virtualization environment for your CoLinux instead
of creating an NT Linux Subsystem.
Keep up the good work,