Hacker News
points by EvanAnderson 2 days ago | 0 comments
> Also, the NT kernel is criminally underrated, and pretty much unknown to hobbyists. It had features that Linux took years and years to come up with its own design for...

A person after my own heart. NT was actually designed, versus being a reimplementation of an existing thing.

[–] jmmv 2 days ago
I was curious about this a couple of years ago and ended up digging into the history of the NT design, comparing it to contemporary Unix systems, and writing this: https://jmmv.dev/2024/09/windows-nt-vs-unix-design.html . Pretty enlightening exercise.
[–] mvdwoord 2 days ago
Great read. It reminded me of a talk I attended in Amsterdam by Mark Russinovich.

Windows and Linux: A Tale of Two Kernels - Tech-Ed 2004

https://youtube.com/watch?v=HdV9QuvgS_w

[–] trentnelson 1 day ago
Great article… but no mention of one of NT’s best features: completion ports! It ties together all the best features of the NT kernel and makes writing performant multi-threaded I/O applications (especially socket servers) a delight. The thread pool APIs introduced in Vista (which use completion ports under the hood) were also a sublime addition. https://pyparallel.org was possible to hack into existence over the course of about 3 months thanks to all these powerful primitives.
[–] bananaflag 1 day ago
I have heard that the 2nd edition of Inside Windows NT is much more informative than the 1st.
[–] Tuna-Fish 2 days ago
Too bad for all the horrible misfeatures that got designed in and that we still have to live with, like the entire I/O Manager/Object Manager/filters/driver stack mess, with no caching anywhere above the drivers.
[–] happymellon 1 day ago
NT was criminally underrated by Microsoft.

Far too many features required 3rd party tooling to access, or were buried within menus of menus. Then were slowly either duplicated or replaced with half baked solutions.

[–] speed_spread 1 day ago
Microsoft never built the cheap, CLI-only version of NT that would have given Linux a run for its money. It would have helped preserve some of the hacker mindshare they once had with DOS.
[–] tavavex 1 day ago
Doing that would open them to the possibility of a competing stack that could push out the default Windows one, similar to a different Linux distro. Also, they wouldn't be able to be kings of the system and force whatever they want onto you, because you could then switch away to a different NT-based distro. They just wanted the hackers to go away, it's simpler for them.

The closest they ever got to a 'nothing' NT was something like Windows Core or Factory/Validation OS. They still ship with some windowing capabilities, but they could strip them out if they wanted to, because there is a barebones text-only mode in Windows. Of course, all these editions are or were tightly regulated and only issued to big businesses who are supposed to have them, it's nothing that a Linux user would want.

[–] indrora 1 day ago
More specifically, it came at a time where they had to be very careful what they did because they had the DOJ peering down their neck.

Windows didn't ship with a competent PDF reader for over a decade and some because of the DOJ: Any attempt by Microsoft to enter a market that already had a competition was seen as anticompetitive.

It's pretty trivial to get ValidationOS running, even down to RL1 where the kernel and NT execution environment are the only things you have: https://youtu.be/Zw5ysOJcY84?t=610

[–] EvanAnderson 1 day ago
A fever dream of mine is a "distribution" of NT that ships with the Interix subsystem and boots to text mode (or serial console) by default.
[–] justincormack 1 day ago
Windows Nano Server nearly was that although wasnt cheaper.
[–] roryirvine 1 day ago
I'm fairly vague about post-1990s Microsoft products, but wasn't Windows 2008 exactly that?

No GUI, with admin through Powershell, remote MMC snap-ins, or the SCUM/SCOM automation stuff. The managed hosting company I worked for around 2010 used it fairly heavily, and it didn't seem much worse to admin than the CFEngine / Puppet type tooling we had for Linux at the time.

[–] EvanAnderson 1 day ago
Server Core is sort of that. The GUI is still there. You can run full Win32 GUI programs if you bring over the dependencies. There's less bots there but it's not analogous to a lightweight Linux distro that has no windowing environment.
[–] stonogo 2 days ago
It sure looks a lot like VMS to me...
[–] mesrik 2 days ago
It does, and for reason I'm assuming many already know why. But if you weren't joking and were living under a rock. Look up the guy, Dave Cutler, who were mostly responsible putting together both.

  https://en.wikipedia.org/wiki/Dave_Cutler
Youtube has many of his interviews. The Computer History Museum (CHM) two part is perhaps most extensive. Links below to these.

  https://www.youtube.com/watch?v=29RkHH-psrY
  https://www.youtube.com/watch?v=SVgSLud50ss
[–] dontlaugh 1 day ago
It’s certainly sad for long it took for IOCP to be copied in the form of io_uring.
[–] zbentley 20 hours ago
…which is still limited compared to IOCP. I’d love to be able to wait for locks, semaphores, etc. using uring. But no, even if you fall back to POSIX semaphores, the “everything is a file” paradigm has far too many asterisks to deliver on its promise.

Pop quiz: across all kinds of FDs (including block files, dirfds, sockets, signalfds, eventfds, lock descriptors, /proc files, tmpfs files, timerfds, and so on), which features of {select/epoll, io_uring, O_NOBLOCK, inotify/fanotify, etc.} are supported?

[–] ahartmetz 16 hours ago
You didn't mention the one with great consistency! You can close() all of them ;)
[–] zbentley 16 hours ago
At least there's that :)
[–] hagbard_c 1 day ago
> NT was actually designed, versus being a reimplementation of an existing thing.

Well, yes, it was designed and it also was a reimplementation of an existing thing, this being VMS. Since it was designed by the designer of VMS (Dave Cutler) it would be comparable to the fictional ThoRix which would be a new OS designed by Thomson and Ritchie after they did Unix.

[–] EvanAnderson 1 day ago
> Well, yes, it was designed and it also was a reimplementation of an existing thing, this being VMS.

My nitpick with the "reimplementation of VMS" statement would be that it didn't target source portability of VMS applications like Linux (and the GNU C library running on top of it) does with Unix/POSIX applications. I see it as Cutler and his team taking lessons learned from VMS and building something new incorporating those lessons in a different requirements framework.

[–] 5- 1 day ago
oh, but a unix successor from bell labs is entirely real, it's called unix (v8+).

more seriously, it's called plan9.