Live data from Hacker News

Building a QNX 7 Desktop

membarrier.wordpress.com

61–70 of 94 posts

Re: Building a QNX 7 Desktop

#61
post #55
post #48

Earlier quoted context omitted.

> Cisco doesn't use QNX Other than on their most expensive, powerful routers. https://en.wikipedia.org/wiki/IOS_XR

Wow, I forgot that even existed. Here I was thinking of every switch, firewall, and routing product they've done except this line. I guess it doesn't help that I've never had a reason to touch one as every carrier grade router I've used has been Juniper. I wonder why they went with a whole new platform based on QNX when you don't benefit from a realtime OS if all the packets are moved in hardware? Must be something a…

"I've still yet to meet someone who actually prefers Cisco over Juniper MX. I wonder who is buying these?"

You have met my ex-boss.He had no reason to necessarily prefer Cisco other than that's all he was accustomed to.

Re: Building a QNX 7 Desktop

#62

> As was mentioned earlier, BlackBerry QNX is not your typical embedded system, and our tools team provided me with the GNU tool chain (compiler, linker, debugger) built to run on an SDP 7 system. Doesn't this imply some licensing troubles with the proprietary QNX license?

I can run GCC on Windows, another proprietary OS....

Running software is different than distributing it, and this is from a QNX engineer so I'm assuming this is being distributed by QNX.

Re: Building a QNX 7 Desktop

#63
post #51

Earlier quoted context omitted.

While I haven't used Erlang, I have used other systems with nice messaging systems (PX4 autopilot and ROS) so I will try: 1) Data is passed between threads/processes using a message bus (essentially, a queue). This means, no need to synchronize data access, as every subscriber gets it's own message copy. 2) Suddenly, you need access to certain data from another module. If the program was architected as regular class…

I don't have much experience in the field. Are you searching for something like Apache Kafka? On the web page it states that Apache Kafka is a distributed streaming platform. Kafka has four core APIs: The Producer API allows an application to publish a stream of records to one or more Kafka topics. The Consumer API allows an application to subscribe to one or more topics and process the stream of records produced to…

The problem with projects like Kafka is that they are geared towards cluster scenarios on beefy machine and cannot be embedded in other projects and used as a message bus.

An example for which Kafka is not a good fit: embedded system which reads a few sensors and does a bit of image processing. Such a system should really be compiled to one or multiple native binaries and does not really need JRE.

Re: Building a QNX 7 Desktop

#64
post #34

Earlier quoted context omitted.

Funny there doesn't seem to be an OSS attempt of something like it... ( Or my google-fu is weak )

Google Fuchsia is a capability-based, real-time operating system (RTOS) being developed by Google. https://en.wikipedia.org/wiki/Google_Fuchsia 15 years ago I waited for GNU Hurd, but now I am very interested how Google Fuchsia turns out. What I read it shapes up nicely, and I can imagine we all will use it in near future instead of Windows and other binary blob legacy operating systems; it might also replace Linux a…

That's going to be interesting. Some of the people at Google working on it are ex-QNX people.

Re: Building a QNX 7 Desktop

#65
post #58
post #10

That's nice, but sad. Until QNX 6.5, there was a full windowed desktop environment, with the Photon window manager. I used QNX on the desktop when developing a DARPA Grand Challenge vehicle from 2003-2005. Back then, at QNX 6.21, you had the window manager, the Eclipse development environment, Firebird (Firefox before the name change), and Thunderbird. Then QNX marketing cut off the free version, and all the free sof…

> The desktop environment had very consistent performance, because QNX doesn't swap. (It's a real time system, after all.) Is it possible to configure Linux towards this sort of behavior? I disabled swap, and whenever my memory is exhausted aggressively (think a runaway program writing to /tmp, which is on tmpfs), my system comes to a grinding halt. How does QNX deal with memory pressure?

In the Photon GUI, there was a bar at the lower right of the screen showing how much memory was in use. If you tried to start a program and it wouldn't fit, you got an error message. Existing programs continued to run, but requests for more memory might return an error. In the real time world, you don't ask the OS for memory after startup for anything critical.

Re: Building a QNX 7 Desktop

#66

Earlier quoted context omitted.

When not even MS could muscle their way back in after burning their PocketPC bridge, BB didn't stand much of a chance.

Blackberry owned the market though. They were the corporate smart phone. They lost it all... Has anyone written about what blackberry actually tried to do to prevent losing to Apple? My memory is that they basically were convinced there was no way they could lose their marketshare, so effectively just watched as they lost everything.

"Losing the Signal: The Untold Story Behind the Extraordinary Rise and Spectacular Fall of BlackBerry" by Jacquie McNish & Sean Silcoff

Scandal distracting them, playing by the old bandwidth rules too long, and Verizon wanting an iPhone killer (which is different from RIM/Blackberry's focus) were the lessons I read. Remember, they hit their max market cap a year after the iPhone.

Re: Building a QNX 7 Desktop

#67
post #55

Earlier quoted context omitted.

Wow, I forgot that even existed. Here I was thinking of every switch, firewall, and routing product they've done except this line. I guess it doesn't help that I've never had a reason to touch one as every carrier grade router I've used has been Juniper. I wonder why they went with a whole new platform based on QNX when you don't benefit from a realtime OS if all the packets are moved in hardware? Must be something a…

"I've still yet to meet someone who actually prefers Cisco over Juniper MX. I wonder who is buying these?" You have met my ex-boss.He had no reason to necessarily prefer Cisco other than that's all he was accustomed to.

But how do you get "accustomed" to it when every OS Cisco has looks the same but is different enough to drive a man insane?

Re: Building a QNX 7 Desktop

#68
post #26

Nice work! Very tempted to try it out on a spare machine. Sure brings back memories of the fully functional QNX desktop that fit on a single 1.44MB floppy! [0] Tangent: It's a shame that Blackberry hasn't captured more of mobile phone market with the QNX based BB OS10 - I got myself a BlackBerry Passport couple months ago and find it is a great daily driver for my needs. Square screen (1400x1400) and physical keyboar…

I loved BB10 and the Hub. It was my favourite smartphone OS by far. That being said, I hated momentics!

The Passport's keyboard was a poor layout but BB10 usage of it was amazing for editing.

https://www.youtube.com/watch?v=QNVT95S6_eE

Re: Building a QNX 7 Desktop

#69
post #37
post #28

Earlier quoted context omitted.

It's not exactly because ssh can't forward `/dev/ttyS0` It takes more than someone just adding a special adapter to produce such an interface, because you also have to change all of the modem applications that consume the `/dev/ttyS0` interface to also consume the unix-domain or TCP-based interface. Meanwhile with Qnet, an application simply goes open("/net/node1/dev/ser1") and gets the modem attached to node1. Plan9…

Linux has 9p2000 support, I've never heard of people actually using it to export devices over the network though. Fuse also has support for ioctls and other weirdness so it's not impossible for something like sshfs to forward /dev over the network.

no.

Re: Building a QNX 7 Desktop

#70
post #65
post #58

Earlier quoted context omitted.

> The desktop environment had very consistent performance, because QNX doesn't swap. (It's a real time system, after all.) Is it possible to configure Linux towards this sort of behavior? I disabled swap, and whenever my memory is exhausted aggressively (think a runaway program writing to /tmp, which is on tmpfs), my system comes to a grinding halt. How does QNX deal with memory pressure?

In the Photon GUI, there was a bar at the lower right of the screen showing how much memory was in use. If you tried to start a program and it wouldn't fit, you got an error message. Existing programs continued to run, but requests for more memory might return an error. In the real time world, you don't ask the OS for memory after startup for anything critical.

> In the real time world, you don't ask the OS for memory after startup for anything critical.

What?

Post reply on HN