Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

The Interactive Linux Kernel Map

Posted by timothy on Sat Jun 28, 2008 06:05 PM
from the visualization-to-the-nth-degree dept.
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."
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Fools! (Score:5, Funny)

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

    Now the terrorists will know where to strike us!

  • 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.

    • 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)

      Or perhaps the crafty .. Pakleds (http://en.wikipedia.org/wiki/Pakled)
    • 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.
  • 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.
    • 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) * <`moc.liamg' `ta' `3eldnik'> 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?

          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.

  • 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?

    • 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>

      • 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.

    • You can see a Windows version of the diagram here:

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

    • 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] [at] [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?

  • Wow. (Score:5, Interesting)

    by smitty_one_each (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.

  • this [makelinux.info] and [makelinux.info] this is the real reference for the kernal.
  • 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.
    • by KasperMeerts (1305097) on Saturday June 28 2008, @07:02PM (#23986069)

      The overall user experience sucks at best. Go ahead and flame me.

      Allright I will. I'm surprised you people still exist and even more surprised you still dare posting such nonsense on /. .
      The user experience of the desktop-geared distributions matches OS X and even transcends it a lot of times.

      And saying it's hard to install makes no sense. OS X is preinstalled and can only be installed on a very, very limited number of computers. You can't just compare them. OS X is not 'better' at installing, it's just out of category. And Linux still does a lot better than Windows in terms of hardware compatibility.

      • And Linux still does a lot better than Windows in terms of hardware compatibility.

        While on your side in your flame, I'm going to have to disagree with you on this one. Ignoring Vista for one minute with its compulsory driver signing, etc., XP has a remarkably good support for hardware because...all mass-market vendors will necessarily write drivers for Windows, but not for Linux. I've been using Linux for 10+ years, since the days when Slackware was the most "user-friendly", and until Ubuntu 8.04, I was st

      • And saying it's hard to install makes no sense. OS X is preinstalled and can only be installed on a very, very limited number of computers. You can't just compare them. OS X is not 'better' at installing, it's just out of category.

        Well, if it makes you feel any better then you could say Linux doesn't compete in the category 100% of the people wants - computers with operating systems. Of course that'd just start a small flamewar over how Linux took only two clicks to install and how their grandmother could do it. And now Linux has a few preinstalled variations, not much more hardware choice than Macs on that though, but isn't it really convienient to define it out like that? "Easiest to install except the operating systems that don't

      • Nonsense? I can't compare Ubuntu or Fedora to OS X because I don't have enough experience with OS X. But if you compare Ubuntu to Windows, including Vista, then it's obvious the Linux experience sucks.

        Don't get me wrong, I install and manage Linux servers, I'm certainly not fond of Windows 2003 and I think Linux servers are easier to maintain, but on the general desktop Linux is miles away from Windows. It can, kind of, do the job after a lot of tweaking, it can be "fun" for someone who sees computers as a

    • Seems to be variable. I had absolutely no problems installing FC6, 7 and Fedora 8 and 9. Just pop the CD in and go. I'm not saying these install problems don't exist, I've just never seen them.
    • Re: (Score:2, Insightful)

      by Anonymous Coward

      Get back to your tower of ignorance.

      Your post is rather contradictory. You say the kernel is rock solid, yet then say you have video, audio and lock-up issues, which would actually most likely be caused by kernel issues. I doubt the problems really existed, as you have been purposefully scant on details. Also, I have a few different cards from different iterations of the Sound Blaster generations and they are some of the most stable and functional sound cards under Linux, so I think this is just an oversigh

    • The overall user experience sucks at best. Go ahead and flame me.

      Flame you because...what, you're spouting a lot of unfocused hyperbolic blanket statements, or because you're asking to be flamed?

      Last week's installs left a lot to be desired. We started with Fedora core 9 and and had all sorts of video and lock up problems. We abandoned it after three days of trying. The install disk wouldn't even run without a resolution parameter.

      Without much in the way of context or so much as a mention of why you cho

    • I have two computers at home, even if I wanted to install OS X on them it would not work and it would probably be illegal, I have no intention to buy another computer because these are rather new machines. Oh, and I don't want to use Windows either, plus it's way too expensive and bloated (Vista). Linux and BSD work just fine on my machines...

    • I use F9 on a daily basis, and it's a pretty decent (though not great) distro.

    • Re:those books... (Score:4, Informative)

      by pipatron (966506) <pipatron@gmail.com> on Saturday June 28 2008, @07:22PM (#23986199) Homepage
      No, you don't "wonder". You assume that it's illegal to share, and apparently you want the rest of us to do so as well. If you would have been curious, you could easily have clicked on the books and found out that they are all free to share, like information should be.
      • by CaptainTux (658655) on Saturday June 28 2008, @10:08PM (#23987167) Homepage Journal
        The Linux developers are selfish dickheads who have exactly the same monopolistic mindset as Microsoft -- who also signs NDAs with vendors.

        Can you point to some of these NDA's you speak of? Because, I have to wonder how you can have an NDA on something that anyone can go to your website and download the source code for.

        • Re: (Score:3, Informative)

          I don't know of any examples, but it isn't unheard of where Linux developers sign an NDA with a company to get documentation in order to write an open driver. The company allows the code to be disclosed, but not the documents that were used to develop the code.
    • I couldn't agree more. I recently installed Fedora 9 on a Dell Inspiron 9400 laptop and everything was working from the get-go, including the Compiz wizardry. The only glitch was with the wi-fi card. I had to first connect the machine to the hardwired ethernet for it to download some sort of driver before it could find my wi-fi.