For Servers: Linux 2.4 vs. FreeBSD 4.1.1 Why Isn't Moshe Running FreeBSD?

By Moshe Bar

February 05, 2001

Now that we finally have the new 2.4 Linux kernel, many penguinistas are sure the FreeBSD cousins will finally stop making fun of them. They had been doing so for a while because, admittedly, FreeBSD has had superior kernel design in areas like virtual memory manager (VM) and networking.

In fact, some of the world's busiest websites, such as Yahoo and cdrom.com, are relying on FreeBSD to manage the huge load their servers endure day in and day out.

Walnut Creek CDROM runs its FTP server, which is the world's largest and busiest, on FreeBSD. The Walnut Creek server downloads 750 GB a day and can maintain 3,600 simultaneous connections on a single 200-MHz Pentium Pro machine with 1-GB RAM and 500 GBs of RAID storage.

Walnut Creek is currently owned by BSDi, but its use of FreeBSD predates this by many years.

This is not to say that Linux, in its recent 2.2 incarnation was not a good server OS. In fact, in my columns here I have often stated the contrary. However, it is certainly true that FreeBSD has often been the first choice for Internet servers needing high reliability and optimal performance under heavy load conditions.

Now that the new Linux 2.4.0 kernel is out with a re-written TCP/IP stack, enhanced VM, and greatly improved IRQ handlers (and many other features), I thought I would take both the latest Linux and FreeBSD versions for a ride and compare the results.

At this point, it is important to note that I did not conduct a scientific benchmarking. What you are going to read in this column is simply my personal opinion and experience. I am not especially biased toward any of the two OSes, both having an open source style license, and both being excellent examples of advanced engineering.

What's A FreeBSD? Not everybody knows what FreeBSD is. Just like Linux, FreeBSD is an advanced BSD Unix operating system for the Intel compatible (x86) and the DEC Alpha architecture. It is available for download from many mirrors on the Internet, just like Linux, and sports the BSD license, which some argue is a better open source license than Linux GPL.

FreeBSD derives from the venerable 4.4.BSD Lite kernel developed and maintained at the University of California Berkeley. BSD was a very early source split from the original Bell Labs Unix operating system and was the first Unix-style OS to have TCP/IP and advanced a VM implementation. Some of the BSD design concepts found their way to Solaris, Linux, HP-UX, AIX, and later many other operating systems, including Win NT and Win 2000.

FreeBSD can be installed from a variety of media including CD-ROM, floppy disk, magnetic tape, MS-DOS partition, or if you have a network connection, you can install it directly over anonymous FTP or NFS. All you need is a pair of blank, 1.44-MB floppies to have a boot image. From there, using my DSL connection it was a breeze to install FreeBSD on the Netfinity 5100. In less than one and a half hours, the installation was over.

If I had to choose between one of the current Linux distros' fancy but often slow installers and FreeBSD, my choice would go to the latter. It is a simple, yet elegant and very fast installation routine that works without any hiccups. In the end, you get a self-booting FreeBSD kernel updated to the latest stable releases. The first pleasant surprise upon booting FreeBSD is the speed at which it does so. Even with all services (such as Apache, Bind, Samba, etc.) enabled it boots in half the time it takes to boot Linux on the same machine.