From owner-freebsd-advocacy Mon Apr 19 8:48:51 1999 Delivered-To: freebsd-advocacy@freebsd.org Received: from cons.org (knight.cons.org [194.233.237.195]) by hub.freebsd.org (Postfix) with ESMTP id 3711914F4A for ; Mon, 19 Apr 1999 08:48:44 -0700 (PDT) (envelope-from cracauer@cons.org) Received: (from cracauer@localhost) by cons.org (8.8.8/8.7.3) id RAA14816; Mon, 19 Apr 1999 17:46:05 +0200 (CEST) Date: Mon, 19 Apr 1999 17:46:04 +0200 From: Martin Cracauer To: "Jordan K. Hubbard" Cc: advocacy@FreeBSD.ORG Subject: Re: http://www.freebsd.org/features.html Message-ID: <19990419174604.A14787@cons.org> References: <14692.924172106@zippy.cdrom.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.1i In-Reply-To: <14692.924172106@zippy.cdrom.com>; from Jordan K. Hubbard on Thu, Apr 15, 1999 at 03:28:26AM -0700 Sender: owner-freebsd-advocacy@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG In <14692.924172106@zippy.cdrom.com>, Jordan K. Hubbard wrote: > Whatever happened to the plans to update this - Don? Here's my take, unspellchecked etc for now. Once again I invite you to give me feedback on http://www3.cons.org/cracauer/freebsd.html, sepcially on parts you may find suitable for the official FreeBSD Website. FreeBSD offers you an OpenSource operating system that focuses on stability, scalability, performance and upgradability. The FreeBSD development team reaches these goals by providing a complete operating system with everything you need for a running system. From one source, getting rid of a large number of possible incompatibilities, and freeing the user from much of the usual headaches when upgrading the system. FreeBSD is based on the well-acknowledged BSD operating system, developed at the University of California, Berkeley. BSD has been the base the base for many of the most influential UNIX derivates (i.e. SunOS and Ultrix). The TCP/IP suite - today the most important network protocol in the world - was developed as part of the BSD system. Many IP stacks in commercial OSes are still based on the BSD implementation. FreeBSD takes the final form of BSD - 4.4lite2 - and combines it with the great experience of its developers (among them are many well-regarded experts for virtual memory, networking, storage subsystems and third-party software integration) and the overwhelming testing and educated-feedback [I am such a LIAR!!!] providing manpower of an OpenSource project to take BSD to new limits. While the basic BSD system was already regarded one of the best operating systems for many purposes, FreeBSD systematically removes limitations that made BSD less that ideal for other areas. * The TCP/IP implementation that made BSD famous is still the base of FreeBSD, with suitable changes to support the large new Internet servers and new services noone dreamed of when the protocol has been developed. * The performance of FreeBSD's virtual memory system is generally regarded as one of the best. Machines with too few memory for their tasks - be it a heavily loaded big Internet server with unexpected access peaks or a laptop which just doesn't take as much memory as the user needs - will speed up dramatically under FreeBSD. The improved VM system also offers other advantages. Such as an integrated VM and filesystem cache, which avoids the difficulties many users experience when mixing applications that use different memory interfaces on other platforms. Of course, the amount of memory used for cache is tuned dynamically. An important point about the FreeBSD VM system is that it isn't rewritten from scratch. What has been done here is to tune the 4.4BSD VM system according to the measurements taken from existing systems under real workload. * FreeBSD offers environments to execute binary programs from other operating system, among them Linux, SCO UNIX, Solaris/x86, NetBSD and BSDI. These don't really count as "emulations" in the classical sense. The layers to support these OSes are very lightweight, and the libraries used to run these binaries are the native ones (of course, this implies that you need a license of these OSes to run dynamically linked binaries). As a result, the speed of non-native binaries nearly equals those of native FreeBSD binaries (and may be better than under the native OS when one of FreeBSD's performance hotspots are used by the application) and the list of binaries running without problems is very complete. A list of supported applications is here . This list goes as far as supporting X servers of other OSes and support for Linux applications that need 3dfx/Voodoo cards. An often overlooked advantage of running other OSes in FreeBSD emulation is that you can arrange the execution environment (configuration, shared libraries etc.) to be optimal for your application. This setup only affect the emulation environment, you cannot damage the basic operating system if you make a mistake as you could when both the application and the base system share an environment. Support for not so UNIX-like operating systems is generally a more problematic kind of emulation, but the MS-Windows emulator WINE - which made grat progress in the last time - runs on FreeBSD as well as on other UNIX derivates, as do several DOS emulators with specific strengths and weaknesses. * Another great strenth of FreeBSD is it's third-party-software integration system, called ports. The ports system of FreeBSD doesn't only focus on handling, installing and removing already compiled applications. The ports system also offers serious support for controlled upgrading and user-verified installation. A user who needs complete control about which applications are installed in what way will find a very transparent scheme that makes his reviewing and customizing task easy. The ports system isn't the third-party software in modified form. A port is basically a dense specification of the necessary steps to install a program on FreeBSD, from downloading, application of easy-to-verify FreeBSD-specific changes, compiling and installing, with necessary hooks to remove it later or to distribute it in compiled (binary) form. The ports system also takes care to keep configuration files of deinstalled ports so that a new install may reuse those later. The user can verify the actions a port installation will take within seconds and the ports system allows him to keep his own customizations, even those that require source changes. * FreeBSD also offers the so far best solution for the "metadata update problem". This problem is basically like this: While all modern operating systems write-cache the data you write to files and thus you are in risk to loose the contents of these files in the case of a system crash, these is also "metadata". "Metadata" is those data that isn't part of you files, but data that describes the layout of your partition and where you files live: how they are named, how old they are and which disk blocks they allocate. Write-caching this data is much more dangerous than doing so for normal data (the data *inside* your files), since a crash may cause you to loose data in files you did not tough during you work, or to loose the whole partition with all its files. Therefore, most operating systems chose to write out "metadata" synchronously, without a write cache. But this is slow and can become a major annoyance with tasks that require many file creation/deleting/renaming operations, like unpacking compressed file archives. FreeBSD's "softupdates" offer a solution that is fast *and* safe. The trick is to keep memory of all "metadata" operations, sort them and then write them to disk in an order that ensures that you will never loose data you didn't write just before. It's no black art, the cost is that this scheme took a major effort to develop. Kirk McKusick [FIXME: link] implemented such a scheme and it is available free of charge under certain circumstances. Thankfully, FreeBSD's license fits these circumstances, and members of the FreeBSD development team wrote the necessary pieces to use softupdates in FreeBSD, so most FreeBSD users will be able to use softwares with just a recompile of the kernel. * CAM [FIMXE fill this] * bootloader [FIMXE fill this] -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer http://www.cons.org/cracauer/ Tel.: (private) +4940 5221829 Fax.: (private) +4940 5228536 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-advocacy" in the body of the message