Linux Kernel Development ( book )
I am currently reading Linux Kernel Development, by Robert Love. This book serves as a great introduction ( it actual aims to become the canonical reference for intrepid kernel hackers ) to some fundamental operating system concepts (or, rather, kernel concepts ) and goes into great length describing how the Kernel ( version 2.6 ) is structured and how the various subsystems work.
For instance, the 2.6 process scheduler is a marvel of
engineering. Extremely simple and extremely efficient. It reminds
me of a similar solution I had to come up with, for one of our
services, but mine wasn't near as elegant, really.
I have only read a couple of pages thus far, but everything makes
sense. The linux kernel hackers are aiming for simple(=clean),
elegant and efficient solutions, the kind of solutions that yield
the best possible performance because they are kept simple and are
extremely optimized. Its just sad that the quality of the majority
of the surrounding applications running in user-space ( desktop
managers, open source applications.. ) do not follow this route. If
there was a desktop manager ( say, Gnome ) that would have been as
well thought of and well build as the underlying OS kernel, Linux
would have been a champion that would drive fear to Microsoft and
friends.
The Microsoft engineers should do the 'right' ( which is essence is wrong, of course) thing. Study the Linux Kernel source code and rebuild the Vista kernel by following the algorithms and design decisions found in the Linux Kernel. While they are at it, they should make sure to stay away from the concept of microkernels - even if the microkernel servers exist in kernel space ( which invalidates the whole idea behind microkernls anyway ), as it is the case with Windows, its a BAD thing to do. Performance matters. Perhaps, then, Windows would be at least an order of magnitude faster and wouldn't require so much iron ( pumped up hardware requirements ) to run.
R 20/11/2006 3:59
R