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

BeOS was a real time OS, all other client operating systems were not, and still aren't, real time. The responsiveness of BeOS and its multimedia capabilities were due to this design choice.

It felt better when you were using the GUI, and maybe this is all that matters to most users, but the implementation was significantly poorer compared to NeXTSTEP.

A real time OS has some advantages as a desktop OS, everything is instant and without lag, but the total throughput of the system is significantly lower. To make a stupid car analogy, a RTOS is a Ferrari while a conventional OS is a massive off-road vehicle. Personally I think a RTOS is the way to go for a desktop OS.



BeOS is not a realtime OS. It's scheduler is just optimized for multimedia tasks and GUI responsiveness. The popular realtime OS from the BeOS glory days days was QNX (and it's Photon graphical interface), but it certainly never "felt" faster than BeOS on the same hardware.


BeOS was definitely a real time OS. BeOS had two scheduling classes, threads with a priority level between 1-99 were time shared threads where the quantum was proportional with 2^priority_level, threads with a priority level between 100 and 120 were real time threads, they could preempt any other thread, including any kernel thread, they were locked to a CPU and never preempted. And when a real time thread was created, it preempted any time shared thread immediately, the scheduler run at creation, it wasn't only added to a scheduling queue like time shared threads.

QNX is a still very popular realtime OS in the embedded world today. Btw, the OS run by the BlackBerry devices is QNX. Usually you'll find QNX in control systems like avionics.


From what I've read, "realtime" threads with higher priority could preempt other realtime threads, meaning they could be pre-empted.


That's true of every other RTOS out there, in fact, it's required to be this way in order to provide deterministic latency.


Good points. No wonder QNX feels so snappy on the playbook.

I sometimes don't understand people's hate for the playbook, it is a wonderful tablet. IMHO it is a much better tablet than kindle fire (which is inspired heavily by the playbook btw), with TAT integration and two extra cameras and an active bezel. I time and time again feel that Google should buy rim and integrate QNX and Android.


Do you have any recommendations for a current real-time OS to use? I'd like to try one out on a desktop...


"Real time" can mean many different things.

And how "fast" and "real time" a desktop feels usually has little to do with the technically real time (or lack of thereof) of the kernel.

That said, Plan 9 has an interesting implementation of real time capabilities: http://doc.cat-v.org/plan_9/real_time/


Windows CE, apparently... ;)

But there seem to be some other interesting examples, like QNX: http://en.wikipedia.org/wiki/List_of_real-time_operating_sys...


Linux can be configured as RTOS too, but I doubt that it would improve desktop responsiveness.


RTAI and Xenomai can be considered real time Linux and both require application support. Applications don't just become real time, they must be programmed that way. Common Linux desktop application are not programmed this way.

RTLinux is more widely used than RTAI or Xenomai, but it's a completely different model, it's more like a hypervisor. Again, it doesn't help. While the OS provides the serivices, applications must be programmed specifically to use it.




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

Search: