\author {Sven Goldt}
\title {The Linux Programmer's Guide}
\section {The linux operating system}
  In March 1991 Linus Benedict Torvalds bought the multitasking
  system Minix for his AT 386. He used it to develop his own
  multitasking system which he called linux. In September 1991
  he released the first prototype by e-mail to some other Minix
  users on the internet and this was the birth of the linux
  project. Many programmers from now on supported linux. They added
  device drivers, applications and aimed towards POSIX compliance.
  Today linux is very powerful and what is best - it's free.
  Work is beeing done to port linux to other platforms.

  
\section {The linux kernel}
 The base of linux is the kernel. You could replace each and every library
 but the kernel is what makes linux. It contains device drivers, memory
 management, process management and communication management.
 The kernel hacker gurus follow POSIX guidelines and this is what makes
 programming sometimes easier and sometimes harder. Especially if you
 wonder why your program behaves on newer linux kernel releases different
 than on older ones the chance is high that a new POSIX guideline has been
 implemented.


\section {The linux libc package}
  libc: ISO 8859.1, $<linux/param.h>$, YP functions, crypt functions, 
  some basic shadow routines (by default not included), ...
  old routines for compatibility in libcompat (by default not activated),\\
  english, french or german error messages,\\
  bsd 4.3 compatible screen handling routines in libcurses, \\
  bsd compatible routines in libbsd,\\
  screen handling routines in libtermcap,\\
  database management routines in libdbm,\\
  mathematic routines in libm,\\
  entry to execute programs in crt0.o ???,\\
  byte sex information in libieee ???,\\
  user space profiling in libgmon,\\
  Most parts of the linux libc package are under the Library GNU Public 
  License and some are under a special exception copyright like crt0.o.
  For commercial binary distributions this means a restriction that
  forbids staticlly linked executables. Dynamically linked executables 
  though are again a special exception and Richard Stallman of the
  FSF said:
  {\it [...] But it seems to me that we should unambiguously permit
  distribution of a dynamically linked executable *without* accompanying
  libraries, provided that the object files that make up the executable are
  themselves unrestricted according to section 5 [...] So I'll make the
  decision now to permit this. Actually updating the LGPL will have to wait
  for when I have time to make and check a new version.}

\endinput
