Discussion about this post

User's avatar
John Dougan's avatar

A little known bit of NT history:

https://www.techmonitor.ai/technology/dec_forced_microsoft_into_alliance_with_legal_threat

NT comes from VMS & MICA (and RSX-11, etc.), as Unix comes from Multics. Except, of course, Dennis, Brian and Ken didn't steal source.

wysoft's avatar

Back in the XP/Server 2003 days I really enjoyed using Interix, or what later was called Subsystem for Unix Applications.

This was fundamentally different from the design of WSL and actually leveraged NT's capability for different subsystems or API personalities at just above the kernel/executive level.

NT's included POSIX subsystem was pretty sparse, and included no userland. Interix/SUA extended the POSIX subsystem to a more modern standard - I don't recall exactly what subset of POSIX you got, but together with the included userland (which included full X11R6), it was enough to bootstrap NetBSD pkgsrc (Interix eventually became a supported target) and build a whole lot of packages - and in the end this was not surprising given that much of the Interix/SUA userland was derived from NetBSD code.

This was always pretty cool to me. The Interix/SUA subsystem really was basically Unix on top of the NT kernel/executive. It knew very little about what was going on over on the Win32 side, though there were some bits added to facilitate some limited interaction with Win32.

That was the original goal of NT, at a time when Microsoft/IBM really didn't know which way the winds were going to shift, and the OS was designed from the ground up to be flexible in what APIs were actually going to be used to interface with the underlying guts of the system. After all the shift to Win32 and the Windows 3.x GUI was kind of a last minute decision when the OS/2 NT group fell apart.

I was somewhat disappointed when WSL replaced SUA, but not unpredictable - emulating or virtualizing Linux ABI/API made far more sense from a compatibility standpoint. There was quite a lot of software that had almost no idea what to do with Interix/SUA during the build process, and often required a lot of massaging to make things compile.

It was pretty funny running X11 GTK applications natively on an NT box for a while there.

There were some annoying sides to it too, like the lack of ability to have a Unix-like promiscuous mode on network interfaces to allow the use of some of my favorite Unix networking tools.

As far as the weight of the GUI goes, Server Core has none of it, and is pretty performant if you must run services on an NT host. I'm just still disappointed to this day in Powershell and Server Core's dependence on it. As a long time Unix user, I had always hoped that Windows would slowly creep towards a more Unixish approach to the CLI. Powershell is absolutely not the direction I wanted Windows CLI and scripting to go, but it is what it is.

13 more comments...

No posts

Ready for more?