[ale] BSD and Linux

Chris Ricker kaboom at gatech.edu
Tue Dec 14 16:41:23 EST 1999


Since there's a lot of FUD flying around, I'll chime in ;-)

You can currently choose from four *BSDs and a bazillion Linuxes.  The
BSDs are:

*BSDi : commercial, closed-source variant.  This one is fairly slow in
development (they're just now adding Linux compatibility layers as a
beta-level option, for example), and mainly used by people who don't
want to use SCO but have to have a commercial Unix for x86.

*NetBSD : focuses on portability.  And that's the only place I've ever
seen it used in real life (versus someone just installing it to play
with)--if you've got some obscure architecture, chances are NetBSD has
been ported to it and you can get some use out of that otherwise-junk
hardware.

*FreeBSD : focuses on performance on x86 (and, lately, Alpha) platforms.
Much of the internet runs on FreeBSD, including many high-load sites such
as ftp.cdrom.com.

*OpenBSD : focuses on security.  It's also much more widely ported than
FreeBSD, though not as much as NetBSD.  Performance-wise, it's more
comparable with NetBSD than FreeBSD.

Despite the different interests and goals of the four groups, there is a
lot of cross-talk between them and sharing of code and ideas.  Even BSDi
ocassionally gives source to the others....  And, for that matter, there's
even sharing between the Linux and BSD worlds....

Now, for differences between them and Linux:

* The BSDs are a lot more coherent than Linux.  When I log into my FreeBSD
box at home, I know it'll feel just like the OpenBSD one down the hall at
work. That's certainly not true of the Debian box on my desk at school
compared with the Bastille Linux box at home.  That's good or bad, depending
on your viewpoint.

* The BSDs, as the name would suggest, all use BSD-style inits (though when
/ if Debian/FreeBSD ships, that might change ;-).  Most Linux distributions
use SysV.

* BSD tools tend not to be as friendly as Gnu tools.  Things like the -v
option to see what the command is doing (think cp -Rv, for example) often
aren't implemented in the BSD tools, and they also tend to be much fussier
about syntax (rm foo -rf works with Gnu rm, not with BSD rm)

* Performance-wise, there's, for the most part, not much one way or the
other.  UFS is slower than ext2 (BSD advocates will, of course, tell you
that ext2 is faster at the expense of risking corruption, but that's an
argument for another day), but soft-updates largely closes the gap.  
Advocates for both sides will tell you their network stack is faster, but
you'll almost never find either one backing that up with benchmarks (for the
simple reason that there aren't any definitive benchmarks supporting their
prejudice ;-)

* Driver-wise, the world generally belongs to Linux.  There are notable
exceptions, however.  BSD USB support is further along than Linux, for
example.

* The one big difference, performance-wise:  if you run SMP or want high
performance out of your non-Intel box, you're much better off with Linux.  
FreeBSD's SMP status is basically a release behind Linux (the latest 3.4-RC
of FreeBSD looks about like Linux 2.0 in terms of global locking), and
Linux/Alpha is similarly ahead of FreeBSD/Alpha (but then, it should be as
it's been under development longer).

* Obviously, there's the difference in Gnu and BSD licensing.

* Similarly, there's a difference in developmental philosophies.  Linux is
organized chaos (though the kernel development at least is actually much
more organized than most people think), while the BSDs have scheduled
releases, develop userland and kernels in sync (versus the separate
development of kernel and glibc, for example, in Linux), etc.

I tend to prefer Linux, but that's mostly for non-technical / semi-technical
reasons (I like SysV better, prefer GPL to Berkeley licensing, and prefer
the feel of Debian or RH Linux to that of BSD).  I've got Linux, OpenBSD,
and FreeBSD in use in various places....

later,
chris

--
Chris Ricker                                            kaboom at gatech.edu
                                               chris.ricker at m.cc.utah.edu

--
To unsubscribe: mail majordomo at ale.org with "unsubscribe ale" in message body.






More information about the Ale mailing list