Linux kernel design and implementation (lkd) 3

Source: Internet
Author: User

We have been involved in the Linux kernel for more than ten years. Like other interested friends, we have also experienced the process of learning-practical-tracing-re-learning. That is to say, we also go from nothing to nothing, and then to a glimpse of the path, and we feel that we have been walking this way. "When you dig deep into your foothold, there will always be spring water pouring out, don't worry about the ignorant people shouting: 'the bottom will always be hell! '", The wake-up bells of Nietzsche's philosophy often come to mind.

Linux is most praised for its free spirit. All source code is at your fingertips. The source code is in the front, no secret. Yes, but when we face it, why is the steep learning curve created by this scale and level always stuck? Many of my friends have fallen down here, even though the Linux World is flourishing and the kernel sky is boundless. But how can the haze in the eyes be dispelled by the sun? If you are ambitious, you may have to worry about it. Where is the path at your feet?

It is not easy to get started with the Linux kernel. The reason why it is hard to learn lies in its large scale and scope. If the scale is large, it is difficult to show the original face and integrate the whole system. Naturally, it is not easy to find the starting point. If there are many layers, it will be dazzled. How can we make people outline it?

"If you have such a book, you can outline it, straighten out your thoughts, guide your direction, and take care of the Section. Elaborate on the nuances and help us better and faster understand the STL source code. "Although these remarks are aimed at C ++, they share the common aspiration of those who study the source code. However, the methods for studying Linux source code are not the same. This is determined by the scale and level. For example, in language learning, we can take a small step and run fast. through small programs and small attempts, we can achieve gradual results, in this way, we can gain some benefits from new technologies. What about Linux? If you are not sure about the whole, you will not be able to integrate it into practical applications even if you are familiar with a local algorithm, technology, or code. In fact, large-scale software such as the kernel is exactly the stage for programming technology to exert its skills (of course, although the current kernel contains some object-oriented ideas, however, C ++ cannot show its skills ).

So, what can we do to make the Linux kernel learning process more in line with the programmer's habits?

Robert love answered this question. Robert Love is an avid kernel enthusiast, so his ideas are naturally close to programmers. Yes, we are doomed to start our own practice after we have a comprehensive understanding of all the core subsystems, but we can discard the details and minimize the baggage, naturally, you can easily move to the hands-on stage.

Therefore, compared with the kernel "understand Linux kernel" of Daniel P. bovet and Marco cesati, it has five points of detail. Compared with the typical "Linux Device Driver", it has five points of reasoning. It can be said that this book fills the gap between the theory and practice of Linux kernel. "One bridge is flying across the North and South, and the sky is changing ".

As far as our experience is concerned, beginners of the kernel (not beginners of programming) can start from this book and have an overall grasp of each core subsystem of the kernel, including what services they provide, why do we provide such a service. This book also contains a lot of information that Linux kernel developers need to use during development, including debugging technology, programming style, and precautions. Based on this article, if you focus on Kernel understanding, you can further study understand Linux kernel and the source code itself; if you focus on actual programming, you can study Linux Device Driver and start your work. If you want to have a simple kernel learning and practice, visit our website www.kerneltravel.net.

The Linux kernel is like a ship that never stops. We don't know where it is going, but behind these changes, there are always some principles that remain unchanged, there are always some changes that we want to know, such as the significant improvement of the scheduler and the continuous improvement of kernel performance. Although the third edition of this book targets newer 2.6.34 kernel versions, however, the knowledge and experience you have accumulated on the old version is still valid, and the new content makes it easy to cope with the changed kernel code.

Thanks to Niu Tao and Wu te, they spent a lot of effort in checking the differences between the second and third editions. Thanks to Cheng renquan, a stranger,He took the initiative to undertake the revision of one chapter. I would also like to thank su Jinxiu, Huang Wei, Wang zeyu, Zhao gejuan, Liu zhouping, Zhou yongfei, Cao Jiangfeng, Chen Baihu, and Meng aolong.,They participated in the Post-verification and error correction.

Finally, I would like to thank my cooperator Kang Hua for his tireless pursuit of technology not only earned a reputation in the industry, the technical difficulties and obscure sentences we encountered during the translation process were also lowered. Thanks to his collaborators Zhang Bo, his smooth and interesting texts have made the book less boring and interesting.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.