Enterprise Unix Roundup: Operating Systems on the Analyst's Couch

By Brian Proffitt (Send Email)
Posted May 21, 2008

Brian Proffitt
The endless debate about which enterprise server operating system is better than the others just got — if it's possible — even more geeky. And that's saying something. The debate about which enterprise OS is best seems endless. Who's got the best apps? The best management features? The best security? One Greek academician has taken the analysis to a deeper level to see which OS has the best kernel code.

Last week Liepzig, Germany was home to the 30th International Conference on Software Engineering (ISCE 2008), an eight-day conference sponsored by the Association of Computer Machinery devoted to the esoteric inner workings of the code with which we work and play. No doubt Liepzig is still reeling from those party animals.

On May 15, a paper was presented that I thought would be of interest to Roundup readers. "A Tale of Four Kernels" by Diomidis Spinellis of the Athens University of Economics and Business analyzes the source code of four of the major operating system kernels to see which rank better across different categories.

Enterprise Unix Roundup

Although this paper is highly detailed in its analysis, it seems a bit subjective in its conclusions, so consider yourselves warned. It's hard for subjectivity not to creep in, I suppose, given the categories Spinellis chose to rate: "file organization, code structure, code style, the use of the C preprocessor and data organization." All of these, particularly organization and style, seem ripe with opportunity for judgment. Spinellis does a thorough job, though, of defining what exactly defines these categories. He also lays out a solid set of metrics used for each kernel and is honest about where he is subjective.

The four kernels Spinellis examines are the hall of fame for enterprise servers: FreeBSD, Linux, Solaris and Windows. He does not specify which versions of the tools he researched; instead, he points out that this paper is specifically examining the OpenSolaris kernel and the Windows Research Kernel (WRK) along with the generic FreeBSD and Linux kernels.

Discuss this article in the ServerWatch discussion forum

Unsure About an Acronym or Term?
Search the ServerWatch Glossary

The conclusions of the paper are interesting, and seem to reflect — rather uncannily — the developers who created the kernels in the first place.

For example:

Linux excels in various code structure metrics, but lags in code style. This could be attributed to the work of brilliant motivated programmers who aren't however efficiently managed to pay attention to the details of style. In contrast, the high marks of WRKB in code style and low marks in code structure could be attributed to the opposite effect: programmers who are efficiently micro-managed to care about the details of style, but are not given sufficient creative freedom to structure their code in an appropriate manner.

In other words, hippie geniuses built Linux, whereas talented drones built Windows. Sounds about right to me.

As another example, more efficient preprocessor use by WRK and Solaris could indicate, according to Spinellis, "better programming discipline." The BSD code, however, did not make use of preprocessor code as much, which Spinellis concludes "could be attributed to the age of the code base in conjunction with a gung-ho programming attitude."

I'm not one to toss around academic proceeding papers lightly because I know it's never a good idea to put readers to sleep. But this paper is a good read for those who like to check under the hood and get into the nitty gritty of code development.

Brian Proffitt is managing editor of JupiterWeb's Linux/Open Source channel, which includes Linux Today, LinuxPlanet, and AllLinuxDevices.

Page 1 of 1

Comment and Contribute

Your name/nickname

Your email

(Maximum characters: 1200). You have characters left.