Messages in this thread | | | From | Bryan -TheBS- Smith <> | Subject | Former VxWorks developer's viewpoint -- WAS: a joint letter on low latency and Linux ... | Date | Tue, 4 Jul 2000 22:24:50 -0400 |
| |
Former VxWorks developer's viewpoint -- WAS: a joint letter on low latency and Linux ...
[ Note, I'm a non-kernel developer, but a user/app developer with some VxWorks experience in the aerospace industry ... ]
Okay, this has been my experience with various RTOS and their ability to get you sub-millisecond (ms) hard RT:
- Windows CE??? NOT! Microsoft cannot get even it's small-footprint RTOS sub-ms hard RT. And don't even think about using Embedded NT or full-up NT with extensions either.
- QNX ... er, for some apps. But the message passing just doesn't have the throughput for some apps (e.g., my experience was in data aquition of >50MBps telemetry). But it makes for a nice, x86 RTOS for a number of end-user apps..
- VxWorks ... yes, for a number of apps. Of course, you gotta hate that price tag in there. But a number of military/space vendors and agencies have pretty much standardized on this and the 68k and, increasingly, the PowerPC. I've personally used this combo for military and space launch vehicles.
- eCos ... my hope and bid to replace VxWorks as the defacto standard RTOS for most apps. I personally like Cygnus' EL/IX API approach to bringing development in-line with Linux, although there are two issues: (1) how does the kernel developers feel about EL/IX (I don't know since I'm not a kernel developer) and (2) it seems that some "hard" RT aspects of eCos are not GPL/free??? (trying to verify this)
What you may note here is that ALL of the above examples are SMALL FOOTPRINT OSes. Linux is not. IMHO, I don't think we'll ever see a general-purpose, fully multi-user, secure OS ever approach "hard" real-time. And I'm talking REAL HARD RT, not just what vendors promise you. ;->>>
Now a number of my colleauges next door at SGI say even soft, sub-ms response times are very much a reality on Linux (with RTAI or other extensions). And others feel that running the full-up Linux kernel and libs on a RT micro-kernel or other pre-emptive RT kernel/OS is a much better way to go (like RT/Linux and others). I personally agree.
But, again, I'm not a kernel developer. Heck, I stopped my RT development on VxWorks almost a year ago to go back to being an "evil sysadmin" (well, at least maybe only "half"-evil since I use Linux ;-). But I can speak from the "mission-critical" RTOS aspect (ballistic missiles and low-earth orbit launch vehicles) and I think eCos is a much better way to do things than full-up Linux.
With Linux, you have an OS that can touch just about everything embedded except for probably <500 microsecond "hard" real-time on slower processors, and everything on the high-end upto about 8 or 16 processors (and then clustering is viable for 90% of the apps where you need more). At may not be the absolute best at any one purpose, but I would really, really like to see anyone point out another OS that is pushing such a broad range of the entire computing spectrum (serving that extensive number of different purposes)?
Microsoft is probably the worse example here. I mean, they even have the CE group pitted against the Embedded NT group, not to mention the split DOS 7.x (aka Windows 9x) and NT/2000 on the desktop. We've looked at CE and Embedded NT and both are laughable ... I mean, Microsoft has absolutely no idea what even soft real-time is. I had some M$ marketeer at some trade show explaining to me that CE was a "real-time" OS because it had 50ms (1/20 sec) guaranteed response times ... I laughed in his face (because he obviously wasn't a developer and had no idea what real-time was).
Which brings me to my final point: I've seen others talk about "worst-case" response times on commercial OSes. I'm sorry but I've played with Windows CE and seen Microsoft's "claims" of guaranteed response times flop. As such, I'm skeptical about other vendor's claims as well. I don't expect full-up Linux to do my RTOS, but there are so many worthy alternatives for Linux (RTAI, RT/Linux, etc...).
And maybe that's what we do. Wait until a few "hard" RT implementations pan out as the "best-of-breed" and adopt at that point. I personally don't expect Linus to try to build a RT strategy around the entire Linux kernel. Sure, I'm sure the scheduler needs work (and will always for that matter), but I would look at either a separate small-footprint RTOS or a pre-emptive kernel for "hard" RT right now.
I'm personally hoping Cygnus makes eCos the product they have promised. It's nice to see it starting to make it into end-user products now (e.g., Brother's new printer line).
-- TheBS
-- Bryan "TheBS" Smith CONTACT INFO *********************************************************** Chat: thebs413 @ AOL/MSN/Yahoo (see http://Everybuddy.com) Email: mailto:thebs@theseus.com,b.j.smith@ieee.org Home: http://www.SmithConcepts.com
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |