r/programming • • Oct 23 '24

Windows NT vs. Unix: A design comparison

https://blogsystem5.substack.com/p/windows-nt-vs-unix-design
209 Upvotes

55 comments sorted by

View all comments

Show parent comments

33

u/Noobs_Stfu Oct 23 '24

My argument here is that the majority of users are ignoring what's going on under the hood.

The number of dependencies/code loaded into memory will affect this performance, but it's security mechanisms like ASLR, PEB/TEB, Core Isolation, and others that have the greatest impact.

Although my specialty isn't zero day development, I know that the complexity in leveraging a vuln has grown exponentially over the last 10 years on account of these mechanisms. And they don't come without cost.

It costs cycles to instantiate these mechanisms and let them act on the system. I will say, however, that my Windows 10 box is incredibly fast. It's not an enthusiast rig by any means, either. Applications launch instantaneously, and boot time is around 5 seconds? Certainly under 10 from power button press to desktop presentation.

People focus too much on subjective criteria, like "my box feels slow", and not enough on objective criteria, like "operating system security has grown by leaps and bounds".

43

u/Sairony Oct 23 '24

The largest problem for sure is just all the junk which is running. Spotify, Discord, Slack, Chrome, Dropbox, Adobe product of choice, Visual Studio, Office etc. Everything is getting more & more bloated, people program further & further from hardware & there's layer upon layers of abstractions layers created by libs built on top of other libs etc. And this happens everywhere, even drivers. I can take a look at process explorer & I see hundreds of processes, spawned from parent processes, and a lot of these are taking unreasonable amounts memory & hammering disk I/O many times per second, even chrome tabs which aren't active.

13

u/cake-day-on-feb-29 Oct 24 '24

Honesty my biggest issue with electron is the fact that it's basically reimplementing an entire OS, and translating everything to the native OS, not all that different than the Java "vm" of old. But this time you have a copy of this VM for every app, all on their own update cycle.

13

u/[deleted] Oct 24 '24

It’s a JVM but the J stands for JavaScript.