Subject: Microsoft and POSIX (was Re: no dice yet on .net server?)
From: Shankar Unni <[email-masked]>
To: [email-masked]
Date: Fri, 25 Oct 2002 08:50:09 -0700

On 10/24/2002 11:09 PM, CBFalconer wrote:
> tprinceusa wrote:
>> .NET [...] will NOT support anything which supports posix, 

> [...] It specifically states that one of the design objectives
 > was a complete Posix layer, on an equal basis with the W32 layer.

Both of you: this has nothing to do with Cygwin.  It's talking about the 
built-in POSIX emulation layer that comes with all NTs (upto and 
including WinXP Pro). That's what they want to stop supporting. There's 
nothing in .NET that goes out of the way to examine all possible 
libraries to see if they have a "POSIX heresy" and interfere with them :-).

Yes, as CBFalconer says, the original NT design was meant to accommodate 
multiple ABIs that were all first-class citizens. The two main ones they 
had in mind were Win32 and POSIX, and these were meant to sit 
side-by-side, providing alternate means to access the "real" kernel 
layer, which is the NT ABI.  (You can call this ABI directly, by the way 
- see the DDK for the various Nt*() APIs).

However, when finalizing NT 3.5, Microsoft made a specific design 
decision to cripple this POSIX ABI, so that programs using that POSIX 
layer would not see any Win32 features at all (and vice versa - they 
walled the ABIs off from each other).  Even so far as not to allow GUI 
applications using the POSIX layer. Naturally, no one uses it.

Microsoft bought Interix (used to be called NuTCracker) to provide a 
full-featured POSIX and Motif/X11 ABI that sits *on top* of the Win32 
layer (much like Cygwin and XFree86/LessTif do - in fact, the two 
products overlap a lot in their goals), and they aim to support this on 
.NET.  It's already being shipped for WinNT 4.0+ as part of the 
"Microsoft Services For Unix 2.0" package.

[Back to the meaningless drivel..]
--
Shankar.

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/