Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Feb 2005 10:56:44 +0100
From:      Anthony Atkielski <atkielski.anthony@wanadoo.fr>
To:        freebsd-questions@freebsd.org
Subject:   Re: Freebsd vs. linux
Message-ID:  <823196404.20050212105644@wanadoo.fr>
In-Reply-To: <200502112313.28082.hindrich@worldchat.com>
References:  <200502112313.28082.hindrich@worldchat.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> Could you please either explain, why Freebsd is superior to Linux, (I am
> asking this as I would like to understand, in more depth, why it is 
> better) or direct me to a source that might give me some further 
> reading on the subject.

The main reason why I consider Linux inferior to FreeBSD is that Linux
is only a kernel, whereas FreeBSD is a complete OS.

Linus Torvalds originally wrote only the kernel portion of an operating
system.  He wrote it from scratch and patterned it after the behavior of
the well-established UNIX operating system.  This kernel became Linux.

Unfortunately, a kernel alone doesn't make an operating system.  So
people began adding programs to the kernel in order to provide something
complete enough to actually run as an OS.  Different organizations added
a different mix of programs, and each mix today is called a
"distribution."  No two distributions are alike.  The set of programs
you get in your Linux OS from Red Hat isn't the same as the set of
programs you get in your OS from Debian, and so on.

The Linux situation is pretty unusual.  Most operating systems,
including FreeBSD, are supplied as complete operating systems from the
start, including not only a kernel but also a comprehensive, coherent,
and consistent set of system programs to run under that kernel.  You
don't need a "distribution"; the OS already contains everything you need
to run the system.  In my view, this greatly improves reliability,
stability, and coherent of the OS, as there is only one version of the
OS for each release, and it is complete in itself.

Another reason why I prefer FreeBSD is that the BSD UNIX systems have a
much longer history that is much more closely linked to UNIX as a
concept than does Linux.  New code is usually buggy code, and so I
prefer an OS that has time-proven code, or at least is patterned after
time-proven OS concepts.  I find it very hard to believe that a
university student is going to write a kernel that is superior to
kernels that have been established and tweaked little by little by many
programmers over a period of decades.

For example, I learned only yesterday that Linux does asynchronous disk
I/O by default.  That means that disk I/O is buffered within the kernel,
such that data written to disk doesn't immediately get actually recorded
on disk--instead, the OS actually writes to disk when it deems it best
from a performance standpoint.  While this improves performance
enormously, it does so at a very high potential cost: because if the
system crashes before the disk is written, the entire file system may be
destroyed (key blocks on disk within the file system may not be updated
correctly, causing corruption so serious that the file system must be
recreated and restored completely from backup).

FreeBSD, on the other hand, uses a type of buffered I/O that guarantees
that the file system structure on disk is always coherent.  Disk writes
are buffered, but they are written out to disk in such a way that, at
any given instant, the file structure is clean and coherent.  If a power
failure occurs, you may lose the last few seconds of data you wrote to a
file, but the structure of your system and directories will not be
corrupted.

Still another reason why I prefer FreeBSD is that it places far less
emphasis on the desktop.  Linux has been moving more and more towards a
desktop because that's where the hype and money is perceived to be.
It's a losing proposition because Windows and the Mac are so
dramatically superior to Linux that it will probably never catch up.
But all the emphasis on pretty graphics and Windows-like desktop
behavior are made at the expense of server performance.  You can't have
an OS that is both a good server AND a good desktop.  Linux is wasting
time aiming at the desktop, while most other versions of UNIX (including
FreeBSD) are aiming at servers.  I run a server, so I use FreeBSD.

(Ironically, Mac OS X uses elements of BSD as its foundation and is a
UNIX system underneath the hood.  But Apple has hugely modified the
upper layers of the OS and has done so in a coherent, controlled way,
producing a desktop that is dramatically superior to anything Linux will
ever produce.)

Finally, I know from some years of experience with FreeBSD that it is a
rock stable operating system that makes very efficient use of whatever
hardware you give it and never crashes.  I have thus come to trust it
for my production server, which must run 24 hours per day (350,000
unique visitors per month on my Web site, or about 12 million hits, plus
all of my DNS resolution, e-mail services, time synchronization, etc.).

I hope this helps.

--
Anthony




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?823196404.20050212105644>