On Fri, 18 Apr 2008, varunjith tk wrote: > Date: Fri, 18 Apr 2008 10:30:44 +0530 > From: varunjith tk <[EMAIL PROTECTED]> > Reply-To: <[email protected]> > To: <[email protected]> > Subject: [twincling] Studying Linux source code.. > > Hi All > > Am very much new to Linux.I was very keen to go through the source code in > Linux like drivers etc.But couldn't find where they are stored in the files > system.When I searched could see only some make files and other stuffs which > I couldn't understand. I know its not possible to go through complete source > code but still to get a fel of that can anybody help me??? > > Varunjith T K >
Hi Varunjith: When travelling to a new city it is important to carry a map ! So we know the main landmarks, the intersections, transit points, tourist attractions, eat outs, localities and other road details at a glance. First time visitors will also go for local sight-seeing tours that help understand the city better and develop an appreciation. Additionally, one may make choice of mode of travel to spend more time on some visits. There is also a lot of difference between "sight seeing" and "roaming" ! The above highlighted "common sense" using a tour analogy is also "required" when looking a large, professionally written code base like FreeBSD OS, Linux kernel, Open Office, Firefox, KDE, QT, PostgreSql etc. Here are some things that i would do everytime i had to work with a large code base: 1. get the code base 2. get a top level functional view of the various components 3. get familiarized with the module names 4. identify the task or goal to achieve 5. if the task maps to hardware, read up the specs 6. make use of search database creation tools 7. use the tool to look at the code 8. establish the sequence of inovacations in a framework 9. try and build the select module or the code base 10. refine the goal and goto step 4. 11. if task accomplished, exit by documenting what i did. It would help a lot to look at very specific situations or cases or even better, start with a bug, so that the goal is always very clear ! Most kernel code bases also require you to discern between . normal function calls . call backs . and very importantly trampolines This kind of approach when iterated over few specific situations will lead to better understanding of some of the parts of the code base. The knowledge you gain is the new platform on which you can base your further explorations. Hope this helps. Good luck. thanks Saifi.

