A Visual Expedition Inside the Linux File Systems
RazvanM writes "This is an attempt to visualize the relationships among the Linux File Systems through the lens of the external symbols their kernel modules use. We took an initial look a few months back but this time the scope is much broader. This analysis was done on 1377 kernel modules from 2.6.0 to 2.6.29, but there is also a small dip into the BSD world. The most thorough analysis was done on Daniel Phillips's tree, which contains the latest two disk-based file systems for Linux: tux3 and btrfs. The main techniques used to establish relationships among file systems are hierarchical clustering and phylogenetic trees. Also presented are a set of rankings based on various properties related to the evolution of the external symbols from one release to another, and complete timelines of the kernel releases for Linux, FreeBSD, NetBSD, and OpenBSD. In all there are 78 figures and 10 animations."
I could use a visual expedition among the various links on this summary.
Fucking anus.
Please.
I'll subscribe to Slashdot when I see a month without a dupe, a typo, or an article the "editors" didn't read.
This analysis was done on 1337 kernel modules
This is where we are, our rock we stand, among the world, looking forward, eternally.
So they finally managed to recover DNA evidence on BSD's corpse after all. Hopefully we'll find out who killed it.
Seriously, what a useless "analysis". It's all a bunch of unreadable tables, graphs and other things, such as the history of the number of exported symbols in the BSD kernel (yeah right...) nobody cares about.
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
What does it all mean?
Is having a large number of external symbols good because it has more integration points or bad because of bloat? I don't think I have ever RTFA and come away with so little understanding before.
This analysis was done on 1377 kernel modules from 2.6.0 to 2.6.29
I think they meant 1337 kernel modules?
45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
Ok pretty visualisations, but what do we learn from them?
I agree that it's a useless analysis, since if you're building a kernel you only build the parts that you're going to use, on your arch. Even a distributor doesn't necessarily compile "all" of the filesystems, for one example. A silly distro kernel uses initramfs and stuff so everything can be modules anyways. Not everyone loads them all. So whoopee doo if the whole mess is several megabytes.
There's a lot of functionality available, and you can choose what you want. Representing it in a meaningless graph does not at all show alarming, or even interesting trends.
Slashdot user BadAnalogyGuy is a scientologist.
If he offers you a free personality test, firmly refuse him.
Usefulness of a hammer:
XXXXXXXXXXXXXXXXXXXXXXXXX
Usefulness of an average Slashdot article:
XXXXXX
Usefulness of a screen door on a submarine:
XXXX
Usefulness of this Slashdot article:
X
Am I the only one not understanding a word nor the point of those graphics, but still going to print them as posters and put them everywhere in my bedroom ?
'cuz dude, it's so beautiful !
Segmentation Fault in "Life, Universe and Everything" at line 42. Don't Panic.
*spam? warning*
Gimme a job. This world is a zoo, but I need money.
I'm based in Ireland at present.
How the zoo could be improved:
Google for example could run webservers using bit torrent technology developed by the genius Bram Cohen. Bit torrent should be used in many areas including distributed bit torrent-esque web deployments. Imagine a virtual server farm where all accounts on clients act as servers for the greater bandwidth.
Google OS: Google brought forward google Maps and Google Earth etc. all these rich tools that u have to open in a browser like a donkey. They should be embedded inside the desktop. MS Active desktop was sh1t but the idea was good. Putting content on the desktop. Using linux, u could have multiple desktops each with a different purpose that u could flick through like thumbnails. A desktop preconfigured with a maps API embedded into it - forget that tab independent process nonsense.
Keep only one of these desktops in D3D mode (the one with Google Earth embedded in it) and use that for games too.
Encryption: Is there not some easier way to do it at speed and securely? Like using hash functions to and pseudo random numbers generators. U could use some kind of deliberately flawed PRNG algorithm seeding off very gray time (like hours/date of year) or seeding from a message header encoded as a number, so that the data would be all random unless u had the key. Kind of like randomized data with some back door for a key to de-random it (maybe thats what encryption is though :> )
Random.mess("hello world") = 010001101100 etc. backdoor.PRNG(010001101100) = "hello world"
Bit torrent uploading: We can use it for downloading but we have to upload too. This is usually time consuming as it's not the priority for servers. Why not have a distributed bit torrent based server take care of it. I upload securely to many machines all around me that in turn share the load of uploading to the server.
I'm just full of ideas. Here all day folks! Send your vacancies now!!
fandeath AT gmail DOT com
Comment removed based on user account deletion
As far as I can tell, from this table the external symbol mcount is used by all file systems... :)
And Obama is president of US...
Until the skies turn blue...
Until the air of freedom strikes us...
...slowly loosing the will to live as my eyes became tired and I confused by the lack of any conclusions which could possibly be drawn from such an overwhelming variety of apparently useless graphical analysis of kernel ABI calls made by mostly arcane file systems, I couldn't help wondering .....
.
.
.
.
.
.
.
.
. Who gives a shit ?
How is it possible to create a file system driver which does not call "register_filesystem" ?
Dear submitter,
A /. summary is a bit like a main page on a website. Make the organization clear. Don't pile on shortcuts to different parts of the website: the reader risks being discouraged trying to find out how best to get to the important part of your website. Less is better.
I actually clicked on one of the links that appeared to go to the "Expedition" website (based on its similarity to other links, as shown in my browser's statusbar!), then changed the address in the address bar to get to the front page.
You actually didn't include a link to your article's front page, for heaven's sake!
Hope this helps for the next time you write a summary.
Misleading titles? Inflammatory blurbs? Keep in mind that Slashdot is a tabloid.
My first reaction when browsing through the article was disgust about the measure being used. I couldn't see the value of graphs about the number of symbols used by different file-system modules. So vfat doesn't use kprintf, woo-fucking-hoo!
But then, the Hamming distance and hierarchical structure struck a chord. Huh, so NFS, uses a very different set of symbols than, ext3. (ok, this may be biased by NFS using a metric fuckton of external symbols where ext3 uses less), which implies that NFS is pretty different, internally, than ext3.
So now, I agree that such a visualisation, while very abstract from the implementation details, can be pretty useful to have a (very) rough overview of the filesystems and their code structure. And I think we need more abstract overviews like this.
Reminds me of Code Swarm, which creates a movie of commits to a repository.
Misleading titles? Inflammatory blurbs? Keep in mind that Slashdot is a tabloid.
Man, I just thought I saw some obscured letters in one of the heatmaps but then realized it was just my damn glossy Macbook screen reflecting the writing on my t-shirt... Damn it...
Is it just me or do those thing remind anyone else of those back inside covers of old Mad magazine?
I have this strange feeling that if I looked at the monitor for the edge that a bucktooth grin of Alfred E. Neuman would appear saying "What, me worry?"
Taking a look at the image, it's obviously a signal from some alien civilization. Now if we could only decode it. Oh, wait that's what all the coders are about .. :)
This immediately conjured up thoughts of Jurassic Park, where the young girl is surfing through the "city block" of file systems.
Comment removed based on user account deletion
Comment removed based on user account deletion
My only interests in filesystems are how much free space I have and whether mine will recover from a power outage. Thus 95% of these graphs are a total bore to me.
But I do like the Timelines of kernel releases. Some kernels see an exponential slowdown of release rate as they approach finalization and others are released like clockwork throughout their lifetime.
I'd love to see these methods applied to other topics I care more about, like games and science
When I develop maps for Starcraft, I usually go with a "release when it's ready" approach. That leads to a first public release long after my internal rough draft. Then there are a few quick releases as major bugs are found. And later the releases slow to a trickle as the focus move from bug fixes to balance tweaks. The magnitude of the changes also decreases over time, but each one's effect on game play can be disproportionately large.
But recently I went with a public balancing approach. I released the rough draft to get a feel for how it played. Then released new drafts as often as twice a day as suggestions were made and problems became apparent. I love to see that contrast visually or see other patterns I hadn't considered.
Lex: It's a UNIX system! I know this!
FreeBSD for the impatient.
Did he do a parody of Pesci's speech in Good Fellas that I'm unaware of?
You better watch out, there may be dogs about . .
Linux should stop merging file systems used by three individuals at most.
There are so many totally useless file systems inside the main tree, and I honestly fail to see why those should bloat the main tree while the junk could happily live in the hard drive of the three perspective users.
For God's sake, even POHMELFS was merged! Where does it end? Where the boundary to say NO, and keep this irrelevant code out of the tree?
What software did he use for the analyses ?
Ho hum... Why did this nerd waste his time researching a matter that's obvious to everyone here. They had us run all this stuff down in the first 6 weeks of CS 101. I guess he thinks we're stupid! Harumph!