Domain: qnx.com
Stories and comments across the archive that link to qnx.com.
Comments · 436
-
Re:Real-world examples
Blackberry 10 is also an embedded OS or I've missed something? Also, QNX can be perfectly run as an x86 desktop OS. Yeah, a really limited embedded only OS.
-
Re:translated
Actually you are correct, Blackberry as a mobile device or messenger is a dead or dying thing but QNX is another thing entirely and quite active and very competitive. It is just not a thing that the end-users see much of, being behind the scene so to speak.
I remember when a blackberry device was the thing every executive had to have and quite successful, but iPhones and various other smart phones have marketed their way past and supplanted BB devices almost totally.
-
BlackBerry's new frontier
BlackBerry may have conceded the mobile handset business but they own the automotive market. (Both Android Auto and CarPlay run as plug-in modules for BlackBerry's QNX Car OS) And for the last four years they have been quietly buying up medical electronic companies left and right and integrating them into QNX.
-
QNX
They should have gone with QNX.
http://www.qnx.com/content/qnx... -
QNX
While blackberry phones seem to have neared the end of relevance, QNX is still a hugely popular and profitable market spanning software running beneath all kinds of products.
-
Blackberry and QNX
Whether or not blackberry devices survive is very much in the balance, but Blackberry the company is making a bundle on their QNX OS, which is quietly powering a huge number of devices in very diverse markets.
http://www.qnx.com/products/ne...
http://www.qnx.com/partners/pa...
http://www.zdnet.com/article/b... -
Blackberry and QNX
Whether or not blackberry devices survive is very much in the balance, but Blackberry the company is making a bundle on their QNX OS, which is quietly powering a huge number of devices in very diverse markets.
http://www.qnx.com/products/ne...
http://www.qnx.com/partners/pa...
http://www.zdnet.com/article/b... -
Re:The Best Technical Guide?
-
Re:Headline
Original like: QNX Neutrino RTOS ?
-
BlackBerry to the rescue
Everyone is so focused on BlackBerry's supposed death spiral due to their loss of market share in the mobile phone arena they forget that BlackBerry isn't a phone company. BlackBerry is a secure mobile communications company. To that end they supply the most stable and secure OS in the medical industry (QNX) and are working with NantHealth to supply an end-2-end secure medical communications system. My first real job in electronics was working for a pacemaker OEM. The device we used to program pacemakers back then was literally a wound coil sending unsecured pulse waves to the device. It's why patients couldn't get near microwaves because a stray pulse from the microwave could wipe the entire program on a pacemaker. NantHealth's system is both robust and secure from the hospital to the medicine cabinet at home.
-
Re:Why car info tech is so thoroughly at risk ..
I don't know about MS Sync; I think Sync is name of the application, which runs on top Windows CE and MS Auto. My recollection could be wrong -- I've tried incredibly hard to forget everything 've ever known about WinCE, but I think WinCE and maybe MS Auto are "Shared Source", where you can obtain the source.
QNX is definitely open-source.
-
Re:Old guy story
It looks like some of that stuff is still free. After reading some of the thread I decided to investigate and I came up with this:
http://www.qnx.com/download/I have nothing better, or more productive, to do in my spare time so I may poke at it and see where I can go. I wonder if I can get it on a Pi? I have a Pi and can just use that if it works. I have, of course, no reason to have a Pi other than it looked like fun at the time. I have unboxed it once. I can not think of anything to do with it. Maybe I should get a Pi2 which, it seems, can actually take SoaC and poke at that. Then again, I can probably search and find something fun to do with a Pi but I can not think of anything that I actually would benefit from with it.
-
Re:Riiiiight.
You are correct. However Apple developed the CarPlay spec with QNX's assistance. Basically Apple copied the MirrorLink API and made their own version but they had to make sure QNX had a CarPlay plugin since the majority of cars today run on QNX. So to dismiss the QNX base is to deny that without QNX's help CarPlay would still be a concept instead of a shipping product. While the phone is handling the interface QNX is still coordinating the connection. Ford is likely switching to QNX at least partly to get CarPlay into their cars.
-
Re:Riiiiight.
The confusion stems from thinking of QNX as the radio (infotainment system) instead of the vehicle control system. Past generations of automobiles separated the two but on modern cars they are integrated. QNX is used to control the entire electronic system including all the sensors on the engine and transmission, the cruise control, the intrusion detection system, as well as the cabin A/C. They all work in concert. That is why Android auto and CarPlay both run atop of QNX. Something Apple and Google downplay. QNX is sold a la cart. OEM's can purchase just the kernel or a whole host of off the shelf plugins that provide a very robust drop in ecosystem. Ford's MySync system runs atop Windows CE (Windows Embedded Compact) and the complaints from customers was it was just too slow. After years of trying to get the responsiveness they wanted they have finally admitted Windows Embedded Compact just isn't the ideal platform for their cars.
-
Re:Riiiiight.
One of the reasons you would need a realtime os is Active Noise Control.
-
Re:iPod connectors/compatibility since at least '0
For my '07 S80-V8 an iPod connector and in-dash stereo integration was a factory option (which I added).
I believe your '07 S80-V8 is running QNX. The option you purchased was a module for QNX that talks to iPhones/iPods. QNX/BlackBerry are partners with Apple and the reports I've read indicate that iOS for car will still be running the QNX kernel.
I wonder why Apple can't make AirPlay mirroring with touch to an in-dash display a standard. For makers, it would make it something Android could support with an additional protocol and it would eliminate the need for most of the horrible in-dash infotainment systems car makers come up with.
QNX supports Miracast and Mirrorlink so if it is enabled by the manufacturer any device with those technologies will be able to just what you are asking for. In fact QNX demoed the tech at CES 2014 (Jump to 7:00)
-
Re:iPod connectors/compatibility since at least '0
For my '07 S80-V8 an iPod connector and in-dash stereo integration was a factory option (which I added).
I believe your '07 S80-V8 is running QNX. The option you purchased was a module for QNX that talks to iPhones/iPods. QNX/BlackBerry are partners with Apple and the reports I've read indicate that iOS for car will still be running the QNX kernel.
I wonder why Apple can't make AirPlay mirroring with touch to an in-dash display a standard. For makers, it would make it something Android could support with an additional protocol and it would eliminate the need for most of the horrible in-dash infotainment systems car makers come up with.
QNX supports Miracast and Mirrorlink so if it is enabled by the manufacturer any device with those technologies will be able to just what you are asking for. In fact QNX demoed the tech at CES 2014 (Jump to 7:00)
-
Re:What makes an OS realtime?
-
Re:QNX Car 2.0
-
QNX Car 2.0
-
Re:Color Me totally unsurprised
You have no idea what you are talking about. QNX gave them instant OS reach into industrial, medical, and automotive realms. In fact Automotive is the next big battleground and BlackBerry is in a key position to capitalize since QNX is already installed in an impressive array of auto makers cars already. I'm not saying they WILL capitalize but until Apple launched the iPod every industry expert was singing their death knell.
-
Re:Color Me totally unsurprised
BlackBerry bought The Astonishing Tribe (They designed the UI for the G1) to redesign the BlackBerry UI.
They also bought QNX to be the base for the new BB OS 10.
In fact they were quite aggressive in acquiring properties to bolster their brand.All of those acquisitions do nothing (as in, bupkis) outside of the mobile device realm that Blackberry occupies. Nothing.
Find me something that can be used outside of that realm, and I'll be happy to concede.
Novell's acquisitions gave it reach into selling OSes (SuSE), email (GroupWise), and stuff well outside of their original directory/auth stuff. Hell, they even own UNIX (as in, SysV).
On top of that they have diversified the BES (BlackBerry Enterprise Services) to secure iOS and Android devices.
Sure - way the hell after Microsoft beat them to it with ActiveSync, and by the time they even bothered, BlackBerry had a mere sliver of their former marketshare. Too little, too late - it was moot point by the time BES got that kind of feature set.
The problem BlackBerry has is mind share and they haven't got it anymore.
TBH, they never had it. Apps wasn't the big selling point with a Crackberry - Push email was front-and-center, and nothing else mattered. They only bothered with apps as a corporate focus (and email as secondary) after the iPhone stole its girlfriend, and Android stole its lunch-money.
RIM is only a half-step away from being a walking corpse. Barring a vortex that sucks up the towns of Cupertino and Mountain View, California? Nothing will change that.
-
Re:Color Me totally unsurprised
To be fair, the Novell comparison doesn't exactly match up... Novell at least (to their credit) diversified a little, and went all-in to Linux (albeit too late).
Blackberry has done none of this, and (to extend the poker analogy) merely doubled-down on their own increasingly lousy hand.
Same misinformed song different singer.
BlackBerry bought The Astonishing Tribe (They designed the UI for the G1) to redesign the BlackBerry UI.
They also bought QNX to be the base for the new BB OS 10.
In fact they were quite aggressive in acquiring properties to bolster their brand.
On top of that they have diversified the BES (BlackBerry Enterprise Services) to secure iOS and Android devices.
The problem BlackBerry has is mind share and they haven't got it anymore. The new ecosystem is actually quite impressive but without a large enough audience it is all moot. To get that mind share they will need a killer feature not available on the other systems and it's not that easy to do.
But until BlackBerry actually announces the layoffs I am putting this one squarely in the rumor to get stock lowered for a buyout box. -
Re:250?!
i can't kill -9 a process. so i need to reboot the phone whenever i put an infinite loop in.
That's because the QNX command for this is slay, which does work and basically does the same thing.
-
Sporadic scheduling
Some of what they're doing with resource guarantees is like QNX's "sporadic scheduling". The idea is that you can guarantee a thread something like 1ms of CPU time every 10ms. This is useful for near-real-time tasks which need a bounded guarantee of responsiveness but don't need to preempt everything else immediately. Most UI activity is in this category. With lots of UI devices, including ones like vision systems that need serious compute resources, you need either something like this, or dedicated hardware for each device.
On top of sporadic scheduling there should be a resource allocator which doesn't let you overcommit resources. So if something is allowed to run, it will run at the required speed.
This is very useful in industrial process control and robotics. The use case for human interfaces is less convincing.
-
Thanks for the info.! apk
That only makes MY app I posted, all the more stronger vs. the competition then, provided you are correct, but... more on that below you *MAY* wish to check on & be sure - I've seen hosts with TABS is why!
(However - are you ABSOLUTELY sure it does that with the TAB character? Again - I've seen many hosts files that use that between the IP address & the host-domain name's why I ask!)
* In ANY event, my program "trims out" & replace the TAB many of them utilize, with a SPACE during imports & its "Convert & Filter" stage!
See it here to understand what I mean -> http://www.start64.com/index.php?option=com_content&id=5851:apk-hosts-file-engine-64bit-version&Itemid=74 &
(You'll "get it", & obviously, since YOU clearly understand how hosts files work for the most part it seems, & how to work with them, THUS, you'll understand its interface easily (import custom hosts data, convert & filter, speed up favorites, & then save the newly created custom hosts file... easy as apple pie!))
Enjoy if you elect to try & use it (it's 100% free, no strings attached & NOT malware) - more importantly, good to see you have the good sense to use custom hosts files vs. other less efficient, faulty, bought out & crippled OR owned by advertisers 'solutions' that I listed there in the post you replied to...
It's also 10x smaller, literally, than another 'competitor' in hostsman, & yet, does more too + offers a pure 64-bit build as well as 32 bit too... beat that with a stick!
(Written in the FASTEST Win16/32/64 compiler there is, per tests from a competing trade magazine I can produce in seconds should you wish to see such proofs, & in Borland Delphi XE2 (embarcadero now, not borland, but will ALWAYS be Borland to me)).
APK
P.S.=>
"Hell of a thing to quote" - by Trax3001BBS (2368736) on Monday February 18, @05:30PM (#42939421) Homepage
Well, lol, this is a HELL of a place (By hell, I mean full of trolls - please DO note they already EFFETELY 'downmodded' my post you replied to, with NO disproving my points noted in it either in some puny 'attempt' to vainly "hide" it imo - weak!)...
---
"I do use a HOSTS file and appreciate your trying to learn others as well." - by Trax3001BBS (2368736) on Monday February 18, @05:30PM (#42939421) Homepage
THIS *may* come as a 'surprise' to you, but... I know you DO!
How?
Well, when I find others that use them, such as yourself & the parent poster here Gothmolly?? I put them into a text file list to "toss into the faces" of 'naysayer trolls' around here...
(That list is nearing 100 users from
/. alone already, & that's their peers, that outnumber them by FAR, when they give me guff on them (never ever disproving my points though, just std. "off-topic" ad hominem attacks & the like - illogical, as trolls are wont to be, lol!)).---
IMPORTANT:
NOW ONCE MORE- on your 'warning':
Are you 110% sure of that? Again - see above: I've seen hosts that use tabs & so does MS' by default in fact, iirc (I'll check on my roomies' system right now in fact, he backed up the std. default one 3 days ago when he started using the resultant output from my app in the custom hosts it builds is why, so I have reference on that much, give me a sec):
Well, "surprise, surprise" - his Windows 7 rig uses a single space in the ORIGINAL hosts file, but here's an example where TAB is used -> http://www.qnx.com/developers/docs/6.5.0/topic/com.qnx.doc.neutrino_utilities/h/hosts.html
PERTINENT QUOTE/EXCERPT:
---
"The
-
Re:HURD vs QNX
I know. QNX does a lot of things right. The company, though, is notorious for driving its customers and employees nuts. It's been sold twice, one to Harmon (car audio) and then to RIM (now Blackberry). The code went from closed source to open source to closed source to open source to closed source. During the latter part of the Harmon period, you could download the entire kernel source.
The developer community was fed up by this. During the open source periods, there were QNX builds for many major open source products, like Firebird (what Firefox was first called) and GCC. Those are no longer maintained.
The QNX kernel is only about 60K bytes on x86 platforms. All it does is message passing, CPU dispatching, memory management, and timers. There's also a built-in process called "proc", which is a few hundred K. All device drivers, file systems, and networking are in user space. One of the great things about having such a tiny kernel is that it can be fully debugged. It needs to be changed very rarely. It can be put in ROM and stay unchanged for the life of the machine. In many embedded applications, it is. If the Hurd kernel is much bigger than that, they're doing it wrong.
You can still get QNX for free for non-commercial purposes. Few people do.
-
Re:Regarding the 'too late' part of the equation
BB appears to think is is an OS company. It even seems to be describing a backup plan that involves selling BB10 into embedded markets.
They bought QNX, which still sells embedded software. And does a fine job of it, if you ask me, it's a nice system.
-
Re:One-off fixes vs. systemic issues
"With respect, where is there an production example of a microkernel that "won"?"
http://www.qnx.com/developers/docs/6.3.2/neutrino/sys_arch/kernel.html
http://en.wikipedia.org/wiki/QNX
http://www.qnx.com/company/customer_stories/QNX was initially released around 1982 and so existed about the IBM PC PC-DOS was released. QNX was far superior and ran on PC hardware. The only reason it did not win "hearts and minds" was marketing and business relationships. Back then in the 1980s, with QNX, you could easily network a bunch of IBM PCs and run arbitrary processes anywhere on the network.
In general, the message passing idea is much deeper than a "kernel" though. Smalltalk is a great example of it. So is Erlang:
http://en.wikipedia.org/wiki/Erlang_(programming_language)#Distribution"Linus is being critical but there's no threat of kicking someone off the development team."
Well, I guess different people can read Linus' strong language in different ways:
https://lkml.org/lkml/2012/12/23/75
"Mauro, SHUT THE FUCK UP!"You can swat a mule on the butt with a two-by-four-inch board and maybe that will get it moving (though the mule might kick you in the head first), but if you do the same thing to a cat you might kill it. So, people can argue for strong invective as being appropriate sometimes, but clearly it is also inappropriate sometimes. Was it appropriate here? Is a kernel software developer more like a mule or a cat? Well, whether the language was appropriate or not, if you believe the kernel maintainers and patch submitters replies, there seems to have been more going on there than Linus seemed to have understood when Linus started using strong language. That seems problematical -- especially, if one could read Linus' strong language as not only saying this kernel maintainers role was in jeopardy but that, likely by extension, his entire career could be in jeopardy? There is a lot more potential stuff going on here when Linus flames someone to such a degree. The kernel is not just a typical FOSS project, and I'd guess this maintainer is likely a paid employee somewhere. I also tend to agree with other posters who suggest that such language, in response to a maintainer asking a question, is not going to cultivate a question asking culture, and ultimately that is going to pose a greater difficulty to the Linux kernel then a bad patch in an experimental kernel that was quickly reverted.
Again, whether using a 2X4 to get someone's attention was appropriate or not in this case, the deeper issue may also be that the strong emotions expressed by Linus may reflect a fundamental problematical issue in the Linux kernel architecture and development processes. Why does Linus have to be so afraid of so many continually needed patches breaking the system in a hard-to-understand and test way? At some point, it may be reasonable to say that what *most* users need is not a 20% or whatever performance improvement by a monolithic kernel but instead maybe what they would be better off with is a microkernel that supports easier upgrades, improved reliability, easier portability, and thus helps software developers to do new things with less effort and higher quality. And as QNX demonstrated in the 1980s, being able to do easy parallel processing across a network of thousands or millions of processors exchanging messages may be ultimately a much bigger performance boost than, say, a few percent greater performance on one processor. That is the promise of "message passing" whether implemented in a microkernel or not.
See this talk by Alan Kay for more on message passing:
htt -
Re:One-off fixes vs. systemic issues
"With respect, where is there an production example of a microkernel that "won"?"
http://www.qnx.com/developers/docs/6.3.2/neutrino/sys_arch/kernel.html
http://en.wikipedia.org/wiki/QNX
http://www.qnx.com/company/customer_stories/QNX was initially released around 1982 and so existed about the IBM PC PC-DOS was released. QNX was far superior and ran on PC hardware. The only reason it did not win "hearts and minds" was marketing and business relationships. Back then in the 1980s, with QNX, you could easily network a bunch of IBM PCs and run arbitrary processes anywhere on the network.
In general, the message passing idea is much deeper than a "kernel" though. Smalltalk is a great example of it. So is Erlang:
http://en.wikipedia.org/wiki/Erlang_(programming_language)#Distribution"Linus is being critical but there's no threat of kicking someone off the development team."
Well, I guess different people can read Linus' strong language in different ways:
https://lkml.org/lkml/2012/12/23/75
"Mauro, SHUT THE FUCK UP!"You can swat a mule on the butt with a two-by-four-inch board and maybe that will get it moving (though the mule might kick you in the head first), but if you do the same thing to a cat you might kill it. So, people can argue for strong invective as being appropriate sometimes, but clearly it is also inappropriate sometimes. Was it appropriate here? Is a kernel software developer more like a mule or a cat? Well, whether the language was appropriate or not, if you believe the kernel maintainers and patch submitters replies, there seems to have been more going on there than Linus seemed to have understood when Linus started using strong language. That seems problematical -- especially, if one could read Linus' strong language as not only saying this kernel maintainers role was in jeopardy but that, likely by extension, his entire career could be in jeopardy? There is a lot more potential stuff going on here when Linus flames someone to such a degree. The kernel is not just a typical FOSS project, and I'd guess this maintainer is likely a paid employee somewhere. I also tend to agree with other posters who suggest that such language, in response to a maintainer asking a question, is not going to cultivate a question asking culture, and ultimately that is going to pose a greater difficulty to the Linux kernel then a bad patch in an experimental kernel that was quickly reverted.
Again, whether using a 2X4 to get someone's attention was appropriate or not in this case, the deeper issue may also be that the strong emotions expressed by Linus may reflect a fundamental problematical issue in the Linux kernel architecture and development processes. Why does Linus have to be so afraid of so many continually needed patches breaking the system in a hard-to-understand and test way? At some point, it may be reasonable to say that what *most* users need is not a 20% or whatever performance improvement by a monolithic kernel but instead maybe what they would be better off with is a microkernel that supports easier upgrades, improved reliability, easier portability, and thus helps software developers to do new things with less effort and higher quality. And as QNX demonstrated in the 1980s, being able to do easy parallel processing across a network of thousands or millions of processors exchanging messages may be ultimately a much bigger performance boost than, say, a few percent greater performance on one processor. That is the promise of "message passing" whether implemented in a microkernel or not.
See this talk by Alan Kay for more on message passing:
htt -
QNX?
It sounds like you want a PlayBook in your dash.
-
Re:Sports Announcer Voice.
I did make a mistake. I missed the Q1 2013 announcement from the day before.
RIM is ahead of the curve in a number of areas: Security (obviously) and device management (still leagues ahead of competing products) are the two easy ones to hit. Their new OS is far more advanced, technically speaking, than iOS and Android. (Just take a look at this for just one cool thing.)
Their new UI is geared toward multitasking, it's incredibly slick, and well ahead of Android (which would require major changes to address) and iOS (which simple can't be adapted for similar functionality.) On that front, the competition has a long uphill battle to match RIM. Really, you really need to see it in action. The PlayBook just gives you a taste of what a real mutitasking experience on a mobile device can be. What we're seeing wtih BB10 is taking things to the next level. They also have the best mobile/tablet integration on the market, check out what you can do with Bridge.
They've solved the dual use problem of a work and personal phone with the full security and remote management enterprises demand and the total freedom users demand with Balance. Fusion provides the most comprehensive device management tool on the market, allowing Andorid, iOS, BB, etc. devices to all be managed seamlessly with a single application -- of course, other platforms don't have the same fine-grained control you get with BB devices, that's not something RIM can fix for them!
Less impressive, they have the best HTML5 support of any mobile browser (tablet), beating out many desktop browsers. BB10 brings even better support (as we've seen already) to both tablets and phones with very impressive score well ahead of other up-coming mobile browsers. (On phones, they're currently on par with Android 4 on OS7 handsets.)
They have a fantastic suite of development tools, including an NDK, offering developers more options for development than any other platform. Cascades (for UI development) is simply unmatched. (They acquired TaT, one of their best acquisitions to date, which is responsible for Cascades. Check it out if you're a developer.)
They've formed strong partnerships in the auto industry, leveraging that aspect of their QNX acquisition giving them a strong early lead in a market Apple is trying to break in to. Given that RIM has the objectively better technology, and QNX already has a long history in the auto industry, Apple has a hard fight in a market they clearly see as profitable enough to be worth pursuing.
-
Re:Sounds like a downgrade
And QNX (Now owned by RIM) has been in the embedded car market for years so it is already integrated with all the drive systems. They have even opened up the platform. In fact for everyone espousing RIM's death because of their missteps with the BlackBerry platform should take a look at all the places QNX is entrenched.
-
Re:Sounds like a downgrade
And QNX (Now owned by RIM) has been in the embedded car market for years so it is already integrated with all the drive systems. They have even opened up the platform. In fact for everyone espousing RIM's death because of their missteps with the BlackBerry platform should take a look at all the places QNX is entrenched.
-
Whining by some guy with a log analyzer
This is just whining by some guy who wrote a log analyzer that will no longer be necessary.
QNX has had a simple structured log daemon for years. Reading their log never tails off into junk; you always get a clean, current last record. Their solution even works on diskless systems. In many real-time applications, logs are transmitted to some remote location, rather than being kept on each local machine.
-
Re:Linus is right on about microkernels
bug in question didn't bring down the linux kernel at all, just the device.
If you are insinuating microkernels cannot kernel panic (unrecoverable severe error causing halt of execution), experience says otherwise
-
Re:Not a Linux system, a BASIC Stamp
This isn't Linux. It's a BASIC Stamp replacement, 30 years too late.
Aurduno is far ahead for dinky-machine low level programming. It has a rational way for newbies to deal with interrupts, which you need down at that level.
Personally, I think the next step up ought to be a QNX on a chip system. QNX scales down further than Linux does; you can run QNX with no disk or writable flash. and get something useful going in well under 1MB. You still have a real OS, with processes, threads, a POSIX API, etc. It's still free for non-commercial use, although not open source. Now that RIM owns QNX, maybe they'll do something in that area. But I doubt it.
-
QNX Neutrino under hybrid license
If it were F/OSS, I would use it for much more.
Since 2007, QNX is available under a hybrid license. As a user, you get the source code and can work with it and modify it, just not redistribute it. While not FOSS, it is a big step in the right direction.
-
Hybrid licensing
It's got a hybrid sort of licensing now. You now get QNX source code with QNX, but it's still proprietary. That's not quite F/OSS as you were looking for but it is a step forward.
-
Re:How about...
And QNX http://www.qnx.com/
-
How many ISPs allow other IP protocols?
IP supports a large number of protocols other than TCP, UDP, and ICMP. But how many ISPs still pass them? Can you still send Xerox Network System (XNS) packets (protocol 22)? AX-25 frames (protocol 93)? QNX messaging (protocol 106)? Fibre Channel (protocol 133)? Can you change the version number on TCP (which is what the people doing the original paper should be doing when they change the protocol)?
All of these are IP, so the Internet should pass them. I've tried QNX packets, and they at least went through Linksys boxes without being lost or modified.
-
finalized?
Not sure that is actually a word, but have a peek at:
http://www.qnx.com/company/30waysQNX has been around, and literally around you, for a long time.
disclaimer: former employee.
-
Re:So why run QNX?
-
2+ Years after QNX
-
Re:A nice lightweight OS
Oh yes, you'll also need a key for non-commercial use - this can be obtained here, though they require you to register with them.
-
A nice lightweight OS
Last time I played with QNX, I was impressed with how light-weight it is. I understand that it's an embedded OS, but nonetheless you can run it on the desktop, and the UI is extremely fast. I wonder why it isn't used in the same role as those lightweight Linux distros, as a desktop for older systems.
It also has some rather neat APIs of its own, especially those responsible for UI ("Photon").
By the way, if you ever wanted to play with it, it is freely downloadable (yes, that is the x86 version, so it'll run on your desktop).
-
MIcrokernels - life without patches
Let's take a look at the patch history of QNX. QNX is a message passing microkernel mostly used for embedded systems. But it can be run with a full GUI, runs on multiprocessors, and can be run as a server. Millions of "headless" embedded systems have QNX inside. I used it in a DARPA Grand Challenge vehicle. BigDog, the legged robot, runs QNX.
Drivers are outside the kernel. All drivers. File systems are outside the kernel. Networking is outside the kernel. And they're all application programs, not some special kind of loadable kernel module.
There have been 14 patches to QNX in the last two years. Only one is an actual kernel patch: "This patch contains updates to the PPCBE version of the SMP kernel. You need this patch only for Freescale MPC8641D boards." Only one is security-related: "This patch updates npm-tcpip-v6.so to fix a Denial of Service vulnerability where receipt of a specially crafted network packet forces the io-net network manager to fault (terminate)." Neither Linux nor Windows comes close to that record.
There's little "churn" in a good microkernel. Since little code is going in, new bugs aren't going in. Good microkernels tend to slowly converge toward a zero-bugs state.
QNX generally has a "there's only one way to do it" approach, like Python. Linux supports three completely different driver placement - compiled into the kernel, loadable as a kernel module at boot time, and run as a user process. QNX only supports one - run as a user process "resource manager". That simplifies things. A "one way to do it" approach means that the one best way is thoroughly exercised and tested. There are few seldom-used dark corners in critical code.
When QNX boots, it brings in an image with the kernel, a built-in process called "proc", any programs built into the boot image, and any shared objects ".so" wanted at boot. These last two run entirely in user space; they're just put in the boot image so they're there at startup. That's how drivers needed at startup get loaded. They don't have to be in the kernel. (In fact, you can put the whole boot image in ROM, and many embedded systems do this.)
A QNX "resource manager" is a program which has registered to receive messages for a certain portion of pathname space. The QNX kernel has no file systems; part of the initial "proc" process is a little program which keeps an in-memory table of "resource managers" and what part of pathname space they manage. This is similar to "mounting" a driver under Linux, but it doesn't require a file system up during boot. File systems are user programs which start up and ask for some pathname space, after which "open" messages are directed to that file system.
Another QNX simplification is that the kernel doesn't load programs. "exec" is implemented by a shared library. That library is loaded with the boot image, to allow things to start up. "exec" runs entirely in user space, with no special privileges, so if there's a bug in "exec" vulnerable to a mis-constructed executable, that program load fails and everything else goes on normally.
The price paid for this is some extra copying, since all I/O is done by message passing. This isn't much of a cost any more, because you're almost always copying from cache to cache. That's an important point. Message passing kernels used to be seen as expensive due to copying cost. But today, copying recently used material is cheap. On the other hand, some early microkernels (Mach comes to mind) worked very hard to mess with the MMU to avoid big copies, moving blocks from one address space to another by changing the MMU. This seems to be a lose on modern CPUs; the cache flushing required when you mess with the address space on recently used data hurts performance.
I used to pump uncompressed video through QNX message passing using 2% of a Pentium III class CPU. Message passing, done right, is not a major performance problem.
-
Re:OS newbieFrom their website:
What does QNX stand for?
Originally, QNX was named QUNIX - for Quick Unix I think. At some point it was shorted to QNX, possible because of a trademark issue. - CB -
Re:Running windows!!
Windows does just fine as a display system: if that's all they're using it for I have no problem. Where I wouldn't want to see it is performing any kind of control function.
So you think they watch how things are going in windows and then when the shit hits the fan they run over to the QNX machine?
No, I just think they should use something reliable for the actual control loop, and if they really have to, use Windows for the front-end.
-
Re:Running windows!!
Windows does just fine as a display system: if that's all they're using it for I have no problem. Where I wouldn't want to see it is performing any kind of control function.
So you think they watch how things are going in windows and then when the shit hits the fan they run over to the QNX machine?