\documentclass[twocolumn]{scrartcl}

%% PDFTeX output
\newif\ifpdf \ifx\pdfoutput\undefined
\pdffalse % we are not running pdflatex
\else
\pdfoutput=1 % we are running pdflatex
\pdfcompresslevel=9 % compression level for text and image;
\pdftrue
\fi
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{a4wide}
% LaTeX to HTML
% http://www.cis.ohio-state.edu/~gurari/TeX4ht/
% einkommentieren und mit 'htlatex ...tex' TeXen
% \usepackage[html,sections+,3,png]{tex4ht}

\author{Stefan Kamphausen\thanks{\texttt{mail@skamphausen.de}}\\
  \small\href{http://www.skamphausen.de/misc/writings/}
  {\nolinkurl{http://www.skamphausen.de/misc/writings/}}}
\title{Kernelland}

\ifpdf
\makeatletter
\pdfinfo {
  /Title (\@title)
  /Author  (Stefan Kamphausen)
}
\makeatother
\usepackage{times}
\usepackage{thumbpdf}
\usepackage[pdftex,xdvi]{graphicx}
\usepackage[pdftex,colorlinks=false]{hyperref}             % Klicks in xpdf
\else
\usepackage[colorlinks=false]{hyperref}             % Klicks in xdvi
\usepackage{graphicx}
\fi

\begin{document}
\maketitle
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Introduction}
\label{sec:intro}
In my humble opinion The Evolution is a strong driving force behind
many processes.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Kernelland}
\label{sec:kernelland}
The other day I woke up and found myself living in Kernelland.  Just
imagine an arbitrary, though not too old, desktop computer running the
Linux operating system (and I am not referring to it as GNU/Linux here
because I am mainly interested in the Linux Kernel (\cite{kernel})
itself).  I was a process living in that machine and to me it was like
a country at that moment.  Picture that and try to slip into that role
as well.  No need to haste, take your time.  Try to actually
\emph{feel} like being a process in Kernelland.

Let me tell you this, friends: I was not happy there.

I came to existence by being forked from a parent process, which is
pretty much like real life, but I only was created to serve one
special purpose.  This might sound like a good deal, since so many
humans are running after their sense of life, but, honestly, it's not
that cool if you are well aware what you are about to do and that you
will die afterwards.

Yes, that's what the Kernelland Law is like.  It has radical
punishments for its inhabitants and strict laws. I will tell you about
some of those laws in Kernelland now.

If I don't do my job well I will probably be killed by some strange
acting god-like creature called the \emph{user}.  While I am working
hard to fulfil my purpose I am told to hold on and wait until I am the
first in the queue again every now and then by our Scheduler of
Kernelland.  He gives me all the things I need like time to work
(CPU-cycles) and time to sleep.  And if I was designed to do only a
minor deed I am given less time.  There is a strong hierarchy of
processes.


I own a very strictly limited piece of estate that I have been given
to live in, just as anyone else in Kernelland.  No big deal in that,
many of you readers will have a similar piece of land (or a flat) to
live in.  And just as you are allowed to grow plants in your land I am
allowed to do whatever fits me with that land, like for example
filling it with random numbers (well, most of that estate anyway). But
from time to time you invite some friends to come round and have a
barbecue.  This is not possible in Kernelland because the Law
prohibits leaving my own estate.  If I should try to touch anyones
piece of land I'm killed immediately.  This is the normal punishment
for acting against the Law of Kernelland.

Nevertheless, just like in real life, there are quite clever criminals
that have found holes in our Laws of Kernelland and exploit them.
Thus they gain the chance to achieve god-like attributions and they
might be given \emph{root rights} afterwards.  But they need to be
quite sophisticated in their methods not to be killed immediately by
the Kernelland Executives.  If they happen to be a kind of process
which is declared \emph{very unimportant}, e.\,g.\ if they don't even
have \emph{local user rights}, such a violation, if performed stealthy
and with high technical skill, may only lift them up to the level of a
\emph{user process}.  But then there is just another step to take
\ldots

I am given the ability to use some message system to communicate with
other processes but only if they are trying to listen.  That way it is
made sure that I don't spread any revolutionary thoughts.  We have a
press that is called syslog and it prints everything you might tell it
to.  The problem is that only the very important processes (those that
have root rights) are allowed to actually read it.  Not what I would
call a \emph{free press}.

Altogether that makes me an inhabitant of a land with very strict
laws, even stricter punishment and with one single purpose to live
for.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Hippie-Code}
\label{sec:hippiecode}
It is a very common opinion between Free-Software-Coders that
people should live together in peace.  This is a good thing \emph{per
 se}.  One very important aspect of that community model is the right
for Free Speech and another is the aspect that (whatever) executive
force, like e.\,g.\ the police, is generally bad.  This does not
reflect the complicated situation that a thinking order-recipient
might find itself in neither does it come up with an alternative
solution.  Actually that is the problem with many optimistic future
scenarios, or pessimistic presence scenarios: to not provide an
alternative.  But all that is not what this writing is all about.
This writing wants to focus on the social aspects of operation systems
and computing in general.

Before getting on I just want to mention, that one of the reasons for
me working in that open software development scene was that I felt
that a good deal of my old dreams --which involved an amazing little
amount of money making but an amazing huge amount of wealth-creation
(for a 15 year old boy)-- were becoming something close to truth.  It
almost felt like a \emph{really existing anarchy}.

Now, I really do think that Free Software has come up with many
technically excellent pieces of work.  When I first encountered the
good ol' FVWM (\cite{fvwm}) I was more than captured by the concept of
virtual desktops/viewports -- just as an example.

Sometimes I get this hippie-esk feeling when thinking about the Free
Software (\cite{fsf}) and the Open Source (\cite{oss}) movement.  It
has started as a distributed act of love and pride and freedom.  The
love towards programming, the pride for ones own work and the wish for
freedom.  In the recent years the open software development process
has proven extremely successful, although I am not so very sure that
it will continue to, but (again) that's not what this writing is all
about.

This writing is all about asking: ``Is the Linux-Kernel --good as it
is-- all we can come up with?'' Just think about the Kernelland
described above.  Is that really a good place to live? How do we treat
those poor processes?  Ain't there a Charta with certain rights that a
process must have? (Just joking here.) More important, is that really
the only way to design an operating system?  As an extremely
totalitarian system?  With death penalty allover the law?  With
(fire)walls built for security to protect against other countries?
And the only approach to detect the clever criminals is to write new,
even stricter laws?

Somehow I don't feel that way.  I can't believe that all those
idealistic developers can only create rules they wouldn't except in
real life.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{BreedOS}
\label{sec:breedos}
Now, please, let me get a little dreamy.  Let's get back to Lady
Evolution.  Can't there be a way of creating an operating system in an
evolutionary development?  Of course it is already evolving in many
ways and directions. It's just that it's so damned slow.  Can't that
be done in a way similar to those modern evolutionary algorithms by
defining a test system and thus, a fitness function, that can simulate
the real world?  For all those not familiar with evolutionary
algorithms this might be cooked down to a virtual operating system
that can be tested for it's general performance automatically, and
that is: computationally fast.


For example think about User Mode Linux, or VMWare (\cite{vmware}) or
Bochs (\cite{bochs}) or whatever virtual machine there is. Can't they
be utilised for \emph{breeding a kernel}?  This must sound like an
extremely complicated idea to those who know a bit about artificial
intelligence algorithms.  To them I'd like to point out that one might
be able to come up with an abstract set of aspects for one part of the
kernel at a time.  That is, the \emph{scheduler} might be optimised in
one project whereas the \emph{permission control} will be improved the
next time.

For all those readers who are not familiar with artificial
intelligence imagine the environment of such a kernel as a separate
computer that can be started with any operation system within a short
time and that can then be used by some very clever computer programs
that try very hard to find the issues in the system they live in. 
  

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Results?}
\label{sec:results}
If we could come up with such a system, what would that lead to?  A
similar approach as the current or some creative new thing?

Take a look at your own body for example.  That \emph{has} been
evolved by nature in a good deal of time.  It comes shipped with a
police (immune system) to protect against foreign invaders, but that
police must not overreact.  Otherwise it leads to auto-immune diseases
(diabetes, allergies. \ldots).

And, to finally come to the title of this article, could the results
of those experiments, or even just the analysis of the human immune
system, lead to a better understanding and maybe even an implementation
of better social dynamics? 

Dude, if so the Open Source and Free Software movement are really a
cool gang!

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bibliography{../sources}
\bibliographystyle{plain}

\footnotesize
\copyright\ Copyright 2004 Stefan Kamphausen.  This document is Free Speech
as defined in a similar writing on
\href{http:www.skamphausen.de/misc/writings/freespeel/}
{\nolinkurl{http:www.skamphausen.de/misc/writings/freespeel/}}
\end{document}
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "kl"
%%% End: 

