Hacker Newsnew | past | comments | ask | show | jobs light | darkhn

NT is a monolithic kernel and "hybrid kernel" is a pure marketing term. You can move functionality out of the kernel into userspace or not. There is no in-between.

I also don't get why people claim NT is "better." Linux is a modern kernel under very active development.


The graphic stack in NT is done in a microkernel fashion, it runs in kernel space but doesn't (generally) crash the whole OS in case of bugs.

There are a few interviews of Dave Cutler (NT's architect) around where he explains this far better than I am here.

Overall, you have classic needs and if you don't care about OSS (either for auditability, for customizability or for philosophical choice about open source), it's a workable option with its strength and weaknesses, just like the Linux kernel.


Parts of the kernel can be made more resilient against failures, but that won't make it a microkernel. It'll still run in a shared address space without hardware isolation. It's just not possible to get the benefits of microkernels without actually making it one.

Also Linux being OSS can't be dismissed because it means it'll have features that Microsoft isn't interested in for Windows.


> I also don't get why people claim NT is "better."

Because it does do some things "better". All I/O is async. No stupid OOM. Personality support. Stable ABI.

> Linux is a modern kernel under very active development.

As is NT, on both accounts.


Modern Linux supports asynchronous I/O. It's debatable whether NT's lack of memory overcommitting is a superior choice. OS personalities have never been relevant outside of marketing and might even be technical debt at this point, as virtualization offers a more effective solution with significantly less complexity. Moreover, the Linux kernel maintains a stable ABI.

Much of the discussion surrounding NT's supposed superiority is outdated or superficial at best. Linux, on the other hand, offers several advantages that actually matters. It supports a wider variety of filesystems natively, with FUSE providing exceptional utility. Linux also accommodates more architectures and allows for more creative applications through features like User Mode Linux and the Linux Kernel Library. It also has a more robust debugging ecosystem thanks to its large community and open source nature. All of these things are possible because Linux isn't bound by a single company's commercial interests.

Also, is Microsoft putting as much effort into NT these days? I find it hard to believe they care about NT when they stopped caring about what runs on top of it, leading to articles like this one.


> Modern Linux supports asynchronous I/O.

Not nearly to the depth and breth of NT. NT is async I/O throughout. Linux has a bunch of libs that ride on top of pretend async I/O with io_uring as a more recent bonus.

> It's debatable whether NT's lack of memory overcommitting is a superior choice.

NT won't randomly kill a process. That's the winning play.

> OS personalities have never been relevant outside of marketing

Until you've used them for non-marketing purposes, then they're invaluable. Personalities existed when virtualization didn't exist on x86.

> Moreover, the Linux kernel maintains a stable ABI.

The only stable ABI on Linux is Win32.

> It supports a wider variety of filesystems natively,

Most distros suggest ext4 out of the box. Sysadmins are going to deploy ZFS where it counts. Some might use XFS. Having access to a ton of file systems is great, but the usage outside of ext4 is going to be comparatively low. ext4 is the only FS I'd want to see as first-party on Windows as a data drive. But that would have been more important before persuasive networking.

> with FUSE providing exceptional utility

FUSE is also on Win32 via https://winfsp.dev/rel/.

> It also has a more robust debugging ecosystem thanks to its large community and open source nature.

This ignores the debugging tools on Win32 by a country mile.

> is Microsoft putting as much effort into NT these days

Yes. Even if you do the bare minimum investigative effort and follow the "what's new" for each version of Windows, you can see the kernel-level investment. Much of this is around security and isolation of kernel components. There is also Microsoft in talks (finally, again) with EDR vendors to isolate their solutions; hopefully game devs are next.

> leading to articles like this one.

This isn't an article. It's an uninformed blog post.


> Not nearly to the depth and breth of NT. NT is async I/O throughout. Linux has a bunch of libs that ride on top of pretend async I/O with io_uring as a more recent bonus.

Is this a purity thing or does it have practical implications?

> NT won't randomly kill a process. That's the winning play.

Every OS will have to when it runs out of resources. No overcommitting means it's less resource-efficient too, so things aren't that simple.

> Until you've used them for non-marketing purposes, then they're invaluable. Personalities existed when virtualization didn't exist on x86.

When have OS personalities ever been a commercial success? Every product that built on it went nowhere.

> The only stable ABI on Linux is Win32.

Containers and Flatpaks prove otherwise. Static binaries exist, too.

Also, if you're extending this Linux / Windows comparison to include the userland, then Windows is no match for Linux. Not when Microsoft is actively sabotaging Windows.

> Having access to a ton of file systems is great, but the usage outside of ext4 is going to be comparatively low.

What on earth? There's more use to filesystems than mounting it at root. Are you really claiming that OS personalities are useful, but being able to mount any filesystem is not? That's absurd.

> FUSE is also on Win32 via https://winfsp.dev/rel/

Which doesn't mean much without an ecosystem of programs using WinFsp that's comparable to Linux. Moreover, the long-term development of WinFsp isn't guaranteed, and there remains the risk that Microsoft could introduce changes that might impede the functionality of third-party filesystems.

> It's an uninformed blog post.

Uninformed? While an official Windows-themed Linux distro doesn't make sense, the observation that Windows is declining and Microsoft no longer cares at all what users think is very much correct and obvious to anyone. The fact that Microsoft hasn't ceased development doesn't negate this fact.


Yes, deep async I/O has practical applications -- here's an example (which is now outdated, but sans io_uring, demonstrates the issues with "async I/O" on most Unicies sans Solaris) - https://speakerdeck.com/trent/pyparallel-how-we-removed-the-...

> Every OS will have to when it runs out of resources. No overcommitting means it's less resource-efficient too, so things aren't that simple.

NT does memory overcommit...

> When have OS personalities ever been a commercial success? Every product that built on it went nowhere.

Xceed made money off of it. Yes, every product has a shelf life. Just like every commercial Unix. They were successful at what they did until a replacement came along.

> Also, if you're extending this Linux / Windows comparison to include the userland, then Windows is no match for Linux. Not when Microsoft is actively sabotaging Windows.

You're not saying anything, here. "No match" how, exactly?

> There's more use to filesystems than mounting it at root. Are you really claiming that OS personalities are useful, but being able to mount any filesystem is not? That's absurd.

Absurd, how? Is mounting HFS /really/ that critical to your day-to-day?

> Which doesn't mean much without an ecosystem of programs using WinFsp that's comparable to Linux.

Movin' those goal posts!

> Uninformed? While an official Windows-themed Linux distro doesn't make sense,

You uh... did read the post, right? That's what the entire thing was about!


You probably know more about this than me, but hasn't Linux had epoll for like 25 years? And BSD/macOS with kqueue? Doesn't that give you async IO?

Or are you claiming that io_uring integrates async IO throughout the OS whereas epoll didn't?


Yes, kernel-level investment. I hope in 50 years they'll add 4th hardcoded layout swichinc key combo.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact |

Search: