PDA

Xem tài liệu đầy đủ : Sách Understanding the Linux Kernel



Mr BA
27-08-2009, 15:21
Preface
In the spring semester of 1997, we taught a course on operating systems based on Linux 2.0. The idea was to encourage students to read the source code. To achieve this, we assigned term projects consisting of making changes to the kernel and performing tests on the modified
version. We also wrote course notes for our students about a few critical features of Linux liketask switching and task scheduling.We continued along this line in the spring semester of 1998, but we moved on to the Linux2.1 development version. Our course notes were becoming larger and larger. In July, 1998 we contacted O'Reilly & Associates, suggesting they publish a whole book on the Linux kernel.

The real work started in the fall of 1998 and lasted about a year and a half. We read thousands of lines of code, trying to make sense of them. After all this work, we can say that it was worth the effort. We learned a lot of things you don't find in books, and we hope we have succeeded in conveying some of this information in the following pages.
The Audience for This Book All people curious about how Linux works and why it is so efficient will find answers here.

After reading the book, you will find your way through the many thousands of lines of code,distinguishing between crucial data structures and secondary ones—in short, becoming a true Linux hacker.

Our work might be considered a guided tour of the Linux kernel: most of the significant datastructures and many algorithms and programming tricks used in the kernel are discussed; inmany cases, the relevant fragments of code are discussed line by line. Of course, you shouldhave the Linux source code on hand and should be willing to spend some effort decipheringsome of the functions that are not, for sake of brevity, fully described.On another level, the book will give valuable insights to people who want to know more aboutthe critical design issues in a modern operating system. It is not specifically addressed tosystem administrators or programmers; it is mostly for people who want to understand howthings really work inside the machine! Like any good guide, we try to go beyond superficialfeatures. We offer background, such as the history of major features and the reasons they wereused.
.