Shrinking Linux with Java
I ran across an article on shrinking the linux kernel where the author proposes the following:
Linus Torvalds, creator of the Linux kernel, said at the LinuxCon in Portland yesterday that, “We are not the streamlined, small, hyper-efficient kernel I envisioned 15 years ago,” he said. “Our kernel is huge and bloated. Whenever we add a new feature, it only gets worse.” It’s time to put Linux on a diet
…
Instead of making the kernel impossibly huge and compiling in support for device X and peripheral Y, let’s move support for all devices to XML files and just have the kernel read the ones we want. No recompiling. No derivative works in the kernel. And no debate needed between Tannenbaum and Torvalds over microkernels vs monolithic kernels
link: Mr. Torvalds, Shrink That Kernel – Linux Servers and Apache News Story
At first, I thought the guy was an idiot. He is arguing to do exactly what Tannenbaum says (microkernel with dynamically loaded modules). In fact, I still think that the guy is very confused. However, a comment on the post made me think. Why not load the device drivers in a VM?
You don’t want to be interpreted because of speed. You need something like Java (very fast JIT that optimizes more over time) that has good API access to the underlying hardware. In fact, maybe java wouldn’t be a bad choice. Of all the VMs out there, it has the best security story and seems to have the best speed. All you would need is a OS Service that could expose the underlying hardware assets and a library that can communicate to it. Then you get the benefit of having a well tested vm that can dynamically load/reload device drivers, can optimize the performance of them at runtime, without the typical penalties of dynamic library loading (crashing the kernel, etc).
There are politics at play. However, from a purely rational choice, it is not a bad idea. I know that other operating systems have tried to invent their own vm like infrastructure to do this sort of thing before, but hardware and jvm speeds have evolved such that it really may make sense. What do you think?
About this entry
You’re currently reading “Shrinking Linux with Java,” an entry on _mindMeld
- Published:
- 9.23.09 / 9am
- Category:
- Java, Technology
- Tags:










View Comments
Jump to comment form | comments rss [?] | trackback uri [?]