“Linux is set to become the de facto standard in so-called “embedded” devices such as robotics, information appliances and automobile information systems. However, fragmentation could prove a stumbling block, said Inder Singh, chairman of the Embedded Linux Consortium (ELC).” Read the rest of the article at ZDNews.
Yesh guys, let’s PAY ATTENTION! Witness the recent Lineo “re-birth”. Red Hat has severely curtailed their work in the embedded arena. Will Linux make headway in Embedded Systems, yes. I’ve been working in this field for 20 years. VxWorks still rules. Yes, Linux has scared them, but there are other choices, like QNX, ThreadX, Integrity, OSE, Nucleus, and plenty others. Linux is NOT Real Time by design. Attempts by FSMLabs and others to add these capabilities are welcome, but they still leave a bit to be desired. I’ve yet to see a comparison between two equal VME /cPCI boards running Linux vs. VxWorks running “real world” applications (not just simple benchmarks).
Linux was “supposed” to rule the desktop, but hasn’t. I think some of the hurdles here will also be negatives in the embedded marketplace. Sure, maybe Linux costs less w.r.t royalties, etc, but when it takes 2x the RAM to run vs. VxWorks, it all comes down to the almighty Dollar, and most companies will only look at the BOM when pricing their products. Someday, maybe, but not today!
the premtion patch wil make it all possable.
as Linux gets better SMP support via finer grained Locking, the realtime capabilities will increase as well.
the premtion patch bring down latencies right now from 100 ms to 10 ms…..some times are even as low as 100 microseconds.
the patch has been set up to use the SMP locks so it knows when and when not to prempt the kernel code. as the SMP locks get better, allowing for better scailability on the server, it will also allow for better scailablity in RT systems.
I bet that by the end of the 2.x cycle, Linux will be a pretty good option for RT, as well as SMP.
I remember reading somewhere at an at least semi-reputable source that DOS is in fact the number one embedded systems OS today in terms of overall volume, by a fairly wide margin too.
If someone knows otherwise, please flame me right away because I would love to be disabused of this contention if at all possible.
…or doesn’t linux in general crying out for standards?
… Linux is crying out for standards…
Jeremy – you are quoting best time numbers for those pre-emption patches. They are a good thing to have in the linux kernel but honestly do not place any hard upper limits on system response – which is normally why people use an RTOS instead of a general-purpose OS in embedded situations. For many systems the difference between 10us and 11us could be the difference between a working solution and one that fails. I doubt, given the nature of the Linux kernel, that it will ever have sub 1ms worst case times even if they could get sub 100us best case ones.
And if you want to talk “best case” times 100us is 10-100x too slow.
Actually, the number one used OS in the embedded space are “home grown” OSes. And, if you look at where the numbers for embedded linux are coming from, these are the people that are looking at using Linux. Basically replacing thier home-grown OS with a heavily customized linux variant that, for all purposes, is thier own OS and not Linux at all. This is why you will see most, if not all, of the companies selling embedded linux go away – there just isn’t a market for what they are selling.
However, as long as the word ‘linux’ is one of the popular tech media hot-words, the embedded linux companies that are left will be able to beat their chests and have reporters listen. Mind you, these are the same media groups that told people to buy pets.com stocks because they had a bright future.
yeah, but remember, the linux kernel is just starting out toward rt as well as smp…..right now, the granularity of the smp locks is not that good, 4 procs at best right now……one day in the near future, it will reach as many as 64…at that time, what do you think the rt will be? pretty damn good.
No – locks has nothing to do with “realtime”, it just helps to avoid contention within the kernel that leads to blocking. However, simply removing locks doesn’t mean the kernel, for a given process, won’t go off into la-la land for 100s of ms. It just means while it goes off into la-la land it can be pre-empted to let something else run. There is a huge difference between pre-emption and realtime.
4 procs at best right now
These are numbers of a couple of months ago. Things have improved substantially since then (not necesserily on Intel hardware). BTW, 4 procs on Intel hardware is probably the sweetspot, so there are not that many customers with 4+ Intel configurations.
From jeremey:
the premtion patch bring down latencies right now from 100 ms to 10 ms…..some times are even as low as 100 microseconds.
No, the preemption patches tpically bring down reliable latencies to 1 – 2ms. Keep in mind that it
was always possible to get single digit ms latencies with Linux, you just need to schedule your process with (soft) realtime priority. The problem was that there were still some (non-preemptable) paths in the kernel that could take up to a couple of hundred of ms to complete. The preemption kernel improves this by adding the capability to interrupt processes even when they’re inside the kernel, thus greatly improving the chances of rock-solid latency figures. Also keep in mind that this is still not HARD realtime behaviour.
It is however already excellent news for soft realtime tasks like audio and video processing.
I get rock-solid audio performance for hours on end on my AMD Linux setup. The only source for latencies are some (badly?) written drivers, like the BTTV ones.
-fooks
I wonder what would need to done to the kernel to give it hard realtime……. the preemtion patch still makes it good enough for pocket PCs, sterieos, and other consumer electronics.
what makes xp embeded RT enough to be put into BMWs? is it a diffrent kernel?
You have a link that has BMW using XP in a “shipping” car? I know that they talked about using “CE for Automotive” in one of thier top-end cars as a trial. Just FYI- QNX currently owns the automotive market for infotainment/telematics.
… i don’t remember jeremy saying that BMW was *shipping* a car, but how CE got in there…
Just wanted to note that hard real time only means there is a guaranteed maximum response time.
If you an be sure any event will be served within one hour, it is hard real time.
Actually, IIRC, the type of realtimeness is defined by the consequences you’d face when the delay is too much.
Cheers,
kevin
let’s take a vote
who here would get into a car runing windows (CE/ XP)?