Looking At The Linux Kernel 196
A reader writes: "Some folks from The Boston Consulting Group with OSDN have been working on creating a visual representation of the Linux Kernel. It's been put online, complete with instructions with how to read it, and how to make sense of the information." There's also some new code checked into the Free Code Graphing Project, which enabled this to project to come together (look at CVS)
- let's see if we can get people to do it with things like *BSD, Apache and some of the other great projects out there. This is a continuation with the other work being done, like the OSS demographic work.
(Note: Slashdot is part of
OSDN.)
Karim Lakhani, progenitor in many ways of the project also commented: "The kernelmap shows beautifully the inherent modularity of the Linux
Kernel. We think modularity of the source code is one of the important
strategic advantages that the Linux Community has and we wanted to move
beyond a magnifying glass on the kernel map poster to make it browsable
and to let the community add new features. We hope that this can become
a tool for navigating the kernel and learning more about how it works.
Rusty Russel and Martin Pool did an incredible job creating the map and
transforming it into html."
I'd love to see a marketer put THAT up (Score:5, Funny)
Mandala Mandala Mandala Hey! (Score:1)
Re:Mandala Mandala Mandala Hey! (Score:1)
That's strage, because I've been staring at it [thinkgeek.com] for hours and all I could see is this blonde in a red dress.
Re:Mandala Mandala Mandala Hey! (Score:2)
Markitecture (Score:4, Funny)
Re:I'd love to see a marketer put THAT up (Score:1)
Re:I'd love to see a marketer put THAT up (Score:2)
Pictures? (Score:1)
Re:Pictures? (Score:2)
Just think of it, how many pictures will say GOTO picture xxx, yyy, zzz... spaghetti pictures indeed.
The movie would be like an Arnold Rimmer holiday slideshow, hours of boring useless crap!
Microsoft Kernel Visualization: #@ +1; Informative (Score:2, Funny)
1. Obtain standard ball of string
2. Unravel ball of string
3. Place unravelled string in washing machine
4. Standard wash without soap
5. Tumble dry
Re:Microsoft Kernel Visualization: #@ +1; Informat (Score:2, Funny)
7. Profit!
Crap + Marketing = Market Share (Score:2)
Re:Microsoft Kernel Visualization: #@ +1; Informat (Score:2)
map of Camp David.
Re:Pictures? (Score:1)
Re:Pictures? (Score:1)
I'm not sure on the current OS's, but they did attempt to release the picture of WindowsME kernel. You can find it here [tablerock.net]
Suggestions (Score:3, Funny)
2) Do it before the
Otherwise, all I'm looking at is some coloured boxes.
Re:Suggestions (Score:2)
Re:Suggestions (Score:1)
I suppose you can't protect every server, and everyone bites the hand that feeds them sometimes.
--
Why is slashdot never slashdotted?
Re:Suggestions (Score:1)
Red : Exported functions
Dark green : indirectly called functions
Light green : static functions
red text : function name
bold red text : source filename
The spiraling abyss (Score:1)
I'll be damned (Score:5, Funny)
Re:I'll be damned (Score:2)
Re:I'll be damned (Score:4, Funny)
Re:I'll be damned (Score:3, Interesting)
Re:I'll be damned (Score:2)
Some people (not myself, I would hasten to add) would ascribe that role to RMS. I think it fits Bill Gates much better... after all,
Re:I'll be damned (Score:2)
Captain! She canna take any more! (Score:2)
You'd think OSDN would be able to code around the slashdot effect!
This would be useful if it can be mirrored a thousand fold.
Time to coin new Slashdot phrase... (Score:2)
But what about those sites that CREEP, SHUDDER, MOAN, and SMOKE but still eek out small packets of info every now and then. I propose
Slashdotdotdotted
As in here is a little info...and...somemore...etc.
Not that I think this is the best suggestion, but feel free to propose something else
my goodness! (Score:2)
IT beats thrashing or "excessive paging", or congested, or "bogged down by trolls."
well, its synonymous with "bogged down by trolls"
Re:my goodness! (Score:2)
Thrashing, excessive paging or congested are all conditions that occur without the involvement of a posting at Slashdot. Are all sites that are down due to "Slashdotting?" Are all sites that are thrashing, paging or congested due to Slashdot???
The point of having a term such as "slashdotted" is that it communicates what AND why...
Mirror? (Score:1)
Re:Mirror? (Score:1)
BCG? Why? (Score:5, Interesting)
For the last 10 years the "most expensive and complicated" option has been Microsoft, and that is what the consultants have pushed.
Why would BCG be involved in Linux???? There is no percentage in it for them - or is there? Help me understand here.
sPh
You ask and answer (Score:3, Interesting)
Which is exactly where the real money has always been, as SAP showed us so well. And it has been explained to exhaustion already that the right way to make money with Free software is by providing service to the users of the said software.
Re:BCG? Why? (Score:1)
Could it be because BCG is attempting to appeal to potential open-source clients?
If you take a look at the map it looks pretty neat, but like most things that are visual appealling, they tend to lack functionality. The only reason to do this map was neato factor and to get their name in the press. I think it will work because management tends to be impressed by style more often than substance.
Re:BCG? Why? (Score:1, Interesting)
If you've got 99% of your clients using Windows whatever, consulting them to go another way is always going to make you some more money. While Free software may be cheaper than a six pack of Schlitz, installing and developing a system is not. As long as you listen to their recommendations and you their "partners", they're going to make money.
Re:BCG? Why? (Score:1)
Re:BCG? Why? (Score:1)
Re:BCG? Why? (Score:4, Interesting)
A little less tongue-in-cheek: BCG could probably do well coming in, looking at what your problems are, and telling you which open source hackers you should pay to fix them. Then they can charge a percentage on the whole thing.
There's only a limited amount of money you can spend buying MicroSoft products. It's huge, but you can spend even more on open source if you pay the salaries of the hackers. I mean, they are projects with hundreds or even thousands of contributors. If you give them each $100k...
Re:BCG? Why? (Score:5, Informative)
Re:BCG? Why? (Score:2)
sPh
Re:BCG? Why? (Score:2)
IT workers of the world, unite!
In news that won't be new to the unions, this can effectively be translated as "the corporations want your labour free, or extremely cheap". A good reason to choose the GPL rather than the BSD when writing free software/open source... at least they'll be forced to share any changes they make to your code.
What's the point? (Score:1)
Re:What's the point? (Score:2, Interesting)
These are used all the time in software re-engineering, and there's an entire research community in software visualization. It's particularly helpful for legacy systems where architectual design or other docs have been lost or are severely outdated.
Re:What's the point? (Score:1)
which brings up a good question: Are there GOOD software packages out there that provide a nice usable display of source code dependencies (call graphs, include dependencies, etc)? I've been using Source Navigator [redhat.com] recently and it seems to work ok for well structured java code but less well for c and c++ (of course poorly structured code is a whole different problem and I dont expect it to display well)
Re:What's the point? (Score:1)
http://www.research.att.com/~ciao/ [att.com]
Re:What's the point? (Score:1)
Generally, you want to use subsets of graphs, not the whole tamale like in this story.
Re:What's the point? (Score:1)
The great question is..... (Score:2, Funny)
Re:The great question is..... (Score:1)
It is slowing up a bit.
Re:The great question is..... (Score:1)
Re:The great question is..... (Score:1)
Re:The great question is..... (Score:2)
Flash or SVG, 3D versions (Score:3, Insightful)
Also, what about the third dimension? there is a lot of info. there - perhaps it would be more managable to look at in 3D?
Question: is it really useful? I'm not a kernal coder, but it seems to me that this could be a neat way of identifying bad coding e.g. identifying variable and function scope and keeping it neat and modular. Could this be a feature of future IDEs for Linux programmers?
Re:Flash or SVG, 3D versions (Score:2)
I wonder what it was called.
Is there some archive of old Netscape plugins?
Re:3D with VRML/*.wrl files (Score:1)
It would be useless without a VERY high speed graphics card. More than about 10,000 polygons would jitter like crazy. Can you say 3 frames a second. (It's an interpreted language from HELL!!! Imagine the 3D version of 'printable' graphics using html 2.0). I wouldn't try it in a browser.
Now a 3D IGES file, that would be cool.
There are/were linux VRML browsers coming along ages ago. I should go back & check on them.
Re:3D with VRML/*.wrl files (Score:2)
This was not realy a 3d render more like a 3d lable viewer.
You could create text lablels and link them to other lables. Which would then be rendewred in a 3d space that you could navigate through.
Re:Flash or SVG, 3D versions (Score:1)
Re:Flash or SVG, 3D versions (Score:2)
ThinkGeek has a Kernel Map Poster (Score:3, Informative)
ThinkGeek [thinkgeek.com] has the Kernel map poster...
Congrats! (Score:4, Insightful)
What is the point of this? To sell it as posters and make a profit?
Who, in their right mind, would use this to change design, or track a bug?
This project is a waste of money that would be better off spent on the kernel itself, not a pretty picture of the kernel.
Re:Congrats! (Score:4, Informative)
Re:Congrats! (Score:3, Interesting)
Re:Congrats! (Score:1)
That's awful.
--
I'm sorry, your right to spend has been revoked, because apparently...you're stupid. [The Adjudicators]
Re:Congrats! (Score:4, Informative)
Re:Congrats! (Score:2)
The only problem is that you really want to work with a high-level system that can change this picture dynamically. But, still this is a very nice map. I'm curious about what the diagaming inside of each function is about. I'll have to go look at the project to find out.
Re:Congrats! (Score:1)
> Congrats on the waste of money. Honestly, this > is pretty and all, but hardly useful, and, most > likely, not worth the money spent on the
> project.
have you ever heard about research?
maybe someone will evolve the idea and we can have some new way of changing design and fixing bugs
Re:Congrats! (Score:1)
To people who cannot see the point of this, all I can say is THANK GOODNESS LINUS IS RUNNING THE SHOW and not.....
Re:Congrats! (Score:1)
No, Linus and company did not design the kernel with artwork like this.
>> its called iterative design
Well, visualisations could be part of an iterative design process, but not ones like this - merely showing that there are loops and forks within a piece of code, without really knowing WHAT the loops and forks do, is just artwork - no functional purpose as far as software design.
Much of the RUP is like this, spending great amounts of time making pretty elaborate diagrams so that people with the skills of a mediocre COBOL programmer can "get in on" OOD - better to have well written functional specifications & implementation plans, and programmers who can make mental representations using SOURCE CODE (in the end, the diagrams don't mean jack, only how well the code performs and meets the business requirements)
Re:Congrats! (Score:1)
Re:Congrats! (Score:1)
HCL (Score:1)
Re:HCL (Score:1)
Re:HCL (Score:2)
How about a hardware compatibility list. I would expect something like that straight off of kernel.org. Why should I search through message boards to see if someone was able to get my ethernet card to work,
Have you looked at this [zdnet.com] yet? Please add your own hardware details.
c'mon OSDN (Score:1, Offtopic)
Way to go guys, yeah
This is art (Score:3, Insightful)
You know, the Linux kernel is not massive -- you can spend a couple hours looking at source code and get a much better idea than you would with these kinds of visualizations. And if you can't read source code like that, then you shouldn't really be wasting your time looking at pictures.
Missing the point (Score:2)
Yes, people like you can look at the code and understand it, but you (generically anyway) cannot communicate what it means to Joe Sixpack.
If a "Linux scene whore" can say "ooh, I grok the kernel" s/he is more likely to do things like buy posters and yammer about how cool/great Linux is to non-Linux users.
Pretty pictures are as important to Open Source as they are to any other grass-roots movement.
Re:This is design process. (Score:1)
Who are you to say who can and can't make a contribution.
Wow! (Score:5, Funny)
Re:Wow! (Score:1)
HTML 4.01 Transitional [w3.org]
Re:Wow! (Score:2)
Quick hint, more HTML errors than can be easily counted.
Re:Wow! (Score:1)
Oh crap, there goes the "reliability" card (Score:1)
Steven
Information Visualization (Score:3, Interesting)
Moreover, there is free and open-source implementations of those two visualizations: Treemap Java Library [sourceforge.net] and Hypertree Java Library [sourceforge.net].
What's UP? (Score:1)
??
This DOES have value... (Score:1, Insightful)
Also, a beautiful, visually appealing picture of the kernel can help non-techies understand that the kernel is a well-thought out piece of software engineering and not just some half-ass code pumped out by computer hippies and geeks with nothing better to do. Again, this can help further the cause of Linux with those in power who make purchasing decisions but have little technical expertise.
This is good work.
Re:This DOES have value... (Score:2)
I can pop open the hood of my car anytime I want, doesn't mean I can fix it.
Does anybody else recognize this? (Score:1)
Seriously, Rusty released the source for generating all the postscript shortly after 2.4.0 - the fact that its resurfacing with a company name behind it seems like its merely a way to promote the consulting business.
Visual Representation (Score:1)
Awesome. I am really impressed with the image. Now I want to see a visual representation of M$Windows.
Second thought, I see enough toddler artwork from my two-year-old.
Re:Visual Representation (Score:2)
You mean you actually want to see the infamous goatse.cx troll? Actually, I believe that the kernel is probably quite clean, but as for the GUI, that would probably be about as tangled web of spaghetti code around.
A less detailed architectural view (Score:1)
---
Map scale (Score:3, Funny)
I have a map of the Linux kernal...
the scale is one line equals one line.
(The original joke was: I have a map of the United States... the scale is one mile equals one mile.)
-
modularity is not unique to Linux (Score:3, Interesting)
I've seen diagrams of Unix from the 70's that had exactly the same structure to them. Nothing new.
Furthermore, Solaris has been inherently modular (and has evolved to have fine grained locking and an almost fully preemptible kernel) since SVR4 was adopted by Sun as the basis for Solaris. I can't see spending the time to map Solaris too, but I bet if someone did, it would look exactly the same.
Dont' get me wrong, this is a nifty tool, looks neat, etc. But if someone wants to use it to claim uniqueness for Linux, they're barking up the wrong source tree.
Re:modularity is not unique to Linux (Score:2)
The claim is that Linux is good in this respect, not that anybody else isn't. This isn't another one of those articles proclaiming the superiority of Linux.
Thanks for letting us edit it (Score:2)
Gee, thanks for making this. This map obviously allows the community to add new features -- something we were never able to do before!
Zounds.
My God! (Score:2, Funny)
Inter-file relationships (Score:2)
One thing I would love to see is some kind of graph that shows the dependencies between source files. i.e. who calls functions in this file; who is called by functions in this file; what headers does this file depend on (taking recursive inclusions into account), etc. That kind of information is really important when trying to understand code, even my own. (e.g. it should be really easy to spot unwanted header dependencies which are otherwise difficult to detect).
I am aware of some scripts based on GraphViz, like "cinclude2dot.pl" But the results aren't really what I am looking for.
Wow! Awesome! (Score:2)
ttyl
Farrell
This is a program (Score:2)
Re:second shoryuken! (Score:1)