Domain: qnx.com
Stories and comments across the archive that link to qnx.com.
Comments · 436
-
QNX has far lower latencyThe right way to do this is in QNX, which only prevents interrupts for a few instructions at a time, typically while updating queues. QNX has a real microkernel; all the kernel does is schedule the CPU and handle interprocess communication. Everything else (drivers, paging, file systems, networking, graphics, etc.) is in protected-mode user processes, all of which are preemptable. This allows QNX to deliver sub-microsecond latency to high-priority processes.
QNX stands as a rebuke to those who say a microkernel OS has to be slow.
-
The article misses some key points
First, I have to identify that we (my company) do use the JET byte->native compiler by Excelsior. Good product, I've recommended it to others and they've had success with it too. In our case, it produced a 10-15% speed increase, some in-memory size savings, and it had one huge advantage missing from the byte code: SECURITY!
After experimentation, I'm pretty convinced that the decompilers on the market that work on obfuscated byte code KICK THE CRAP OUT OF THE OBFUSCATORS. The long and the short of it is the decompiled code is pretty decipherable.
If you want to protect your IP (Intellectual Property), that's not a good thing. In fact, that might be (if you are in a competitive arena) a VeryBadThing(TM). The native code (especially optimized native code) is far harder to effectively decompile into something usefully readable which crackers and script kiddies can abuse or which competitors can peruse. This benefit alone makes it worth going this route if you can.
One of the other things the article missed:
It didn't devote much thought to the settings and optimizations these compilers provide. The Excelsior compiler (by example, I looked at Bullet Train and some others before we picked Excelsior) provides ways to disable certain safety checks (like array bounds checks) for extra speed. If you're in a fairly aggressive environment with some pretty significant timing issues (I won't say hard realtime, because anyone doing hard realtime should be using something like QNX), you will find that even these small gains may be useful (and the risks they introduce acceptible). But the article didn't even hint at these possibilities.
So, if you want to build something that is less likely to be cracked or examined, this type of tool is the way to go. Excelsior, for example, is fairly easy to setup. I did get some help from their guys, but only because our product includes OpenGL, QuickTime, a bunch of XML parser stuff, DirectX, sound support, UI, etc. - a whole pile of external dependencies. The buddy I recommended it to had his project up in going in half an hour or so, with a more modest project (but still a useful, full fledged app with GUI).
Undoubtedly, these won't solve all your ills and they may introduce some new difficulties in bug hunting (though some of the new debuggers coming out with these products are very neat also). So you will want to look at what you need, what your concerns are (security, speed, cross platform deployment, etc) and decide accordingly.
-
APT goes some way towards solving that problem
RPM's work just fine (when they work), but if a library is missing, for God's sake, TELL ME WHERE I CAN DOWNLOAD IT or better yet, go find it and download it for me!
There's a tool call APT which works on top of RPM which will do exactly that - you can download and install it from FreshRPMs.
Of course, functionality spread over 2 seperate command line tool doesn't appeal to end users, so it would be lovely if someone could write an app like the QNX installer for Linux. I've used Red Carpet, Synaptic, and all the other GUI package installers and they really don't compare to the installer, which lets me simply browse repositories, click what I want, and do whatever's necessary to get the app installed.
-
Find out what will be needed tomorrow.These are a couple of companies that make commercial embedded OS products. Find out what these companies are looking for. Since they are the ones making the OS's, you can see what kind of considerations will be valuable in actually _using_ the OS's. Make a list of the attributes listed in the job postings for the companies to see what kind of knowledge is required. If you can work on developing the OS, you can surely use it to develop other things.
-
Re:Some hangups.
-
Alas, QNX!Never heard of these machines, but as you describe them, their design makes a lot of sense. At about that time, I was working for Convergent Technologies, which mostly made systems that ran CTOS. Like QNX, CTOS had a message-passing architecture, and was thus very well-suited to distributed computing. QNX has always struck me as more elegant than CTOS, though.
When I left Convergent, I ended up working with 8086 and 80286 systems -- and found the limitations of MS-DOS really painful. QNX was then being marketed as a DOS alternative. They claimed to be able to do serious multitasking on 8 mhz systems. I actually found that claim credible, not to mention tantalizing. But I never got a chance to test it. The QNX license fees were just too high.
It's a real pity QNX wasn't in the picture when IBM was shopping around for a PC OS. History would be very different!
-
Because Linux is a Macrokernel architechture OS
Remember when you had to compile your device drivers into the kernel yourself instead of using a module? The idea here is that the vital OS features are part of the kernel.
The open source movement is about modifying your software and sharing it. Anyone with the ability can modify a vital OS feature and share it. voila! Many, many kernels.
But, the problem here is that real time processing does not belong in a macrokernel architechture. Look at the commercial RTOS (Real Time Operating Systems) like QNX and you will see that a microkernel architechture -- a kernel that a provides minimal feature set is favored. This is because if you are depending on time constraints, all you want in your kernel is message passing and task syncronization. -
Re:So what happens if it crashes?
Another point, is that your Lab isn't very good at programming/implementing bots. Assuming you're using a PIC microcontroller
Wow, that's a really nice assertion. I would like to point out that the RHex robot co-developed by our lab and a few other universities is arguably the most successful walking/running robot in the world. It is probably the most reliable ambulatory robot ever built and is currently undergoing field demonstrations at SwRI in Texas.
BTW, the robot uses a PC-104 stack running QNX. Yes, there's a PIC on it, incorporated on a custom PC-104 board, among all the other control electronics. It's not programmed with run-of-the-mill Radio-Shack "min/max control code" like your "basic claw-bot". Have a look at the papers written on RHex and the other robots and maybe you'll learn a thing or two about robotics.
-
Re:No proprietary unices left on x86
QNX is not Unix either. It is a GUI-only RTOS. Unix is not an RTOS.
-
Need vs. Want
evand wrote:
"First of all, her needs are simple. She needs to check her email, surf the web, and use a word processor. With Mail.app, Internet Explorer/OmniWeb, and AppleWorks, her needs are fulfilled."
A 486 running QNX will do it for about a thousand or three cheaper. Hit the MIT Flea Market this year if you're in New England and discover what machines considered obsolete almost a full decade ago can actually accomplish.
Regards,
Limekiller -
try Opera
-
on a floppy ...Re:Then you can't see much...
On a floppy, that is not big by today's standards. But is way bigger than lots of things in embedded systems. Does you know a lot of embedded systems use Z80 like (in terms of processing capacity) processors? That is why linux is not used that much in embedded systems. It is quite big in relation to most embedded systems.
by the way, if you metion floppy systems you should that a look at the QNX demo disk -
Use QNX for embedded workQNX is much more appropriate for embedded work. It has protected-mode real-time tasks with latency guarantees. It has scheduling machinery for processes that need N milliseconds every M milliseconds, like multimedia handlers. And it has fast interprocess communication that's not a bolt-on to UNIX. And it's a real ROMable microkernel.
I can't see running Linux on anything that doesn't have a hard drive.
-
Embedded XP...is best embedded in a block of concrete and dumped in the ocean.
You'll note that it is touted for use in "ATMs and slot machines". That is because it cannot be used for hard realtime, low latency applications like flight controls, robotics, or medical devices. It is also sure to be bloated and inefficient compared with something that is designed from the ground up to be an embedded OS.
I'd highly recommend QNX instead, it is POSIX and QNX sits on the realtime Linux committee. Hard Hat Linux and cousins are looking better and better as well. These solutions do support hard realtime scheduling, thus providing across the board solutions for all your embedded needs. QNX, in particular, is also very well engineered. It provides a highly modular architecture, allowing you to deploy only the functionality you need, minimizing system cost.
299,792,458 m/s...not just a good idea, its the law!
-
Re:Embedded disk
I tried it a while back. It's very impressive. You can download an ISO of the full OS and most of it's packages at http://get.qnx.com/download/ for free.
-
Embedded disk
-
QNX has it
QNX has a package filesystem like what you describe; it looks like it solves Mosfet's problem and keeps PATH simple.
-
Re:[~OT] Whatever happened to the Artillion?
Bill Bull works for QNX Software Systems Ltd..
He made some icons for some BeOS applications, but didn't make "the icons for the BeOS and much of its widgets"... AFAIK he didn't design any of their widgets, they were already done when he arrived at Be. I'm not sure where this idea came from.
Bill has designed the GUI and icons and whatnot for QNX's Photon 2 microGUI; I imagine he dropped his Artillion site because he was too busy with "real" work.
(I used to work for QNX. I used to use BeOS. Less choice on the desktop is a bad thing. Computers suck.)
-
Why????
This isn't a troll, I'm just trying to get a handle on why exactly the HURD exists.
1) Is it because its all GPL?
2) Is it because its a microkernel?
3) Maybe a new, improved microkernel? Not MACH.
4) Security?
5) Performance? Yea right.
6) Ease of use? Isn't that up to KDE and GNOME?
7) Translators, Namespace unification, RPC? Been there, done that.
So, exactly why does HURD exist? What does it bring to the table that hasn't been seen dozens of times before? (Besides allowing non-root users to mount partitions!) -
Re:Hurd Speed
I believe QNX has a philosophy similar to the Hurd -- most of the traditional OS facilities there are moved in user space. Nevertheless, QNX is a leading hard real-time operating system with a very small footprint and elegant architecture.
Which makes me really excited about implementing real-time software in Hurd. -
Distribute as ISO
I don't even run a floppy on my computer. I'd like to see bios updates distributed as ISO images that can be burned to a CD. (Roxio could make a fortune on this - self burning images?) Alternately, you could make the system fetch an update via the internet - just put a small os image with a basic GUI in the rom. Include a flash program, networking services (including dialup) and you'll have what you need for an intuitive bios setup application, and an easy reliable bios flash.
-
Re:No!!!
You know you want it...
QNX is calling you.....
Walk into the light.... -
QNX
You can download a RTOS, QNX, free for non-commercial use I believe. If you are used to Linux, it will be easy to program since it supports similar APIs. Linux isn't actually POSIX, tho'.
-
QNX
You can download a RTOS, QNX, free for non-commercial use I believe. If you are used to Linux, it will be easy to program since it supports similar APIs. Linux isn't actually POSIX, tho'.
-
Re:Fascinating
Yeah, that demo disk rocks.
It's worked on just about every machine I've /ever/ tried it on, first time.
<karma whore>
Get it here Demo Disk
</karma whore> -
In response...
to some excellent comments and feedback, I'd like to offer the following:
1. Yes, 1.44mb can hardly be called "tiny". To be honest, the reason it was chosen is that I just *had* to include the QNX Demo Disk and the OffByOne Web Browser. But much of the site is dedicated to apps in the 2 to 200kb range, which I think can fairly be called "tiny". One example is EVE, a very cool vector graphics editor whose executable is a mere 39k. There are many more listed along these lines.
2. Yes, Windows is very bloated, but by customizing the shell, removing IE, and performing a host of other surgeries, it can actually be quite a nice little OS. I just received an email reply from the author of Optimizing Windows (published by O'Reilly). His book explains (among many other things) how to get Windows 95 down to 17 mb.
3. I realize that Slashdot is generally geared towards *nix users and want to thank you for being kind enough to list a site mainly covering DOS/Windows apps. As I mention on the home page, folks (from any OS) interested in contributing to the site or having a link posted are more than welcome to contact me.
Also, many thanks to those responsible for the mirror mentioned in one of the posts.
Much aloha,
Miles Wolbe
miles@tinyapps.org
http://www.TinyApps.org/ -
QNXNone of those even come close to the QNX demo disk. Here's what you get on one 1.44MB floppy:
Realtime micro-kernel operating system
Full GUI with browser and other assorted apps
TCP/IP networking, with a web browser and web server
Dialup/ppp support
And more! -
Obligatory QNX link
Any time you talk about tiny applications, you have to mention the 1.44MB QNX demo disk. It is several years old now, but can still be found here.
Incidentally, this is an older version of the OS than the free version at get.qnx.com -
Obligatory QNX link
Any time you talk about tiny applications, you have to mention the 1.44MB QNX demo disk. It is several years old now, but can still be found here.
Incidentally, this is an older version of the OS than the free version at get.qnx.com -
Re:Fascinating
yeah yeah, back in the good ole days...
1k chess and all that...
Slick stuff I'll admit, but if you look at the tinyapps.org site listed in the story, you will see that this stuff is for DOS and Windows. Small is obviously a subjective and/or relative term. A 1.4 meg program is small on todays new systems with 60-100 Gig hdds. Its not small if you have a trs-80. some people actually install the whole ms office suite just to have a word processor, so i say if it fits on a floppy and is useful without being feature stripped, its a good small program. and i must say that QNX has to be the coolest and most fun of of anything ive ever seen fit on a floppy.
-
BeOS lives on? I hope not!Can BeOS Live On As Open Source?
Since C++ is a pathetically inappropriate language for OS development (IMNSHO of course;) I hope BeOS dies a graceful death.
There, now I feel better!
:-)Seriously if you want something that plays in mostly the same space (except it is written in C, is well designed, has hard realtime capabilities, and is a commercial success) check out QNX.
299,792,458 m/s...not just a good idea, its the law!
-
3com Audrey
Here is one of the more interesting toys I've gotten lately, the 3com Audrey. Now on sale at TigerDirect for $89. Take the plunge and get the 3com 3c19250 USB Ethernet adapter, available Here for $30.
The quick breakdown on the Audrey, they run QNX 6.0 out of a flash disk, and have a browser, mail program, scheduler, memo pad, and some other tools built in. It can also sync with your PalmOS device. Hardware-wise, it is a Geode 200mhz processor, with 32 megs of ram and a 16 meg flash. It has a built in 56k modem, 2 USB ports, an infrared keyboard, 640x480 touchscreen, stereo sound with built in speakers.
Once you have followed the directions listed in the threads at the I-Appliance BBS you will be able to install other applications from QNX 6.0, or even upgrade your system library so you can run 6.1 binaries. People have turned this unit into remote terminals, digital picture frames, mp3 players, home automation terminals, etc. You can't put linux on it because it (yet) because it doesn't actually have a BIOS, but once you get familiar with QNX you really won't mind. You get download QNX 6.1 for free, there ISO is Here. It is a pretty nice OS in its own right.
I've got two Audreys, I use one to run QNX-based ICQ and AIM, so I can dualboot to play ReVolt or take apart my main machine for whatever reason. The other one is my girlfriend's and she uses the builtin apps for scheduling etc plus for web surfing in the bedroom.
The only downside to the Audrey is that its pretty... Shall we say... Lacking in testosterone. Everything from the shape of the unit, to the bootup giggle, to the layout of the manual, to the clear, oddly shaped stylus... Definately was being marketed to the fairer sex. But that's ok, cause chicks will dig it. -
Re:I'm not sure...
So, first, does "fully-preemtive" traditionally mean with or without locks? Are Solaris, NT, and RTOS preemtible when locks are held?
>>>>>
I don't know about those, but BeOS isn't preemptible during a spinlock either. BeOS requires you to disable local interrupts before acquiring a spinlock, which means that the scheduler never even gets to run on that CPU because it won't take the timer interrupt. I'd surmise that almost all preemptible kernels work like this. Judging from this doc it would appear QNX does it this way as well. This method shouldn't effect latency, because you are only supposed to hold a spinlock for a very short time. -
Re:What about VSTa?
VSTa has been in development for over a decade now, and to be honest, it's still very primative: VSTa doesn't have an installer, it resides entirely in a
/vsta subdirectory of the install partition, it's painful to setup (manual editing of /etc/passwd, etc) and has a very small HCL. Saying it already supports SMP when it's over a decade old is not very impressive.
VSTa was designed as a research OS, to play around with new ideas, and it's definately achieved that goal, but it definately isn't "very promising" or an "upcoming OS".
Don't get me wrong, I like a lot of the ideas that went into VSTa - the file permissions, /env, the IPC, to name a few, but VSTa is a research OS, and only a research OS, do not expect to be using it on your desktop.
If you like very modular microkernel OSes, check out QNX. QNX is a very nice OS, based on an extremely nice microkernel, and is under active development. The only downside to QNX is that it's not Free Software (although still free as in beer). -
Re:Distro elitism
Errr, QNX hard to install?
Hahahaha!
In other news: BeOS 5 Personal Edition is hard to install...
*giggle*
I bet you struggled opening the box your iMac came in... -
Re:What's the big deal?
Well, just because it's okay for you don't mean its okay for everyone. Some people are just more sensitive to things than others. I think that AA fonts (good implementations, at least) look noticibly better than non-AA ones.
For a great implementation of AA fonts, check out QNX's RtP. The Font Fusion powered Photon has the most god-damn gorgeous fonts in the entire universe. Download RtP just to take an eyeful of the fonts! -
Check also...
The other screenshots under this tree. They're from the
desktop version of QNX, and they look cool too.
Definitely lovely. I just hope they'll sell the PDA at a
reasonable price. -
Re: QNX, why bother?
Check out get.qnx.com.
It is a full download of the QNX6 Realtime Platform that you can try out. Full desktop system. It is pretty nice if you don't need to run Word. ;) -
Re: QNX, why bother?
Man, at first take a look how the jitters etc are looked into and how OS deals with them. Read the following articles Concepts of Time - I, Concepts of Time- II and What is Realtime.
And please! don't tell me that M$ too lets you know the architecture and philosophy behind the OS and how exactly it does Realtime execution. Plus, You don't get to develop on a desktop class gracious OS and transfer it as it is to target.
You can test/debug/compile your realtime progs on an x86 listening to MP3's (Yeah! everything is prioritised!) and when you're satisfied, compile it for arm,sh-8, or whatever. The screenshots you saw were almost direct ports of the stuff existing for QNX RTP desktop OS! -
Re: QNX, why bother?
Man, at first take a look how the jitters etc are looked into and how OS deals with them. Read the following articles Concepts of Time - I, Concepts of Time- II and What is Realtime.
And please! don't tell me that M$ too lets you know the architecture and philosophy behind the OS and how exactly it does Realtime execution. Plus, You don't get to develop on a desktop class gracious OS and transfer it as it is to target.
You can test/debug/compile your realtime progs on an x86 listening to MP3's (Yeah! everything is prioritised!) and when you're satisfied, compile it for arm,sh-8, or whatever. The screenshots you saw were almost direct ports of the stuff existing for QNX RTP desktop OS! -
Re: QNX, why bother?
Man, at first take a look how the jitters etc are looked into and how OS deals with them. Read the following articles Concepts of Time - I, Concepts of Time- II and What is Realtime.
And please! don't tell me that M$ too lets you know the architecture and philosophy behind the OS and how exactly it does Realtime execution. Plus, You don't get to develop on a desktop class gracious OS and transfer it as it is to target.
You can test/debug/compile your realtime progs on an x86 listening to MP3's (Yeah! everything is prioritised!) and when you're satisfied, compile it for arm,sh-8, or whatever. The screenshots you saw were almost direct ports of the stuff existing for QNX RTP desktop OS! -
Uh, excuse me?
...but isn't this supposed to be a PDA? Look at the screenshots again... look at the 10 apps.... where is "Calendar"? -- where is "Contacts"? -- where is "E-mail"? -- where is "To Do List"?
Beautiful OS, but clearly not an organizer. -
Re: QNX, why bother?You should hear our embedded systems engineers laughing or crying about "Real Time Windows CE" depending on whether they chortling at it's response times, or miserable about being forced to use it respectively.
Your laughter is borne out of ignorance. Everybody publishes OS times for their OS when running in kernel mode only (which offers zero protection from processes run amok). But CE and EPOC don't run in that mode--you can't on these platforms since they're open and could be running malicious code.
To wit, look at QNX (http://www.qnx.com/products/os/qnxrtos.html#Perf
o rmance) and On Time (http://www.on-time.com/index.html?page=rtk45.htm) . Great numbers, but only for kernel mode operation.For protected systems using the MMU, it seems all the big players don't publish numbers. Why? Because this is a tough environment and the numbers look like shit. QNX offers nothing on their site about their Neutrino product performance. Neither do Mentor or Wind River.
Even the RT Linux folks are flaky here. http://www.zentropix.com/support/document/helpdox
/ rtai.pdf claims they can deliver a 4 uS average interrupt response time with 13 uS of jitter, resulting in 17 uS worst case interrupt response time. This is on a 233 MHz Pentium II.Microsoft are claiming 7.5 uS worst case ISR latency on a 90 MHz Pentium II for CE (http://msdn.microsoft.com/library/techart/real_p
e rf.htm). We're seeing similar numbers on a StrongARM platform at a similar clock.Clearly, CE is probably on par with the QNX/PSOS/VRTX crowd.
So, until Symbian actually publish some numbers on their interrupt performance, we can assume that, like code size, they are merely FUD'ing the industry.
As for the topic at hand, however, it's wonderful to see something like QNX running on iPac, maybe make one worth getting after all
;) -
QNX for PPC as well.
And PPC choices already include SuSE, LinuxPPC, Debian, NetBSD and more.
QNX :) -
Duh! Hoax! Look at the output of ls!This is not a hack nor is it Linux. It is a hoax. This is simply Audrey running a shell inside of a QNX Photon window.
You can tell from the 'ls -l' command. He is in the root directory and one of the files listed is "nto". The name of the microkernel of QNX6 (also called QNX Realtime Platform) is Neutrino. The "nto" file is the resource manager frontend for the microkernel.
And is it really a hack to install Linux over a cool free realtime microkernel OS like QNX? Or is it just stupidity?
;-) -
Duh! Hoax! Look at the output of ls!This is not a hack nor is it Linux. It is a hoax. This is simply Audrey running a shell inside of a QNX Photon window.
You can tell from the 'ls -l' command. He is in the root directory and one of the files listed is "nto". The name of the microkernel of QNX6 (also called QNX Realtime Platform) is Neutrino. The "nto" file is the resource manager frontend for the microkernel.
And is it really a hack to install Linux over a cool free realtime microkernel OS like QNX? Or is it just stupidity?
;-) -
Duh! Hoax! Look at the output of ls!This is not a hack nor is it Linux. It is a hoax. This is simply Audrey running a shell inside of a QNX Photon window.
You can tell from the 'ls -l' command. He is in the root directory and one of the files listed is "nto". The name of the microkernel of QNX6 (also called QNX Realtime Platform) is Neutrino. The "nto" file is the resource manager frontend for the microkernel.
And is it really a hack to install Linux over a cool free realtime microkernel OS like QNX? Or is it just stupidity?
;-) -
Duh! Hoax! Look at the output of ls!This is not a hack nor is it Linux. It is a hoax. This is simply Audrey running a shell inside of a QNX Photon window.
You can tell from the 'ls -l' command. He is in the root directory and one of the files listed is "nto". The name of the microkernel of QNX6 (also called QNX Realtime Platform) is Neutrino. The "nto" file is the resource manager frontend for the microkernel.
And is it really a hack to install Linux over a cool free realtime microkernel OS like QNX? Or is it just stupidity?
;-) -
QNX maybe?
What about QNX or BeOS? Maybe BeOS is a bit dead in the water, but QNX is a solid and ultra fast OS that does multimedia quite well. I think that Linux is possibly a bit too fragmented with far too many different standards for sound drivers and stuff like that to be that useful. Yes, to anybody who asks, I have used some of these pieces of software under Linux.
-
QNX maybe?
What about QNX or BeOS? Maybe BeOS is a bit dead in the water, but QNX is a solid and ultra fast OS that does multimedia quite well. I think that Linux is possibly a bit too fragmented with far too many different standards for sound drivers and stuff like that to be that useful. Yes, to anybody who asks, I have used some of these pieces of software under Linux.