I was recently discussing how Linux’s performance compares to other (real) operating systems and this comparison of Linux (kernels 2.4 and 2.6) with the BSDs (OpenBSD, NetBSD and FreeBSD) came to mind. Though benchmarks like these can give an idea of performance and scalability when certain conditions are met, in my opinion, it’s better to rely on your everyday experiences which give you a better idea in a range of scenarios.
Solaris and BSDs have a better track record of both security and stability, and this appears to be true of the systems I have managed, but most of them were already behind firewalls and carrying out a simple, basic task such as serving DNS requests or running a database.
I have had more trouble, as well as a lot more experience, with Linux, but these were mostly systems running a range of services in places vulnerable to attacks. Nevertheless, if properly secured, Linux tends to withstand a lot of hammering and most of the trouble occurs due to badly coded applications. I’ve also found certain distributions (Debian to an extent, Red Hat till 7.3 and off course Slackware) to run more stably and securely than others. Fedora seems to get hacked very easily, even if fully updated and with basic security precautions taken while virtually all the Slackwares I run haven’t given me any such issue.
Where Linux outshines the rest is performance. Working on Solaris, you get a strong feeling of sluggishness when performing most tasks, especially file system related ones. Though not in a very methodological way, I actually tested creating (and deleting, renaming etc.) a few thousand files and directories on comparable (hardware and OS version) Linux and Solaris systems and the former was magnitudes faster than the latter, even with different file systems on the Linux side.
One more thing to consider here is support for new hardware. It’s been a while since I came across a system not supported by my distribution. The last time this happened (with a brand new Dell server), I just had to use a newer kernel in the installer and this was surprisingly simple to do.
Next up, administration. Though I have little experience with (or need of) graphical or web-based tools, such as webmin or linuxconf, the CLI feels friendlier and more intuitive on Linux. It’s quite frustrating to work with shells that don’t support basics such as auto-completion and history. Granted that these can be enabled on the xBSDs and other xNIXs, but it’s just not as convenient as installing a system and having everything ready to use or easily customized.
Ok, enough with the flaimbait and my long rant. Admittedly it would be more useful if I carried out some actual tests and posted the results. Each operating system mentioned above has its strong points and it is a matter of what the admin(s) can work best with that eventually matters. For myself, it’s the penguin.