linux/freebsd kernel differences
J. Seth Henry
jshamlet at comcast.net
Tue Apr 22 11:29:55 PDT 2003
For the most part, this is a religious argument - as both operating
systems perform very well in a server role. As with every question of this
nature, the devil is in the details.
First, hardware support isn't an issue, unless your server has hardware
that the OS doesn't support (and that you need). For example, I run
FreeBSD 4.7-REL on a serverworks board. FreeBSD has a real issue with the
onboard IDE ports (at least it did in 4.7-REL, I understand it improved
in 4.8) and can't use the system monitoring capabilities of the
board. However, I only use SCSI devices, and the machine is monitored with
other sensor systems. Would linux have been a better choice? Perhaps, but
I'm most comfortable with FreeBSD, and the lack of hardware support for
these features wasn't a show stopper.
Second, what is the purpose of the server. Yes, I know, you said NFS
server, but how many users, what kind of load, etc. Linux does a
remarkable job under low to moderate load. In many cases, it even
surpasses FreeBSD, which takes a much more moderate approach - until you
start reaching heavy loads. Then, Linux' performance begins to drop
off sharply. FreeBSD, on the other hand, reaches a plateau early on - but
can maintain performance across a wide spectrum of loads. It's kind of
like the tortoise and the hare, slow and steady wins the race - if the
race is long. However, if your users need quick bursts of speed, and
sustained performance isn't an issue, then Linux may be the better choice.
Third, consider that, reliability wise, Linux is a crapshoot - largely
because a kernel is not the same as an operating system. Some distros are
very reliable, but use older kernels, and better tested versions of
packages - while others are less conservative, use "newer" packages, and
suffer as a result. Ironically, the most stable Linux distros have
largely the same device support as FreeBSD - but you at least have the
choice. FreeBSD, on the other hand, is a single "product" if you will. It
is engineered for reliability - unless you go playing in the CVS trees.
All in all, I have found FreeBSD to be more reliable than Linux, but
then, I am no longer a heavy Linux user (so take that statement with a
grain of salt)
Lastly, consider who is going to be the machines caretaker. IOW - who is
going to support this box down the road. Sure, you love FreeBSD, but will
the next admin? Unless you are a career admin, consider that more people
have experience running Linux than FreeBSD. I have had to make some tough
choices due to this. Do I install what I prefer, or do I plan ahead and
save the next guy some grief? For example, some nutjob where I work
thought ksh was the best shell ever - so we are all forced to use it as
well. I *HATE* ksh so much, I statically linked my own copy of tcsh and
keep it hidden in my workspace. I have to kill out of it when I have
problems, though, or risk making this certain someone angry... ;)
Of course, if you can administer a Linux box, you can administer a FreeBSD
box with little difficulty. It took me about a month to master
the most common of FreeBSD's system administration idiosyncracies. If
anything, it is actually simpler. Things just "work" for the most part.
However, your colleagues may have a point if they bring this issue up. To
be honest, you might consider it.
So, I would posit two questions, 'Why Linux?' and 'Why NOT FreeBSD?' At
least make your colleagues think about the strengths that it offers, and
the weaknesses it suffers. It will also force them to come up with
reasons "Why Linux" It's not a slam dunk, like it would be if you were
talking about a desktop system. However, I believe that FreeBSD can stand
up to Linux any day in the server field, and do very well. Either way,
the most important goal is a server that performs well in your
application, and is easy to take care of.
> theres an argument here in our office about linux vs. freebsd
> we're building a new nfs server for our entire dept, and i suggested
> using fbsd, however, an opponent put forth linux and said that:
> "there is no difference between linux and freebsd kernels, except that
> linux has much better driver support.. WHY use obscure freebsd?"
> anyone got any ammo i can use here? i'd really rather use fbsd since i'm
> much more familar with it and its never let me down (except in the area
> of native java support), and i believe it'd be perfect for our nfs box
> but i'll need some good concrete evidence to make my case..
More information about the freebsd-questions