[Date Prev][Date Next][Thread Prev][Thread Next] - [Date Index][Thread Index][Author Index]

Re: Flight Computers

>But I never said that VxWorks would be be used for our final
>product, nor was that the focus of my answer.

Oh, OK. Most companies, including us, do use it for commercial
products, so I assumed you were using it the same way.

> The point was that real-time support was not available for these
>boards under Linux despite a tremendous amount of media/market hype
>that it was.

Whenever somebody says they need "real time support", I'm always
curious to know just what they mean. Obviously, if you don't have
enough total cycles to run all your applications, you need a faster
CPU, not a real-time OS.

Sometimes the desire for "real time" comes from the need to avoid
losing some incoming data (e.g., an A/D sample), as opposed to a need
to actually act on it in some significant way before some short
deadline. This particular problem can often be solved with good
hardware and device driver design, e.g., hardware buffering and an
interrupt handler that quickly empties or fills it.

But I'm sure there are still applications where that's not enough; I'm
just not familiar enough with them to know what they really need.  I
keep hearing about real-time patches for Linux, and I'd be interested
to know whether or not they meet some actual real-time applications.

>*But* if I make changes to the kernel proper, to make it more suitable for
>my application, per the GPL I have to release my modifications to the general
>public.  My customer absolutely would not allow it.

You know your application and I don't, but I'm having a hard time
envisioning what modifications you'd have to make to the kernel that
weren't either so trivial that you wouldn't mind releasing them, or
consist of a separately written device driver module that you could
still keep proprietary under the GPL. TiVo released the modifications
it made to Linux, but they were insignificant compared to their
application-layer stuff that they keep proprietary.

There certainly are many small embedded applications where the Linux
kernel would be overkill even with its modular nature, and where some
lightweight OS is preferable. But I've also seen a lot of initially
"simple" embedded applications grow substantially, often by the need
to add a file system or networking (e.g., to store configuration files
or to support a web server for configuration). At some point it
becomes easier and more reliable to switch to Linux, with its built-in
file systems and networking, than to add those features piecemeal to a
formerly lightweight OS kernel and have to debug everything anew.


Via the amsat-bb mailing list at AMSAT.ORG courtesy of AMSAT-NA.
To unsubscribe, send "unsubscribe amsat-bb" to Majordomo@amsat.org