Last.FM: Recently listened

Wednesday, November 01, 2006

Exokernel snow

It's been a while since I posted some stuff on this blog. I really didn't know what to talk about at the moment. Don't want to go into details about football - Dynamo is a shame these days and I can only hope that this winter is not going to be as frustrating as last year's. There's also not much to talk about work - I am currently participating in porting our Device Driver Environment to support Linux 2.6 drivers. This is quite interesting for me, but there is not yet much to talk about.

The first rainy flakes of snow are cumulating on the rooftop window above me and I realize that although nights are getting longer, days becoming colder and the winds getting stronger, there are still nearly two months left until Christmas. (Best wishes to my friends Lars, Rene and Dina currently being in "icy" Russia... *wave*).

Winter term has started and we are doing some teaching again. Besides the normal exercise stuff and some advanced lectures on microkernel design, we are once again trying to start a Paper Reading Group. Neal, one of our students, is kind of interested in scientific papers from the old days. He proposed reading a lot of papers from the 1960's and 1970's. Today was the first meeting and as I'm always keen to gain more experience in giving talks, I volunteered for one of the first presentations. My talk was based upon two papers on Exokernels by Frans Kashoek, Dawson Engler and others:
Although they are only 10 years old, Neal accepted them for the presentation. ;-) My understanding of exokernels was at most vague and reading those papers taught me some lessons about it. The basic idea behing these operating systems is to keep the OS's interface as low to hardware as possible and export as much information as possible to applications on top of it. This is at the first glance similar to our microkernel approach. However, the authors make clear, that their concept is orthogonal to the question whether to use a microkernel or a monolithic system.

The Exokernel does not do any resource management apart from tracking who is in possession of a resource (allocation, revocation, sharing). Security policies are implemented in the applications with only minimal support being necessary from the exokernel.

On top of the low-level hardware abstractions, exokernels implement higher-level operating system services in a library. These so-called libOSes are linked to each application and let application performance be at least as performant as traditional operating systems. The guys even implemented some custom-tailored applications that exploit the low-level exokernel layer in ways that enable very high performance.

I think I learned some interesting ideas, even though I don't agree with all the statements from these papers. Moreover, my conclusion is, that I need to read more scientific papers. Just sitting around all day, waiting for ideas to become rich, will not suit me well. Next is a paper about network packet filtering dating back to 1986...

No comments: