circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

November 1998, Issue 100

Embedded RT-Linux (Part 1):
General Introduction


INTRODUCING LINUX

Linux is an alternative OS for PC (and non-PC) platforms. There are really two aspects to what is generally considered Linux—the kernel, which is the true Linux component, and the applications that have been developed and ported to Linux. The applications range from clones of simple Unix command-line utilities like ls and vi to C and Fortran compilers and even commercial applications.

Together, the Linux kernel and the extensive applications that come bundled with it are called distributions.

Also, the kernel and a number of applications are available under the GNU copyright, or GPL. Check out Pat Villani’s series of excellent articles on FreeDOS (INK 95–96), where he describes the GPL and the issues concerning the embedded-systems integrator.

I should note that one of the differences between the Linux kernel and the NetBSD/FreeBSD kernel is that the Linux kernel is not GPL protected (whereas the others are) and it is subject to a different licensing agreement. Whether GPL is right for your project depends on your requirements.

Usually, it’s not a problem. GPL only requires you to make available the sources for components that are already under GPL. Other components, applications, and modules that you develop can be excluded.

A real-time extender, which extends the kernel using a dynamically loadable module, is also freely available. It works similar to real-time extenders for OSs like Windows NT, by dividing applications into processes and threads that are real-time aware and standard user processes that go unaffected. There’s more, but I’ll get into Linux’s real-time extension in a later column.