The Rise Of QNX
QNX might not be new, but SirTimbly is right about it making a stir. Max von H. writes: "Audrey, the household net appliance from 3Com/ergo has been officially released, and there's even an official site on which you can smile at the design. The beast runs QNX/Neutrino, as stated in this ZDNet story. The sweet thing is it can sync with two PalmOS devices, which can make a geek couple's life much easier without having to fumble with a real PC. Say what you want, but Audrey could possibly be successful since anybody can use it, and 3Com has shown a simple system rules when it comes to do simple things."
And no mention of QNX is complete without a reference to the QNX demo disk, which packs a pretty amazing set of features onto a floppy. Here too, it's free, but not Free.
I still dream that something will replace X but it is looking hopeless now...
"It's also really efficiently written, and almost completely modular (as opposed to Linux' monolithic-plus-kitchen-sink approach)."
I don't suppose you've ever used Linux, since lsmod, rmmod, insmod, depmod, modprobe are all parts of the wonderful world of mapping things dynamically into kernele space. With it, I can have hot plug PCMCIA, USB, and other devices without having to have this monolitihic kernel you decry. There's even a Microkernel Linux which adds the features that the HURD and QNX have, that Linux doesn't.
QNX is targetted at embedded devices. That tight focus lets it get away with not having support for 64gb of ram, scaling to 8-way SMP, NUMA, swap space, implementation of device drivers for PC and non-PC hardware of all kinds, and other requirements of being a kernel that can be embedded in devices lacking a memory controller, to massive SMP systems, to computing clusters.
"QNX is much more suitable for PDAs and otehr small systems than is Linux."
Ever heard the phrase "jack of all trades, master of none?" Linux is the swiss-army knife kernel. It may not be as good for skinning as a proper hunting knife, but it also has a saw, a can opener, a magnifying glass, and many other useful tools that you might need some day. Think about it.
--
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
Although most of the people here are familiar with the use of Linux in various forms in real-time and embedded applications, there are a number of other free real-time alternatives. eCos has been mentioned but RTEMS is the oldest free RTOS. It has been ported to about a dozen CPU families, has TCP/IP, pSOS+ compatability, POSIX threads, ITRON, etc, etc. The source is there, GPL'ed, and there are prebuilt toolsets. See http://www.oarcorp.com/RTEMS. It is also important to remember that real-time and embedded systems come in many shapes and sizes. Most embedded systems are quite small and very cost-conscious. Embedded a hard drive or even a flash disk is out of the question. Consider your cell phone, pager, fuel injection system, etc. Those are really quite specific and limited hardware targets where price is king.
Firstly, QNX is pronounced Queue-nicks, not Queue-nucks.
Secondly, it was developed at the University of Waterloo in Ontario, Canada and then spun off into a company.
Thirdly, it is not *just* an embedded OS, its most prominant use (atleast to Ontario and Quebec elemenrtary and secondary school students some 10 years ago) was on the PC powering that evil Unisys companies line of diskless 80186 based network computers called the Icon of which our schools had ungodly amounts of. QNX is also used quite extensively in the Canadian Armed Forces and can be used as a desktop OS.
-- iCEBaLM
If you mean Drag and Drop, it does have it. At least, it's documented in the Photon programmer's manual; so if it isn't there right now, it's coming soon.
That it supports modules doesn't mean it's modular. And, when was the last time you ran a driver in user space, had it crash, and restarted it without taking your system down for reboot?
________________________________________
Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
I used QNX about twelve years ago. It used to power an educational computer called the Icon. It was actually a decent Unix-like system.
Anyway, it's definately not developed by 3COM. I think the real developer was Quantum Systems in Waterloo Ontario Canada.
It is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail. - Abraham Maslow
QNX was NOT developped by 3com, and I quote: &The Ontario, Canada-based company was founded 20 years ago as a real-time operating system vendor."
At least get you facts straight and make it look like you actually read and understood the article before you post.
Anyone who has probably knows why I'm interested.
Yet another thing is that the older embedded OSes were multi-thread, not multi-process. Again plus and minus, thread context switch is usually noticebly fast than process context switch. I've seen a number of programmers that learned in the DEC OS or Unix environment get tripped up in just-multi-thread embedded jobs, forgetting that all tasks share global variables and system resources.
And a fully linked OS+application tends to come up much faster than a "bootable" OS. Most people would be annoyed if their TV, microwave, or cell phone took as long to boot as their desktop *NIX - MSWindows isn't even in the same state much less the ballpark.
I also gave it a try. I downloaded the ISO image, burned it, booted it, installed it, and I must say - the install was flawless. The photon microgui is not X-based and is very fast. The OS itself is also very fast. I may use the floppy demo to setup an internet terminal on my LAN. I have to agree with you regarding the confusing file system layout.
You mentioned BeOS only now getting support from vendors and this is in fact mentioned on benews.com or one of the other beos sites. I am impressed with qnx overall as it has been a good embedded OS for many years now. It probably has more viability controlling robots in a high tech assembly plant than as a full blown desktop OS though. We'll just have to wait and see what comes of it.
int[] bits = {1,0,1,0,0,1,1,0,1,0};
for (int i = 0; ibits.length; i++)
{
result = 1;
result += bits[i];
}
cout result;
Aieeeeee! he's the antichrist!
QNX, prounced I believe "QNIX", was originally created by Dan Hilderbrant back in the very early 80's and first ran on 8086 and 286 class machines. It was formed into Quantum Systems, a Canadian company, and was originally named "QNIX" until AT&T threatened to sue (which is why I believe that remains the correct pronounciation).
QN(i)X, unlike the name suggests, has no relationship to, code in common with, or even many concepts similar to UNIX systems. It was from the start a fully distributed and true realtime microkernel system using a common message passing architecture applied both locally and over a LAN whereby most services were user mode applications, including file systems and device drivers. In a number of ways QNX achieved much of what Plan 9 had hoped to, some 20 years earlier, and perhaps that is the most comperable system.
While there were many actually innovate ideas first used widely in QNX, unfortunately it has always been and remains essentially a proprietary system,and this seems both to have limited it's growth, and it's future potential substancially.
The proper pronunciation of QNX is kyoo-nihcks.
I gave QNX a whirl, along with Hard Hat Linux (embedded rtos) and Be.
Qnx was fast, but Be 'felt' faster. Be had support for my soundchips, but lacked support for wavelan802.11b . QNX lacked sound support and wavelan 802.11b
Hard Hat is coming along but needs work. Didn't 'feel' as fast as either of the other two. Haven't tried Lineo yet.
Granted, my soundchip was a cs4237b, and I can't really expect them to have wavelan available yet.
I'm sorry I haven't got real numbers to back up my early impressions of speed... but one of the biggest interface issues is, does the user get feedback that something has occurred? If it 'feels' slow, it is.
A host is a host from coast to coast, but no one uses a host that's close
I wish the home electronics manufacturers would at least start shipping with the option of an ethernet port that configs offa DHCP...
Hum.. if this machine is called Audrey, then presumably the next version of it will be the Audrey 2, at which point we really need to start wondering about 3Com's plans for world domination.
In 1982, I ported one of the earliest MUDS (Scepter, 1979) from a Cyber 6000 mainframe to a PC using QNX. It supported sixteen users on an IBM PC XT (4Mhz 8-bit 8088 CPU). And no stinking 16650 FIFOs. With 1-character-per-interrupt, 16 users merrily MUD'ed away at 2400 baud.
In addition to the MUD we offered chat rooms, e-mail, and two other multi-player games (Diplomacy and Space Combat). We charged $2.99 an hour. It paid my way through college.
Don't believe it? Telnet to drscape.com. To this day it still runs on a 4Mhz PC XT with QNX 1.14.
Alan Klietz
Author, Scepter of Goth on QNX
alank@algintech.NOSPAM.com
A couple of months ago, Handhelds.org had reported getting XFree down to 400k on the iPaq platform. I have no idea what the footprint is now, or what the 400k referred to, disk or memory.
Regardless, there is much cruft in XFree, even 4.x, and most people read the memory usage wrong. It's not a bad X platform, and could easily fit on a disk, a la Photon (although I believe that's X+a WM)
--
Evan (Who used three X Servers before choosing XFree).
"$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
Just yesterday. BeOS.
--
Read more about this non open-source OS in a ZDNet story here."
:-/
Ever read that Onion story about they gay man that saved a girl's life when her house caught fire? They went on and on about the hero (who likes to hug and kiss other men) that selflessly put her life ahead of his own.
don't know why that came to mind just now
-------
Vidi, Vici, Veni
If Linux isn't suitable for embedded applications, several groups out there have already proven that it in fact can be made to fit in a nice small space right nicely. IBM's proof of concept linux-on-a-watch is a good example, or the promised linux PDA, Yopy...heck, look at all the people who spent their summer taking the netpliance i-opener, or the websurfer pro and putting linux on them. Sure, plenty of people installed hard drives in those beasts, but there was more than a handful that didn't go that route and just dumped a linux partition image onto the Sandisk disk-on-chip device. Enough people so as to make it practical for a group to make a prefab image known as Jailbait to stick in there under the 16MB limit....with more programs/functionality than netpliance's gimpy little QNX image (btw, for anyone who's itching for another pronunciation war, I pronounce it Kyoo-Enn-Ecks)
So secondary storage isn't a problem...perhaps you're talking about primary storage and the wonderful universe of volatile memory? The i-opener has 32MB. My laptop has less than that, and I've never seen a problem with it. Perhaps you were talking about something like those Xerox copiers that use an embedded linux kernel buried deep inside that I read about a few years ago.
Don't make the mistake of assuming that the behavior of linux on your desktop is going to be the same as linux aimed for a cramped enviroment. Ever tried to see how small you can make a kernel? Try taking out all filesystem support. Or PCI support. Make sure you aren't supporting the old a.out binaries. Or plug and play devices. Or floppy disk drives. Or any IP-related stuff that isn't necessary for a non-server. Most of these devices thus far have excluded ethernet cards, so unless your device is among the first to do so, you won't need it here. How bad do you need the console support on a machine that won't have people ever seeing the console?
So now that you've got your stripped kernel, what if it's too big? Why not go through the source and trim it even more? Who needs a source license and NDA's up the wazoo just to make it work on a prototype platform?
ok, so maybe Linux isn't the answer for everything and everybody...but to make a general statement like "Linux is not really suitable for small embedded applications, since it has a large" (you never actually finished this sentence, it's that vague...) says exactly nothing. Add to that your assumption that these devices have less memory than a fair amount of them do...and we have BLATANT UNPROVED ASSERTIONS! Whee!
Come back when you have some facts to back these up.
-transiit
The big reason I haven't gotten into QNX is their lack of using the GNU toolchain. Now I noticed someone here mentioned that QNX is older than GNU (established 1983-84), which would explain why they didn't use it off-the-bat. But you would have figured that they would have moved over to the GNU toolchain sometime since. Expecially in light of numerous other, commercial RTOS' use of the GNU toolchain (e.g., VxWorks).
-- Bryan "TheBS" Smith
-- Bryan "TheBS" Smith
Independent Author, Consultant and Trainer
No one has mentioned the coolest things about QNX -- notably its architecture. QNX is a highly reliable, real-time OS based on message passing. It really is a microkernel OS. Even device and filesystem drivers run in userspace. This makes it incredibly stable, as you can actually crash a driver, restart it, and keep going. You can also upgrade subsystems without taking the machine offline. QNX is used in systems that cannot fail, such as heart monitors.
It's also really efficiently written, and almost completely modular (as opposed to Linux' monolithic-plus-kitchen-sink approach). Their 1.44MB Floppy demo contains the bootloader and kernel, a GUI, a web wrowser, tcp/ip and PPP. No other OS can do that, because they're too bloated. Linux can be put in a floppy, but there's no way to fit a GUI and a web browser as well. YOu might be able to chuck out things like the shell and libc, and include a statically-linked version of lynx, but nothing as good as the QNX demo can be achieved.
QNX is much more suitable for PDAs and otehr small systems than is Linux. It's loads more reliable, more easily upgradable, and much more compact. Just look at the iOpener; into 16MB they fit the OS, a custom GUI built on top of the QNX GUI, web browser, email, telnet server, and other things, and hadspace left over to store files. The only other OS that could do that is WinCE, and it's much more limited than QNX (such as a limit of 32 processes, 22 of which are consumed by the system itself).
QNX rocks!
________________________________________
Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
The Phoenix Consortium
Our intention is to establish a migration path to a new Amiga-like platform and computing experience. By clearly defining the standards and specs Phoenix hardware and software developers will be using we thus provide a common basis for individual developers to proceed with their own development stategies.
--
The QNX Realtime Platform has virtual memory. I have a 128MB swap file on my machine.
It didn't seem to me that anywhere in the article it was mentioned that they are even interested in becoming a general OS such as Linux or *BSD. All the products mentioned were embedded applications. They have a long and distinguished track record in doing things like running nuclear power plants where you definitely don't want to be running Windows.
Do this don't do that Can't you redesign.
When you see you mailcarrier note the bundle of mail in his hand. It is sorted by QNX. QNX powers whe letter sorting machines at the US Postal Service. (@ 40k letters per hour) I deal with it everyday, and QNX never gives us a bit of trouble. If there is a problem with the sorted mail, it is not from the program, but from a worn belt, bad zip, or a OCR out of adjustment. I have seen the geeks who repair our computers go from Windows zombies into QNX fans. They are even complaining that open source solution were not considered by the Postal service.
BTW, they Love WebObjects. It powers the Postal Services intranet.
photosMy Photostream
Linux is just starting to make inroads. It seems pointless (to me) that another OS should be pushed like this. Economies of scale people.
DISCLAIMER: This is MY opinion. I'm not telling you what's right, wrong, whatever. I might be wrong. I'm probably right. Please tell me, either way.
Cheers,
Daniel.
--
Daniel Zeaiter
daniel@academytiles.com.au
http://www.academytiles.com.au
ICQ: 16889511
The original ICON was built by a firm called CEMCORP, Canadian Educational Microprocessors (or Microcomputers, but I think it was the former) specifically for the Canadian educational market. IIRC they were 8086's with about 512K or 640K of RAM, and CGA graphics but done in an unusual configuration, not PC standard. They were the large square chassis built with military grade steel and had an integrated keyboard with a trackball on the right, with an "Action" key for the mouse button. They were ridiculously overbuilt. The ICON's were workstations running over Arcnet (ICONNET) IIRC, into a fileserver called the Lexicon, which carried a 30MByte hard disk interfaced via ESDI or ST506 MFM.
The next-gen ICON was the ICON2, built by Unisys using an 80186, in the grey single piece monitor/CPU and the detachable keyboard/trackball unit. Some ICON2's integrated SCSI IIRC to host an LMSI single speed CDRom reader. Apparently there was an ICON3 which was a 80386, but IIRC it was a basic Unisys clone PC. The Unisys icons eventually allowed for emulation of MSDOS but it was painfully slow.
The ICON system ran QNX on both the ICON and LEXICON in a full multiuser configuration. There was a graphical layer, called Ambience, and a number of nifty programs (I really like the paint package, it made me buy an Amiga later on) mostly written by the Ontario government and University of Waterloo.
The machines were ridiculously slow-because of the reliance on the LEXICON and the slow 2MBps network. If the Lexicon crashed (and it did regularily) the entire system needed to rebooted, which took 15 minutes plus. Needless to say this wasn't popular with teachers with only 30 minute class periods. The hardware, at least mechanically, was extremely well designed. The machines were obviously designed for the classroom, and I can't remember a machine being damaged physically-they knew the target market well-the keyboards had oversized areas to get to the trackball, they were relatively indestructable, and they had headphone jacks up front for quiet use.
ICONS were very far ahead in concept (each student was suppsoed to have their own workspace, true multiuser, each teacher could look at each student) but poorly implemented (poor training, not enough time to set everything up properly). Improper administrator (usually the school librarian or a really bright kid) and/or teacher training made it even worse. I remember learning all about it when the school VP let me (at age 12) read all the QNX manuals.
Calum The ICON's were
eCos Product Page.
eCos Development Page
Currently working with it for a NAS solution. Have also used QNX Neutrino and WindRiver VxWorks.
---- "It is never too late to give up our prejudices." --Henry David Thoreau(1817-1862)
It's NOT LINUX!!
It's good to have choice. That's why we have a bazillion window managers and theming skinnable apps that give you a billion ways to dump core. >:(
But aside from the bland "choice is good" mantra, QNX has definite good qualities of its own - it's very lightweight, very fast, has a decent GUI system going for it (despite not having DND, which I deem a semi-serious flaw, but one that could be tackled), and it could teach other people a thing or two yet with the way it does stuff. And even if it doesn't even have anything to teach, it's still a potentially very useful OS to run on one's computer. Time will tell. Time and apps.
Don't dump on it (yet).
GAIN EVERLASTING LIFE!
QNX never suffered from a lack of technical merits. Its main problem was a certain marketing arrogance on the side of the parent company. They simply were never terribly interested in selling QNX to mere mortals. If a prospective licensee wasn't going to embed it in at least 10 million units or what have you, they simply didn't show any interest. My previous company wanted to use it in an embedded networked device for industrial control. But since the projected volume was very low (hundreds of units a year max), the prices quoted for QNX were stratospheric, so we went with PharLap instead. Can't say I was happy with the choice--Linux would have been much more flexible, albeit more bloated--but for a device selling for $500 it doesn't make any sense to pay half that just for OS royalties.
While I've heard all the arguments from QNX fans as to why this marketing model makes sense, it doesn't change the fact that an OS copy not sold is money lost, either way you look at it. How could they possibly be better off not selling me the OS at all, versus licensing it at $50 or so a pop? They should simply introduce a layered support mechanism, giving more support to those who pay more, and less (mailing lists, FAQs, KBs etc) to those who pay less.
Worth mentioning that QNX RTP is available for download from their site. Gave it a try about a week ago, and it does have its good points - i went from booting the CD to being up and running in about 10-15 minutes, with network and graphics configs as well. Nice. They have a nifty little web browser, and REALLY nice package management - Linux could learn a thing or two from it. They have a reasonable amount of software, the interface is pretty responsive, and it's pretty easy to use.
The downsides - I hate the filesystem layout - it's really confusing, moreso than other unices. The interface is allright, but it's not as well designed as other ones I've tried. It'll be cool for embedded applications, but as a desktop OS, which is more what RTP is, it doesn't beat *BSD/Linux or BeOS. What's frustrating is that they've been able to garner a lot of support from other vendors, having a JVM and Flash and RealPlayer, Quake III (!) and lots of hardware support, compared to BeOS which is just now getting these things and has had lots of problems with hardware vendors.
All in all, I reccomend giving it a try, but I don't think I'd use it regularly. Between BeOS and FreeBSD, all my needs are pretty much satisfied. Well, cept for when I need to boot Windows to play Counter-Strike.
-lx