Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Architecturally WindowsNT was a much better designed system than Linux when it came out.

I wish it had branched to one platform as a workstation OS (NTNext).

and one that gets dumber and worse in order to make it work well for gaming. Windows 7/8/10/11 etc,

Technically one would hope that NTNext would be Windows Server, but sadly no.

I remember installing WindowsNT on my PC in awe how much better it was than Dos/Windows3 and later 95.

And compatibility back then was not great. There was a lot that didn't work, and I was more than fine with that.

It could run win32, os/2, and posix and it could be extended to run other systems in the same way.

Posix was added as a nessecity to bid for huge software contracts from the US government, and MS lost a huge contract and lost interest in the POSIX sub system, and in the os/2 sub system.

Did away with it, until they re-invented a worse system for WSL.

Note subsystem in WindowsNT means something very different than subsystem for Linux.



Linux is one of the prime examples of the Worse is Better motif in UNIX history. And to all your points I don't think it's outgrown this, it is not a particularly elegant kernel even by UNIX standards.

Linus and other early Linux people had a real good nose for performance.. not the gamesmanship kind just stacking often minuscule individual wins and avoiding too many layered architectural penalties. When it came time to worry about scalability Linux got lucky with the IBM investment who had also just purchased Sequent and knew a thing or two about SMP and NUMA.

Most commercial systems are antithetical to performance (there are some occasional exceptions). The infamous interaction of a Sun performance engineer trying to ridicule David Miller who was showing real world performance gains..

I think that keen performance really helped with adoption. Since the early days you might install Linux on hardware that was rescued from the garbage and do meaningful things with it whereas the contemporary commercial systems had forced it obsolete.


WSL was a real subsystem. It worked in similar ways to the old subsystems. However, the Linux kernel is different enough from Windows, and evolves so much faster, that Microsoft wasn't able to keep up. WSL2 is mostly just fancy virtualization but this approach has better compatibility and, thanks to modern hardware features, better performance, than WSL ever did.


> thanks to modern hardware, very little performance penalty

I would not call 1 order of magnitude performance penalty for accessing a local file system “little”: https://github.com/microsoft/WSL/issues/4197


Yeah, that's pretty bad. The fact that mounting the volume as a network share gets better performance is surprising and somewhat concerning.

However, what I was talking about performance-wise was the overhead of every system call. That overhead is gone under WSL2. Maybe it wasn't worth it for that reason alone, but original WSL could never keep up with Linux kernel and ecosystem development.

Being able to run nearly all Linux programs with only some operations being slow is probably still better than being able to run only some Linux programs with all operations being slow.


The problem with WSL1 was the very different file system semantics between Windows and Linux. On Linux files are dumb and cheap. On Windows files are smarter and more expensive. Mapping Linux file system calls on Windows worked fine but you couldn't avoid paying for that difference when it came up.

You can't resolve that issue while mapping everything to Windows system calls. If you're not going to map to Windows system calls then you might as well virtualize the whole thing.




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

Search: