[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <47B61955.5020100@tiscali.nl>
Date: Fri, 15 Feb 2008 23:59:33 +0100
From: Roel Kluin <12o3l@...cali.nl>
To: Linus Torvalds <torvalds@...ux-foundation.org>
CC: Greg KH <greg@...ah.com>, Jeff Garzik <jeff@...zik.org>,
David Miller <davem@...emloft.net>, arjan@...radead.org,
sfr@...b.auug.org.au, linux-kernel@...r.kernel.org,
linux-next@...r.kernel.org, linux-arch@...r.kernel.org,
akpm@...ux-foundation.org
Subject: Re: Announce: Linux-next (Or Andrew's dream :-))
Linus Torvalds wrote:
>
> On Wed, 13 Feb 2008, Roel Kluin wrote:
>> In nature there is a lot of duplication: several copies of genes can exist
>> and different copies may have a distinct evolution.
>
> This is true of very complex animals, but much less so when looking at
> things like bacteria (and arguably, any current sw project is closer to
> bacteria in complexity than anything mammalian).
>
> In bacteria (and viruses), duplication of DNA/RNA is a big cost of living
> in general, and as a result there is *much* less junk DNA. So in an
> evolutionary sense, it's much closer to what the kernel should have (with
> occasional duplication of code and interfaces to allow new functionality,
> but rather aggressive pruning of the excess baggage).
I like the comparison, and while I wrote my comment I have to admit I was
also thinking of bacteria and virusses as an exception: There the speed of
replication can be an important factor for survival. Less DNA means faster
replication and therefore the pressure is on removal of junk DNA. It can
be disputed however that removal of 'junk sourcecode' is a survival factor
for the linux kernel but the benefit may be disputable as well.
> In other words, all of these choices are a matter of "balance". In some
> areas, excess code is not a sufficient downside, and we keep even broken
> source code around with no actual function, "just because" (or rather,
> because the cost of carrying it around is so small that nobody cares).
>
> That's true in the kernel as in biology: check out not just deprecated
> code, but the drivers and other odds-and-ends that are explicitly marked
> as non-coding DNA (we just happen to call them BROKEN in our Kconfig).
>
> Linus
Maybe we can elaborate a bit on this comparison, just for fun:
I think not the linux kernel alone, but rather the entire Linux OS could
be compared with a cell. The kernel source encodes vital software parts
including the interactions with hardware - the environment for the
computer. Gcc can be compared with the (transcription and) translation
machinery. DNA can be seen as a language that encodes proteins, with
biological functions: Some are vital, including ones that allow
interactions with the environment: The cellular environment is beyond
the membrane. Interactions occur through membrane receptors, channels,
etc.
Interaction between proteins can be compared with functions selectively
calling other functions. Activation of certain proteins can cause a
cascade of protein interactions, comparable with function calls in a
loop: the activated protein activates particular protein(s) several
times. Some proteins influence intracellular messengers: cellular
global variables.
Transmembrane receptors responding to extracellular signals transmit
this through conformational changes across the membrane to the
intracellular region: These structural changes may allow interactions
with new proteins. Maybe comparable with a combination of hardware
interrupts, signals and the userspace?
The response to extracellular signals often depends on several
sequential interactions between proteins. This provides a protective
layer that can be compared with the kernelspace layer. This is where
the comparison probably becomes too biased to continue.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists