From owner-freebsd-questions@FreeBSD.ORG Sat Feb 12 09:56:45 2005 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B1FE316A4CE for ; Sat, 12 Feb 2005 09:56:45 +0000 (GMT) Received: from smtp11.wanadoo.fr (smtp11.wanadoo.fr [193.252.22.31]) by mx1.FreeBSD.org (Postfix) with ESMTP id 33C0B43D49 for ; Sat, 12 Feb 2005 09:56:45 +0000 (GMT) (envelope-from atkielski.anthony@wanadoo.fr) Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf1106.wanadoo.fr (SMTP Server) with ESMTP id 97D161C0008F for ; Sat, 12 Feb 2005 10:56:44 +0100 (CET) Received: from pix.atkielski.com (ASt-Lambert-111-2-1-3.w81-50.abo.wanadoo.fr [81.50.80.3]) by mwinf1106.wanadoo.fr (SMTP Server) with ESMTP id 5BEAB1C00097 for ; Sat, 12 Feb 2005 10:56:44 +0100 (CET) X-ME-UUID: 20050212095644376.5BEAB1C00097@mwinf1106.wanadoo.fr Date: Sat, 12 Feb 2005 10:56:44 +0100 From: Anthony Atkielski X-Priority: 3 (Normal) Message-ID: <823196404.20050212105644@wanadoo.fr> To: freebsd-questions@freebsd.org In-Reply-To: <200502112313.28082.hindrich@worldchat.com> References: <200502112313.28082.hindrich@worldchat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: Freebsd vs. linux X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: freebsd-questions@freebsd.org List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 12 Feb 2005 09:56:45 -0000 > 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