How does Linux kernel developers handle their work with millions of rows of code? Is their a method?

I've read that the kernel has about 15 million rows of code. To me, a man working with simple scripts of usually up to 100 rows of code, 15 million rows of code sounds like something very hard to handle with. I mean, I imagine a file tree huge in a galactic scale and a confusing environment.

But of course, it's not this way, because if it was this way, no human would develop the kernel, so there must be a way to navigate in the huge file tree and working with it when it's generally not confusing, and when it is just systematic and comfortable.

Is there a formal method of work / inode organization / finding one's way in this giant inode tree?

Just like astronomers basically map their environment this way: Universe > Laniakea > Virgo Supercluster > Local group > LIC > Solar system > Earth, I believe there is a similar mapping system in the Linux kernel, that could give someone like me, a junior programmer, at least just a glimpse as of now, to the core of the nix systems I work with.

  • Your question in a more general view: "How can one work on, and develop a code base which is hundred times bigger for a single person to understand it in a whole?" Well, you hit the main problem of the whole IT since decades. :-) There are many workarounds of the problem, but none of them is easy. The Softwareengineering SE is dedicated theoretically for this topic. – peterh - Reinstate Monica Nov 23 '17 at 9:35
  • pereth, can you please migrate this question to SoftwareEngineering SE? – Arcticooling Nov 23 '17 at 10:07
  • No, except rare cases, only mods can migrate questions to another site. Don't ask for why, probably no one on the world knows the reason. SE has a lot of unexplained ****ism. :-( Another problem is that the softwareengineering SE has the highest proportion of closed questions, the Unix SE is yet a far more friendly site as they are. – peterh - Reinstate Monica Nov 23 '17 at 10:50
  • Btw, it seems your questions don't get always very nice treatment, I think it is because you are asking topics which are typically rarely asked there. But I think it shouldn't be the reason of so much trouble you face. But don't worry, your reputation seems constantly growing and slowly you are learning, how to ask and what. Btw, roughly from your reputation, also you have a vote about the close/reopening of your own questions. Do you see a "reopen" link below your question? If yes, click it. If not, you will soon see. – peterh - Reinstate Monica Nov 23 '17 at 11:19

It takes git, Perl scripts, e-mail and patience. I highly recommend this video from one of the main contributors to the kernel. It has the answer to all the questions that you've posted.

Greg Kroah Hartman on the Linux Kernel

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.