Future Shock - Operating Systems?!
(A technical review of Genemoid)
So, you really want to know how all this imagination is ever practically possible?
Well, my theory for such an Operating System is completely based on proven concepts, methodologies and theories in Biology. As my theory gets stronger I will develop a mathematical proof for my theory analogous to its biological counterpart.
To start with, my theory is based on two major concepts/theories in Biology:
1) The theory of evolution as stated by Darwin.
2) Mechanisms of cell replication and evolution.
Let us closely analyze each one of them as to what is their significance in the field of Biology and how this pattern can be conveniently used for writing powerful, intelligent and self-evolving software; with an OS being just one class of software.
Charles Robert Darwin (1809 - 1882) after lots of observations argued that every living organism has evolved in time and is still in the process of evolution. He argued that this evolution of various organisms is the result of what he calls as 'Natural Selection'. Darwin's book 'The Origin of Species' which marshals an impressive amount of evidence in support of evolution by natural selection, has been one of the most influential books in biology (and so is for my theory).
This is what Darwin states:
i) Organisms produce many more offsprings than can possibly survive. Each pair of mice produces dozens of young ones, insects lay hundreds of eggs and plants produce thousands of seeds.
ii) The offsprings are very similar to the parents and also to each other. However, they are not identical, but differ from each other, to some extent, in size, shape, behaviour (characteristics) etc. In other words, in a population, some variability is always present for almost every characteristic.
iii) Only some, and not all, offspring are able to survive to reach adulthood. Those who become adults and reproduce do so with varying degree of success; some produce abundant offspring, some only a few and still others, mone. This is referred to as "differential reproduction".
Using the above stated Darwin's ideas in software production can result in developmet of innovative new software components as well as some worst ones; with considrable reduction in productioncost.
Here is a restatement of Darwin's theory for software components:
i) For a given problem, there can be many solutions, of which few are practicle, a few are theoritically possible, others are too complex and still others are impossile. A simple problem like matrix multiplication can be done using a varity of techniques like the conventional way, the Strassen's method or the Cannon's parallel method.
ii) The solution for a particular problem may be similar, but not same; with each solution having its own complexities, system requirements, efficienty and effectiveness. There are a dosen of ways an array of size 'n' can be sorted. While quick sort and merge sort look similar; their efficienties may be completely different.
iii) Out of all available solutions, only some become widely used. And out of these widely used solutions, only some get evolved over a period of time to become more aand more productive, effective and efficient.
The Darwin's theory gives us an idea as to how things work in software arena, but dosen't tell us any thing as to how to synthesis the above process and properly control it. This is essentially because Darwin's theory is about nature, which by now is said to be not under human control (and perhaps should not be). But when we consider the virtual world of software it is (almost) under our control. So my next section will concentrate on automating the process of software production.
2) Mechanisms of cell replication and evolution:
If you feel that the idea seem to be excellent, we can work together.
Mail me at firstname.lastname@example.org.