In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-15 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/01 Report--
This article mainly shows you the "sample analysis of Linux kernel development experience", which is easy to understand and well-organized. I hope it can help you solve your doubts. Let the editor lead you to study and learn the article "sample Analysis of Linux Kernel Development experience".
The Linux kernel community celebrated its 25 anniversary in 2016, and many people came to ask us the secret of the longevity and success of this project. I usually smile at first, and then joke that I really don't know it's been 25 years. The project has always faced differences and challenges. But, seriously, our ability to do this has a lot to do with the community's ability to reflect and change.
About 16 years ago, most kernel developers never met each other, and we just contacted each other by email, so Ted T'so came up with the idea of a kernel summit. Now, kernel developers get together every year to solve technical problems, and more importantly, review what we have done right and made mistakes over the past year. Developers can talk openly about how they communicate with each other and how the development process works. Then we will improve the process, we will develop new tools like Git, and we will constantly change the way we work together.
Although we do not yet fully understand all the key reasons for the success of the Linux kernel, there are still some lessons to share.
1. A shorter release cycle is important.
In the early stages of the Linux project, each major version of the kernel needed to be released every few years, which meant that users had to wait a long time to enjoy the new features, which was quite frustrating for users and distributors. And, more importantly, such a long cycle means that you need to integrate a lot of code at once. It's also very stressful to combine so much code into one version.
Shorter cycles can solve all these problems. The new code can be incorporated into the stable version in a shorter time. Integrating the new code into an almost stable baseline version makes it possible to introduce fundamental changes with minimal impact on the system. Developers know that if they miss this release cycle, there will be another one within two months, so they rarely incorporate code prematurely.
two。 The expansion of the process requires a distributed hierarchical development model
A long time ago, all change requirements were transferred directly to Linus Torvalds, but this quickly proved inappropriate because no one had a complete grasp of a project as complex as the operating system kernel. Early on, maintainers in different areas of the kernel came up with the idea of assigning parts of the kernel to people who are familiar with the field. For example, network, wireless, driver subsystems like PCI or USB, or file systems like ext2 or vfat. It then extends to hundreds of maintainers responsible for code review and integration, making it possible to include thousands of changes in each release without sacrificing product quality.
3. The importance of tools
Kernel developers were trying to expand the scope of developers until the advent of BitKeeper, a source code management system, and almost overnight the practice of the community changed, and the advent of Git brought another leap forward. Without the right tools, projects such as the kernel will not work properly and will be overwhelmed by their own weight.
4. A strong public opinion-oriented model is very important.
In general, if a developer mogul rejects a submitted change, the change will not be incorporated. It is very frustrating for developers to find that the code they submitted a few months ago has been rejected in the mailing list. But it also ensures that kernel development can adapt to a large number of users and problems. No user community can make changes at the expense of other groups. We have a code base that can support everything from minicomputers to supercomputers, and it can be used in many scenarios.
5. The strong "no regression" rule is also important.
About a decade ago, the kernel development community promised that if a given kernel worked in a particular environment, all subsequent kernel versions would work in that environment as well. If the community finds that a change has caused another problem, they will solve the problem quickly. This rule promises users that the system upgrade will not damage their original system. As a result, maintainers are willing to continue this kernel when developing new features.
6. It is critical for companies to participate in the development process, but no company can lead kernel development
Since the release of the kernel version 3.18 in December 2014, about 5062 individual developers from nearly 500 companies have contributed to the Linux kernel. Most developers are paid for their work, and the changes they make are for their company. But while any company can improve the kernel according to specific needs, no company can lead developers to do things that hurt others or limit the functionality of the kernel.
7. There should be no internal boundaries in the project
Kernel developers must focus on specific parts of the kernel, but as long as the changes are reasonable, any developer can modify any part of the kernel. As a result, the problem will be solved rather than avoided when it arises. Developers have a wide variety of views on the entire kernel, and even the most stubborn maintainers cannot indefinitely shelve the necessary improvements in any given subsystem.
8. Important functions start bit by bit.
The original version 0.01 kernel had only 10000 lines of code; now it adds more than 10000 lines every two days. Some of the basic, tiny features that developers add now may evolve into important subsystems in the future.
9. To sum up, the 25-year history of kernel development shows that continuous cooperation can lead to common resources, which cannot be developed by a single team.
Since 2005, about 14000 individual developers from more than 1300 companies have contributed to the kernel. Therefore, with the efforts of many companies that compete fiercely with each other, the Linux kernel has developed into a large-scale public resource.
The above is all the content of the article "sample Analysis of Linux Kernel Development experience". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.