Why do people on Hacker News dislike the Windows kernel so much, without knowing a gram about the innards of Windows? All you lot see is the Windows shell, which is fairly trivial to replace (ergo why it has changed so often in the past 30 years since NT 3.1).
Windows NT is a remarkably modular kernel architecture, with design decisions far ahead of its time. Things like (acronym overload here) COM, (A)LPC, UMDF, Windows subsystems (for Linux and Android), and an absolutely immense media and utilities ecosystem: Direct3D, DirectWrite, WASAPI, etc.
Why not hope Microsoft open-sources the entire Windows stack including the NT kernel, NTFS drivers, and the Windows API, rather than hope it 'uses Linux'?
> Windows "experience"(sic) into a UI/Desktop Environment for Linux
And for the record, this more-or-less already exists: it's called KDE Plasma Desktop 5.
The Windows kernel really isn't that great by modern standards, neither codewise nor architecturally. And yes I know a lot about it.
There's a LOT of weird stuff lurking in there, and a lot of features they've added in recent years just doesn't work properly at all (anything uwp related...). Even the basics of how you start another process have turned into a labyrinthine mess. Then you have things they never fixed like the totally unhelpful NT file locking semantics that regularly break apps that work fine on UNIX.
NTFS is supposedly a nightmare of tech debt that uses SEH for control flow, yet their attempt to move Windows to a new ReFS stalled and failed. Note: Apple managed this with APFS and Linux distros have routinely introduced new file systems.
COM isn't a part of the kernel but is the same situation - incredibly complicated and has not been evolved well. Lots of failed rebrands, attempts to rejuvinate it that actually made things worse.
Within its own rules, yeah, it's pretty great. Very high performance, huge feature set, everything is configurable and transparent, relatively non-buggy, clean code, runs on everything.
If you want stable driver APIs that allow you to distribute hardware support with the hardware, keeping that investment proprietary, then obviously no it's crap, and that's a pretty important use case.
If your hardware has good driver support in-tree though, then Linux is hard to beat these days. It just gets so much more investment than the NT or Darwin kernels.
There are a few places where Darwin is ahead especially w.r.t. code signing and sandboxing. I can't think of anything that NT in particular excels at though.
Driver guard, safe kernel, userspace graphics drivers, Xerox PARC/Oberon like workflows between kernel and userspace frameworks, setting the rules where graphics APIs are going (DX drives, Vulkan follows),...
Mantle was just a PC API based of how game console APIs work, like DirectX on XBox.
As for Oberon, there is enough material out there.
Suffice to say how Powershell integrates with .NET, DLLs and COM, enabling OS and applications scripting, pursue of safer approaches to OS system programming instead of yet another UNIX clone written in C.
I said nothing about the windows kernel. I honestly don't care. It's not what the end-user uses. It's the UI and the graphics stack etc that matters for gamers and other users of Windows.
Package that UI and those libraries into the windows experience desktop for Linux and call it a day.
---
If they open sourced windows that'd be good, too! Hackers could then remove all the garbage like telemtry, ads, etc., and it'd be dope as well. They could hack the UI to be even more tiling friendly. It'd be amazing.
A few non-desktop things I'm not fond of (allowing that I don't know that Windows counts these as ‘kernel’): Processes are expensive. Files are expensive. File names have nasty restrictions.
> KDE Plasma Desktop 5
Personally, I use KDE because it allows me to replicate one particular Mac feature that's important to me: leaving Control alone for terminal (editor) control characters.
Windows NT is a remarkably modular kernel architecture, with design decisions far ahead of its time. Things like (acronym overload here) COM, (A)LPC, UMDF, Windows subsystems (for Linux and Android), and an absolutely immense media and utilities ecosystem: Direct3D, DirectWrite, WASAPI, etc.
Why not hope Microsoft open-sources the entire Windows stack including the NT kernel, NTFS drivers, and the Windows API, rather than hope it 'uses Linux'?
> Windows "experience"(sic) into a UI/Desktop Environment for Linux
And for the record, this more-or-less already exists: it's called KDE Plasma Desktop 5.