Kernelland

Stefan Kamphausen*
http://www.skamphausen.de/misc/writings/

February 28, 2004

1 Introduction

In my humble opinion The Evolution is a strong driving force behind many processes.

2 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 ([4]) 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 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 *mail@skamphausen.de 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 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 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 very unimportant, e. g. if they don’t even have local user rights, such a violation, if performed stealthy and with high technical skill, may only lift them up to the level of a user process. But then there is just another step to take . . .

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 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.

3 Hippie-Code

It is a very common opinion between Free-Software-Coders that people should live together in peace. This is a good thing 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 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 ([3]) 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 ([5]) and the Open Source ([2]) 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.

4 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 ([6]) or Bochs ([1]) or whatever virtual machine there is. Can’t they be utilised for 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 scheduler might be optimised in one project whereas the 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.

5 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 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. . . . ).

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!

References

[1]   Bochs website. http://bochs.sourceforge.net.

[2]   Open Source Software Website. http://www.opensource.org/.

[3]   The FVWM Window Manager. http://www.fvwm.org.

[4]   The Linux Kernel. http://www.kernel.org/.

[5]   FSF Free Software Foundation. FSF - Free Software Foundation Website. http://www.gnu.org/.

[6]   VMware, Inc. Vmware website. http://www.vmware.com.

© Copyright 2004 Stefan Kamphausen. This document is Free Speech as defined in a similar writing on http:www.skamphausen.de/misc/writings/freespeel/