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
Linuxthe 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 Villanis
series of excellent articles on FreeDOS (INK 9596),
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,
its 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. Theres more, but
Ill get into Linuxs real-time extension
in a later column.