Looking At The Linux Kernel
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."
on a whiteboard. You know, the guys that love to draw rectangles and clouds and arrows and boxes sitting on top of other boxes and call it an "architecture."
"How to Do Nothing," kids activities, back in print!
1) Have the key readable at all levels of zoom
/. effect worsens
2) Do it before the
Otherwise, all I'm looking at is some coloured boxes.
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!
Are you local? There's nothing for you here!
There really is a penguin at the center of the kernel!
Where does the school board find them and why do they keep sending them to ME?
at zoom level 4 its' creaking...
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.
In the future, I would want to not be isolated from my friends in the Space Station.
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
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
Now that slashdot has slashdotted its parent OSDN, will slashdot slashdot it self as well
if someone were to come along and want to make a change to the kernel, he/she use the graph to determine what other parts of the system may be affected if the change were to be made, in theory leading to a more robust system.
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.
The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
This could be made into a great SVG or Flash interactive.
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?
(later they will recommend that you outsource everything to one of their "partners")
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.
ThinkGeek has the Kernel map poster...
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.
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.
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
We always called those Markitecture diagrams. They love it. Trust me.
I hate to be negative but this is not really useful. As Geek Art it's kinda cool -- but let's not kid ourselves about it having any value for kernel hackers. It's just some pretty pictures that Linux scene whores can look at and say "Oooh ahhh I grok the kernel now" -- but don't expect any of those people to submit patches or new device drivers anytime soon.
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.
I finally found something more overwhelming than HTML 4.01 (transitional) validation of Microsoft's website.
Moreover, there is free and open-source implementations of those two visualizations: Treemap Java Library and Hypertree Java Library.
They're clearly trying to determine whether Open Source could be a more complicated and expensive option. They have to decide whether to start suggesting that companies hire open source hackers to write whatever the companies want. If you look at the demographic survey, they are clearly figuring out that open source hackers are frequently not employed, but could demand a lot of money if someone were going to hire them, and they have the experience to write really complex stuff.
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...
6. ???
7. Profit!
This space left intentionally blank.
Actually, I think that's how it worked.
That what was all this school was for... to teach us how to solve our own problems. -- janeowit
First a disclaimer: I've worked for the past three years at BCG. BCG's core business is not IT consulting (as IBM, for example) but business strategy. That means that our recommendations are usually not centered around any particular technology infrastructure, nor do we usually work with the IT department of our clients. Instead our recommendations focus on ways to increase the competitive advantage of our clients, some of the time that competitive advantage is reached through harnessing a new business model or a new way to organize around the work that needs to be done. Open Source is an active area of interest inside BCG mainly because it represents an innovative way to organize people to meet a goal. There has been an active mailing list discussing Open Source topics and how they apply to our clients needs for quite some time, also this is not the first collaboration of BCG with the movement, the results of a survey amongst sourceforge members conducted by BCG can be found here .
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.
This is an answer to all the comments saying how pointless this is.
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.
So we have slashdotted as a "industry recognized term" now.
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
---"What did I say that sounded like 'Tell me about your day?'"---
As I zoomed in on the kernal map, I couldn't help rephrasing a Steven Wright joke:
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.)
-
- - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
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.
7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
You are a genius!
IT beats thrashing or "excessive paging", or congested, or "bogged down by trolls."
well, its synonymous with "bogged down by trolls"
In the future, I would want to not be isolated from my friends in the Space Station.
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 yet? Please add your own hardware details.
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.
Gee, thanks for making this. This map obviously allows the community to add new features -- something we were never able to do before!
Zounds.
The Right Reverend K. Reid Wightman,
sPh
Actually, it looks more like Dante's Circles of Hell =P
"I would say that 99 per cent of what my father has written about his own life is false." - L. Ron Hubbard Jr.
The catch is when someone asks you what any piece of the kernel actually does. Seeing it and understanding it are two different things.
I can pop open the hood of my car anytime I want, doesn't mean I can fix it.
It is by the juice of the coffee bean that thoughts acquire speed, the teeth acquire stains. The stains become a warning
Actually, I think the map of NT kernel looks more like a tourist
map of Camp David.
Cut that out, or I will ship you to Norilsk in a box.
My God, it's full of Tux!
Note to ACs: I won't mod you up, even if you are being funny or insightful. So take a chance! It's not real life!
The graph is really neat, but I am kind of disappointed that it doesn't show much inter-file information (the position of source file boxes is essentially arbitrary, and there are no indications of connections between them)...
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.
It's a cool thing that not only looks good, but means something too! Very Fractal like! Nice Hack!
ttyl
Farrell
CAN-CON 2019 - Ottawa's only book oriented Science Fiction Convention! October 18-20, Sheraton Hotel, Ottawa, Canada h
Open Source is an active area of interest inside BCG mainly because it represents an innovative way to organize people to meet a goal.
:)
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.
deus does not exist but if he does
This represents a program. It would be interesting to see how far one could take the paradigm by writing an interpreter for this diagram. What would it be like to code this way (obvious VB trolls excluded)? I've always thought that what makes the upper echelon of coders great is that they can visualize their code in a similar manner.
*Condense fact from the vapor of nuance*
This was not that, I remember Cosmo Player.
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.
Wouldn't it be nice if schools got all the money they wanted and the army had to hold jumble sales for guns