Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Software Linux

The Interactive Linux Kernel Map 93

Constantine writes "The Linux kernel is one of most complex open source projects. Even though there are a lot of books on the Linux kernel, it is still a difficult subject to comprehend. The interactive Linux kernel map gives you a top-down view of the kernel. You can see the most important layers, functionalities, modules, functions, and calls. Each function on the map is a link to its source code. The map is interactive. You can zoom in and drag around to see details."
This discussion has been archived. No new comments can be posted.

The Interactive Linux Kernel Map

Comments Filter:
  • Fools! (Score:5, Funny)

    by Anonymous Coward on Saturday June 28, 2008 @06:16PM (#23985775)

    Now the terrorists will know where to strike us!

  • by Zombie Ryushu ( 803103 ) on Saturday June 28, 2008 @06:21PM (#23985807)

    After looking at all that, am I the only one who is sorta taken by how complicated it is, and under the impression I am looking at the various complications of the Borg collective Consciousness?

    (Before anyone makes the Bill Gates of Borg jokes, I have friends who say that really Microsoft is much more like the Jem'Hadar than the Borg. They don't really assimilate, they just show up with guns and take what they want.

    • by ya really ( 1257084 ) on Saturday June 28, 2008 @06:26PM (#23985843)
      Ewww...Star Trek references...too nerdy for me. Oh crap, I mean, how did I know it was a reference to Star Trek? Oh yeah, my nerdy brother watches that. Yep, that's it.
      • by MachDelta ( 704883 ) on Saturday June 28, 2008 @07:52PM (#23986383)

        After looking at all that, am I the only one who is sorta taken by how complicated it is, and under the impression I am looking at the various complications of a four barrel carburetor?

        (Before anyone makes the "Big Three" jokes, I have friends who say that really GM/DC/Ford are much more like the Hells Angels than a pack of Greasers. They don't really sit around at Arnold's diner, they just show up with guns and take what they want.

        Fixed... I think. We still use car analogies here at Slashdot, right??

    • Re: (Score:3, Informative)

      by dbcad7 ( 771464 )
      Or perhaps the crafty .. Pakleds (http://en.wikipedia.org/wiki/Pakled)
    • by jd ( 1658 )
      It's not the Bork, errr, Borg. It's structured by patient observers, which means it's based around the Gallifreyan Houses. There are even the right number of columns. Microsoft are more like the Daleks - stealing what they can use, exterminating the rest.
    • Nah!

      They're Daleks

      Exterminate!

  • What a farce (Score:4, Informative)

    by frovingslosh ( 582462 ) on Saturday June 28, 2008 @06:22PM (#23985815)
    I've worked on several different OS's and learned their internals intimately. Although I have used Linux a moderate amount I have no such understanding of the internal Linux architecture, so this slashdot post caught my interest. However, I RTFA, such as it is, but come away only with the belief that this is a further effort to make the OS look much more obscure and cryptic than any OS actually is. If anyone really learns much about the Linux OS from this thing I would be amazed.
    • by v1 ( 525388 )

      All I get from it is more of a basic feeling on the structure. How things fir together. Although it's interesting to see it's a fully populated grid. Usually things don't evolve over time to reach such symmetry and consistency.

    • Re:What a farce (Score:5, Insightful)

      by warrior_s ( 881715 ) * <kindle3.gmail@com> on Saturday June 28, 2008 @06:33PM (#23985889) Homepage Journal
      No one will try to learn linux from this map. I think of it as a quick guide to see how the control passes from one function to other within the kernel. E.g., if you want to trace how a network packet is transferred from one function to the other, just start from the bottom of the networking portion (device drivers) and follow it to the top (socket call).
      This will help those who already have a basic understanding of the linux kernel and are trying to find something quickly.

      Oh and it looks cool too :).
      • So which is the best way to understand the kernel (basically How Linux works) for someone that starts from scratch? Any guide, e-book, tool anyone would like to recommend me?
        • by bfields ( 66644 )

          So which is the best way to understand the kernel (basically How Linux works) for someone that starts from scratch? Any guide, e-book, tool anyone would like to recommend me?

          One great way to start is to install git and, once a week or so, use it to download, build, and install the latest development kernel on your hardware. Some day you'll find that something that worked in week n doesn't work any more in week n+1. Report the problem and work with the developers to figure out what broke.

          And, yeah, there

    • Re:What a farce (Score:5, Insightful)

      by mrbluze ( 1034940 ) on Saturday June 28, 2008 @06:50PM (#23985999) Journal

      However, I RTFA, such as it is, but come away only with the belief that this is a further effort to make the OS look much more obscure and cryptic than any OS actually is.

      I don't do much OS level programming at all, but I would say this diagram is very useful. If I just, for example, want to get a sketchy idea of how networking is arranged in the kernel and where to look for dependencies and so forth, then it's a good start.

      It's not the best diagram I've ever seen but it's something that does make for a good page to have open during the planning stages of a project that integrates with the OS at multiple levels.

      If anyone really learns much about the Linux OS from this thing I would be amazed.

      If you click on an area it quickly takes you to relevant stuff to read. I think, spending a few hours with this, one could learn quite a lot about the system and get an idea from which end to tackle a problem. But of course it's no substitute for a book.

    • Yeah, but the guy also sells posters of it! If his wimpy 24" x 18" isn't large enough for you, then keep zooming and create a composite image of the chart yourself, then take the file to anyplace with a poster-printer and make your own!

      Nothing says "geek chic" like that baby hanging in your office or dorm room! Unfortunately, we don't want the noobs cheapening it like all the poseurs who have Dali and Van Gogh posters and don't know a fucking thing about either artist.
    • If anyone really learns much about the Linux OS from this thing I would be amazed.

      YMMV, I guess.

      I bookmarked it. I think its a handy reference and I traced a few module problems that I've worked back through the map, and some things I've heard/read actually made some sense.

      I like the nav, but I'll agree it's not the prettiest map I've seen. I also like the links.

    • If it's any consolation, the energy-minimized version of that map looks like it would put the System column next to the Human Interface column...

  • because I want pain (Score:5, Interesting)

    by v1 ( 525388 ) on Saturday June 28, 2008 @06:29PM (#23985869) Homepage Journal

    Someone has to ask it, and I have to admit I'm more curious about it than this. I want to see something similar to this for Windows or OS X, to compare with. Not down to the code level. (I did go trolling around in the code reading some comments, interesting stuff) but at least to see the difference in how things are laid out by comparison.

    Surely there are a few that have poked around in those two systems enough to give us a rough fleshing out of the internal structure?

    • Re: (Score:3, Insightful)

      OSX would be doable, since Darwin (its kernel) is open-source (at least some versions). Windows would be nearly impossible to "poke around in" and come up with a map like this. You need source-code level access for this kind of detail.
      • Darwin (its kernel) is open-source (at least some versions)

        1) xnu's the kernel -- Darwin refers to the whole open source OS.

        2) All desktop releases of Darwin (i.e. each 10.x and 10.x.x release of OS X) are open source.

        </pedant>

      • by v1 ( 525388 )

        Windows would be nearly impossible to "poke around in" and come up with a map like this.

        but can't we just ask any good windows virus/rootkit developer?

        that and there's got to be a few people "in the wild" that were former coders on OS X or Windows that have this level of working knowledge they could share with the masses.

      • OSX would be doable, since Darwin (its kernel) is open-source (at least some versions). Windows would be nearly impossible to "poke around in" and come up with a map like this. You need source-code level access for this kind of detail.

        There are quite a few academic institutions that have source code access to the Windows code base - just get one of them to do it.

    • OS X's core, Darwin, is licensed under the 3-clause BSD, and Apple releases both binaries and sources to the general public.
      If this Linux Kernel view was generated by any means, I imagine the same could be done for Darwin.

    • Re: (Score:3, Funny)

      You can see a Windows version of the diagram here:

      http://www.scotboyd.net/90percent/uploaded_images/IMG_0299-797021.JPG [scotboyd.net]

    • by jamesh ( 87723 )

      Is there an animated goatse somewhere that we can redirect this guy to?

  • Linux vs. BSDs (Score:1, Interesting)

    by Anonymous Coward

    Now I would like to compare that with one of the BSDs. The BSD folks should create a similar map so we all could be amazed.

  • by belmolis ( 702863 ) <billposer.alum@mit@edu> on Saturday June 28, 2008 @06:56PM (#23986031) Homepage

    I assume that this isn't manually built. How is it generated? Is the software available for use with other programs?

    • I assume that it was. It uses layman's terms ("graphics card", "cam") and is so aesthetic and devoid of cruft that it must be at least primarily the work of human hands.

    • by daliman ( 626662 )
      I second that; if it's autogenerated, then I'd like to play with this tool :)
    • Re: (Score:3, Informative)

      by conan.sh ( 1125691 )
      manually, with inkscape
  • Wow. (Score:5, Interesting)

    by smittyoneeach ( 243267 ) * on Saturday June 28, 2008 @07:24PM (#23986207) Homepage Journal
    Couple of points:
    • It would be cool to see an animation of the kernel boot, starting from GRUB lifting the image into ram, all the way to run time.
    • It would be cool to see an animation of a key press push an ASCII character code all the way through to user space, and then
    • the saving of a file out to a hard disk
    • A network packet going through would also be instructive.

    May fortune shine on these efforts to flatten out the learning curve.

    • Understanding the Linux Kernel [amazon.com] has a very good description of most of what you want to know. It, and Linux Device Drivers [lwn.net], certainly helped me get acquainted with the inner parts of the kernel.
    • Re: (Score:2, Informative)

      by conan.sh ( 1125691 )
      Thanks. Nice ideas. May be one day I'll implement it.
    • "It would be cool to see an animation of the kernel boot, starting from GRUB lifting the image into ram, all the way to run time."

      Here goes:

      1011 0011 0011 0011 0011 0011 0000 1100 1100 1100 1100 1110 0110

  • this [makelinux.info] and [makelinux.info] this is the real reference for the kernal.
  • My operating systems course involved hacking the freebsd kernel. This would have come very handy then though there are differences between freebsd and linux. Is there a similar map for freebsd?
  • by ndnspongebob ( 942859 ) on Saturday June 28, 2008 @10:12PM (#23987183)
    For a person that learns visually, a map like this is biggest gift any opensource community has given me. If only everything could have a map, then atleast people can explore and learn at their own pace in a much easier way.
  • So, where's the function for "global desktop domination through illegal monopolistic practices"?

Make sure your code does nothing gracefully.

Working...