Linux Kernel Architecture

(Jacob Rumans) #1
Mauerer flast.tex V2 - 09/05/2008 12:08pm Page xxvii

Introduction


Unixis simple and coherent, but it takes a genius
(or at any rate a programmer) to understand
and appreciate the simplicity.
— Dennis Ritchie

Note from the authors: Yes, we have lost our minds.
Be forewarned: You will lose yours too.
— Benny Goodheart & James Cox

Unixis distinguished by a simple, coherent, and elegant design — truly remarkable features that have
enabled the system to influence the world for more than a quarter of a century. And especially thanks
to the growing presence of Linux, the idea is still picking up momentum, with no end of the growth
in sight.


Unixand Linux carry a certain fascination, and the two quotations above hopefully capture the spirit of
this attraction. Consider Dennis Ritchie’s quote: Is the coinventor of Unixat Bell Labs completely right
in saying that only a genius can appreciate the simplicity of Unix? Luckily not, because he puts himself
into perspective immediately by adding that programmers also qualify to value the essence of Unix.


Understanding the meagerly documented, demanding, and complex sources of Unixas well as of Linux
is not always an easy task. But once one has started to experience the rich insights that can be gained from
the kernel sources, it is hard to escape the fascination of Linux. It seems fair to warn you that it’s easy
to get addicted to the joy of the operating system kernel once starting to dive into it. This was already
noted by Benny Goodheart and James Cox, whose preface to their bookThe Magic Garden Explained
(second quotation above) explained the internals of UnixSystem V. And Linux is definitely also capable
of helping you to lose your mind!


This book acts as a guide and companion that takes you through the kernel sources and sharpens your
awareness of the beauty, elegance, and — last but notleast — esthetics of their concepts. There are, how-
ever, some prerequisites to foster an understanding of the kernel. C should not just be a letter; neither
should it be a foreign language.Operating systemsare supposed to be more than just a ‘‘Start” button, and
a small amount of algorithmics can also do no harm. Finally, it is preferable ifcomputer architectureis not
just about how to build the most fancy case. From an academic point of view, this comes closest to the
lectures ‘‘Systems Programming,” ‘‘Algorithmics,” and ‘‘Fundamentals of Operating Systems.” The pre-
vious edition of this book has been used to teach thefundamentals of Linux to advanced undergraduate
students in several universities, and I hope that the current edition will serve the same purpose.


Discussing all aforementioned topics in detail is outside the scope of this book, and when you consider
the mass of paper you are holding in your hands right now (or maybe you are not holding it, for this
very reason), you’ll surely agree that this would not be a good idea. When a topic not directly related to

Free download pdf