logoalt Hacker News

vundercind11/07/20247 repliesview on HN

QNX and BeOS were the only operating systems I tried in the early '00s that could make old single-core mid-90s Pentiums feel excellent and snappy to use. Far, far better than any Windows version, or Linux.

I assume it's mostly scheduler stuff and much better multimedia stacks, in both cases. I always hoped the operating systems of the future would feel more like that. Closest we've got is probably iOS and it cheats by killing processes all the time. The future is lame.


Replies

smallstepforman11/07/2024

BeOS was “pervasively” multithreaded, which in non marketing speak means the kernel did not have a giant lock (since it was designed as a many core system from day #1). Its contemporary OS’s at the time had a giant single lock. BeOS also had 750ms preemption interval (or was it 3ms, I dont remember) while Linux and Windows had 20ms, then later 10ms, so this is what you fealt. A couple of decades later and most OS’s matched the finer locking granuality in kernel space, minus the premption interval (argument being throughput vs latency, since scripted OS benchmarks measure overall throughput, not GUI responsiveness). A perfect example is media buffers that benefit from smaller buffer sizes, at the cost of less throughput. Musicians notice better responsiveness in BeOS, hence the monicker “Media OS”.

Also, in GUI space, the BeOS/Haiku app server still offers a more distributed workload compared to other desktop environments. Every windows is assigned its own thread, the app gets its own thread, and the app and application server have 1 thread per app and window to ensure they are not blocked waiting for slow app message parsing. So minimum BeOS app with graphical “Hello World” window is 4 threads. So even if the app is busy, the rest of the system still feels responsive.

All this comes at a throughput cost, as well as an app development complexity cost, especially for ported apps. Haiku needs to marshall Qt/Gtk/toolkit messages from many windows into a single message queue to prevent multithreaded bugs from popping up (since in their original environment, all app message loopers were not multithreaded). This marshalling needs additional lock/unlock calls in Haiku even when not needed (messages to same window).

Haiku native apps, on the other hand, are smooth as ice. See this screenshot of Medo video editor where all windows are working in their own threads (https://raw.githubusercontent.com/smallstepforman/Medo/refs/...). On modern systems, this app is smooth as ice, which for a video editor is heresy. Disclaimer: I wrote the linked Haiku app.

show 1 reply
Baeocystin11/07/2024

I non-ironically dream for the day that a modern computer is as snappy booting as my old Commodore 128, as fast to reset, and as responsive to all keystrokes.

show 2 replies
Aurelius10811/07/2024

Although they’re cheating, I give them props for trying. I abandoned Android when even Samsung didn’t make an honest effort to make their phones responsive. It’s nice that Apple consistently values responsiveness because then Google, Samsung and Microsoft have some incentive to address their bloated products.

workfromspace11/08/2024

As someone also have used BeOS and OS/2 Warp, I miss the snappiness of old systems. (I never got my hands on QNX)

What OS nowadays is the closest to that snappiness? Haiku OS? (I'm a happy M1 Macbook user, but it sometimes feel note nough.)

show 3 replies
ddingus11/09/2024

I never ran QNX, but my experience with BeOS were similar to yours in that a Pentium 90 felt great!

Another data point:

SGI IRIX has an unusually good scheduler. I ran a 30Mhz machine for a while and it's desktop was pretty snappy.

One day, I compiled AMP and fed it a list of .mp3 files, most being 192kbps. The program could decode 256kbps without skipping, just FYI.

Those files were on an NFS share.

When I ran the gr_osview program, CPU was 95 percent utilized, and still the file manager was responsive and that music did not skip.

Frankly, just decoding higher bitrate > 192kbps mp3 files at 30Mhz was impressive.

Doing it with a full X Window system desktop, while playing he files off an NFS share, while remaining responsive speaks to a lean and mean network stack and scheduler that performed even on low spec hardware.

Was IRIX 5.3 FYI. Indigo Elan

A friend and I enjoyed operating systems and ran Be on an old Pentium 90, and like the parent comment says, it was snappy!

Linux also has a part in this:

After a water event, that Pentium 90 was no longer reliable. Used non parity RAM and Windows NT would go slowly senile eventually blue screening over and over.

For funzies, we put Red Hat 5.2 on that box and it ran fine! The syllog had a bunch of entries every second too. Open X console, and just watch them go by...

That box served up the company web page for a coupla weeks just for fun too.

Good times.

xarope11/08/2024

I feel sad that people don't remember OS/2 anymore. It was also able to run multiple dos windows, have video running in the background etc, and that was in the late 90's.

show 2 replies
KerrAvon11/07/2024

iOS has very strict process/resource management because it wants to preserve both available RAM (for responsiveness) and your battery life. I wouldn't call it cheating (even in jest); it's a very deliberately and carefully designed feature of the OS.

show 2 replies