Share this article:
What About Embedded Linux?
Somebody asked me: “What is the plural of Linux?” Maybe it is Linuxes. That sounds a bit messy, which seems rather appropriate really…
If we think about the desktop world and buying application software, you might have a Windows PC or a Mac or perhaps you run Linux. It is typical for the spec for an application to discuss hardware and OS compatibility. There will normally be ridiculously low memory size and CPU frequency minimums and a statement like “Requires Windows XP or later”. This leaves me a little wary. Will it run under Windows 10, which did not exist when the spec was written? But anyway, this information gives you something to go on. Much the same information is there for Mac users. If a program is available for Linux, there is more small print, which not only talks about OS versions, but also variants – which Linux distributions the program has been tested on. I think it is likely that, if you are smart/knowledgeable enough (I am not) you could get a Linux app to run under any variant, but it is something of a minefield.
In the embedded world, things are a bit different. Traditional RTOSes, like our Nucleus product, are quite stable. There are, of course, new versions from time to time, but backward compatibility of functionality, API etc. are always very important. However, many developers are finding that Linux is a viable option for their applications. But this opens up a new issue: which Linux variant do you use? Unless you really want to go down the “roll your own route”, this decision really comes down to which embedded software supplier you should select. Interestingly, many of the factors, that need to be considered, are the same as those applied when selecting an RTOS; there is a need to review the technical factors, but the commercial side is also important. The way we build embedded systems may be changing, but the fundamental considerations are the same.
Save 30% on his book and other Newnes Press and embedded systems books. Use discount code “STC317″ at checkout.
About the Author
You can read more about Colin and his work on embedded systems at The Colin Walls Blog at Mentor Graphics here. Connect with Colin online here:
Computing functionality is ubiquitous. Today this logic is built into almost any machine you can think of, from home electronics and appliances to motor vehicles, and it governs the infrastructures we depend on daily — telecommunication, public utilities, transportation. Maintaining it all and driving it forward are professionals and researchers in computer science, across disciplines including:
- Computer Architecture and Computer Organization and Design
- Data Management, Big Data, Data Warehousing, Data Mining, and Business Intelligence (BI)
- Human Computer Interaction (HCI), User Experience (UX), User Interface (UI), Interaction Design and Usability
- Artificial intelligence (AI)