Comparison of BSD operating systems

From Wikipedia, the free encyclopedia

Jump to: navigation, search

There are a number of Unix-like operating systems based on or descended from the Berkeley Software Distribution (BSD) series of Unix variants. The three most notable descendants in current use are FreeBSD, OpenBSD, and NetBSD, which are all derived from 386BSD and 4.4BSD-Lite, by various routes. Both NetBSD and FreeBSD started life in 1993, initially derived from 386BSD, but in 1994 migrating to a 4.4BSD-Lite code base. OpenBSD was forked in 1995 from NetBSD. Other notable derivatives include DragonFly BSD, which was forked from FreeBSD 4.8, and Apple Inc.'s Mac OS X, with its Darwin base including a large amount of code derived from FreeBSD.

Most of the current BSD operating systems are open source and available for download, free of charge, under the BSD License, the most notable exception being Mac OS X. They also generally use a monolithic kernel architecture, apart from Mac OS X and DragonFly BSD which feature hybrid kernels. The various open source BSD projects generally develop the kernel and userland programs and libraries together, the source code being managed using a single central source repository.

In the past, BSD was also used as a basis for several proprietary versions of UNIX, such as Sun's SunOS, Sequent's Dynix, NeXT's NeXTSTEP, DEC's Ultrix and OSF/1 AXP (now Tru64 UNIX). Of these, only the last is still currently supported in its original form. Parts of NeXT's software became the foundation for Mac OS X, among the most commercially successful BSD variants in the general market.


[edit] Aims and philosophies

The aim of FreeBSD is to produce an operating system usable for any purpose.[1] It is intended to run a wide variety of applications, be easy to use, contain cutting edge features, and be highly scalable on very high load network servers.[2] FreeBSD is free and open source, and the project prefers the BSD license. However, they sometimes accept non-disclosure agreements (NDAs) and include a limited number of closed-source HAL modules for specific device drivers in their source tree, to support the hardware of companies who do not provide purely open source drivers (such as HALs to program software-defined radios so that vendors do not share their proprietary algorithms). To maintain a high level of quality and provide good support for "production quality commercial off-the-shelf (COTS) workstation, server, and high-end embedded systems", FreeBSD focuses on a narrow set of architectures.[3] A significant focus of development over the last five years has been fine-grained locking and SMP scalability. Other recent work includes Common Criteria security functionality, such as mandatory access control and security event audit support.
OpenBSD aims at security, correctness, and being as free as possible. Security policies include revealing security flaws publicly, known as full disclosure; thoroughly auditing code for bugs and security issues; various security features, including the W^X page protection technology and heavy use of randomization; a "secure by default" philosophy including disabling all non-essential services and having sane initial settings; and integrated cryptography, originally made easier due to relaxed Canadian export laws relative to the United States. Concerning software freedom, OpenBSD prefers the BSD or ISC license, with the GPL acceptable only for existing software which is impractical to replace, such as the GNU Compiler Collection. NDAs are never considered acceptable. This has led to the founding of a number of child projects such as OpenSSH, OpenNTPD, OpenCVS, OpenBGPD, PF and CARP to replace restricted alternatives, and campaigns to persuade hardware vendors to release documentation. In common with its parent, NetBSD, OpenBSD strives to run on a wide variety of hardware.[4]
NetBSD is designed to provide a freely redistributable operating system that professionals, hobbyists, and researchers can use in any manner they wish. The main focus is portability, through the use of clear distinctions between machine-dependent and machine-independent code. It runs on a wide variety of 32-bit and 64-bit processor architectures and hardware platforms, and is intended to interoperate well with other operating systems. NetBSD places emphasis on correct design, well-written code, stability, and efficiency. Where practical, close compliance with open API and protocol standards is also aimed for. In June, 2008, the NetBSD Foundation moved to a two clause BSD license, citing changes at UCB and industry applicability.[5]
DragonFly BSD
DragonFly BSD is designed to be inherently easy to understand and develop for multi-processor capable infrastructures. Starting with FreeBSD 4.8, the main aim is to radically change the kernel architecture, introducing microkernel-like message passing which will enhance scalability and reliability on symmetric multiprocessing platforms, and also be applicable to NUMA and clustered systems. The long-term goal is to provide transparent single-system image clustering. DragonFly BSD currently supports only the IA-32 platform.[6] Matthew Dillon, the founder of DragonFly BSD, believes supporting fewer platforms makes it easier for a project to do a proper ground-up SMP implementation.[7]

[edit] Popularity

Bar chart showing the proportion of users of each BSD variant from a BSD usage survey from September 2005.[8]

In September 2005, the BSD Certification Group, after advertising on a number of mailing lists, surveyed 4,330 BSD users, 3,958 of whom took the survey in English, to assess the relative popularity of the various BSD operating systems. About 77% of respondents used FreeBSD, 33% used OpenBSD, 16% used NetBSD, 2.6% used Dragonfly, and 6.6% used other (potentially non-BSD) systems. Other languages offered were Brazilian and European Portuguese, German, Italian, and Polish. Note that there was no control group or pre-screening of the survey takers. Those who checked "Other" were asked to specify that operating system.[8]

Because survey takers were permitted to select more than one answer, the percentages shown in the graph, which are out of the number survey of participants, add up to greater than 100%. If a survey taker filled in more than one choice for "other", this is still only counted as one vote for other on this chart.[8]

Another attempt to profile worldwide BSD usage is the *BSDstats Project, whose primary goal is to demonstrate to hardware vendors the penetration of BSD and viability of hardware drivers for the operating system. The project collects data monthly from any BSD system administrators willing to participate, and currently records the BSD market share of FreeBSD, OpenBSD, NetBSD, DragonflyBSD, Debian GNU/kFreeBSD, PC-BSD, and MirBSD.[9]

The DistroWatch website, well-known in the Linux community and often used as a rough guide to free operating system popularity, publishes page hits for each of the Linux distributions and other operating systems it covers. As of April 2008 using a data span of the last six months it placed FreeBSD in 10th place with 621 hits per day; OpenBSD in 53rd place with 126 hits per day; and NetBSD in 63rd place with 97 hits per day.[10]

[edit] Names, logos, and slogans

FreeBSD's logo.

The names FreeBSD and OpenBSD are references to software freedom: both in cost and open source.[11] NetBSD's name is a tribute to the Internet, which brought the original developers together.[12]

The first BSD mascot was the BSD daemon, named after a common type of Unix software program, a daemon. FreeBSD still uses the image, a red cartoon daemon named Beastie, wielding a pitchfork, as its mascot today. In 2005, after a competition, a stylized version of Beastie's head designed and drawn by Anton Gural was chosen as the FreeBSD logo.[13]

The NetBSD flag, designed in 2004 by Grant Bisset, is inspired by the original NetBSD logo[14], designed in 1994 by Shawn Mueller, portraying a number of BSD daemons raising a flag on top of a mound of computer equipment. This was based on a World War II photograph, Raising the Flag on Iwo Jima. The Board of Directors of The NetBSD Foundation believed this was too complicated, too hard to reproduce and had negative cultural ramifications and was thus not a suitable image for NetBSD in the corporate world. The new, simpler flag design replaced this.[15] The NetBSD slogan is "Of course it runs NetBSD", referring to the operating system's portability.

OpenBSD's logo.

Originally, OpenBSD used the BSD daemon as a mascot, but later replaced it with Puffy. Although Puffy is usually referred to as a pufferfish, the spikes on the cartoon images give him a closer likeness to the porcupinefish. The logo is a reference to the fish's defensive capabilities and to the Blowfish cryptography algorithm used in OpenBSD. OpenBSD also has a number of slogans including "Secure by default", which was used in the first OpenBSD song, 'E-railed', and "Free, Functional & Secure"[16] and has released an original song with every release since 3.0.[17]

The DragonFly BSD logo, designed by Joe Angrisano, is a dragonfly named Fred.[18] A number of unofficial logos[19] by various authors also show the dragonfly or stylized versions of it. DragonFly BSD considers itself to be "the logical continuation of the FreeBSD 4.x series."[20] FireflyBSD has a similar logo, a firefly, showing its close relationship to DragonFly BSD. In fact, the FireflyBSD website states that proceeds from sales will go to the development of DragonFly BSD, suggesting that the two may in fact be very closely related.

PicoBSD's slogan is "For the little BSD in all of us," and its logo includes a version of FreeBSD's Beastie as a child[21], showing its close connection to FreeBSD, and the minimal amount of code needed to run as a Live CD.

A number of BSD OSes use stylized version of their respective names for logos. This includes Mac OS X (which only uses the X), PC-BSD, DesktopBSD (with a symbol on the side), ClosedBSD (curved into a semicircle[22]), Frenzy[23] (with symbol on the side), and MicroBSD (which includes a bull-like M with yellow eyes[24]). The Mac OS X logo is the Roman numeral for 10. This is intended to emphasize the change from previous versions of Mac OS, which were not based on BSD and had version numbers expressed using Arabic numerals. PC-BSD's slogan is "Personal computing, served up BSD style!", DesktopBSD's "A Step Towards BSD on the Desktop." MicroBSD's slogan is "The small secure unix like OS."

MirOS's site collects a variety of BSD mascots and Tux, the Linux mascot, together, illustrating the project's aim of supporting both BSD and Linux kernels. MirOS's slogan is "a wonderful operating system for a world of peace."[25]

[edit] General information

Primary developers First public release Based on Latest stable version Cost (USD) Preferred license Purpose Short description
Version Release Date
FreeBSD The FreeBSD Project Dec 1993 386BSD, 4.4BSD-Lite 7.1 5 Jan 2009 Free BSD Server, Workstation, Network Appliance, Embedded Aims for maximum performance.
OpenBSD The OpenBSD Project July 1996 NetBSD 4.4 1 Nov 2008 Free ISC Server, Workstation, Network Appliance, Embedded Aims for maximum security.
NetBSD The NetBSD Project May 1993 386BSD, 4.4BSD-Lite 4.0.1 14 Oct 2008 Free BSD Server, Workstation, Network Appliance, Embedded Aims for maximum portability.
DragonFly BSD Matt Dillon 12 Jul 2004 FreeBSD 4.8 2.2.0 17 Feb 2009 Free BSD Server, Workstation, Network Appliance, Embedded Emphasis on multiprocessor systems, and clustering
386BSD a1 William and Lynne Jolitz Mar 1992 4.3BSD Net/2 1.0 1994 Free BSD Historical
BSD/OS (BSD/386) a1 BSDi, Wind River Systems Mar 1993 4.3BSD Net/2, 4.4BSD 5.1 Oct 2003 Proprietary Historical
SunOS a1 Sun Microsystems 1982 4.xBSD, UNIX System V[26] 4.1.4 Nov 1994a2 Proprietary Historical (Solaris is a different code base)
Ultrix a1 Digital Equipment Corporation 1984 4.2BSD, SVR2 4.5 1995 Proprietary
Tru64 UNIX (OSF/1 AXP, Digital UNIX) DEC, Compaq, HP 1993 4.3BSD, 4.4BSD, Mach 2.5, UNIX System V 5.1B-4 Dec 2006 $99 (non-
Mac OS X Apple Inc. Mar 2001 Darwin 10.5.6 "Leopard" 15 September 2008 Desktop $129
Server $499 (10 clients)
$999 (unlimited clients)
Open source core system (APSL, GPL, others) with proprietary higher level API layers Workstation, Home Desktop, Server Ships with Apple hardware and is locked to it.
Darwin Apple Inc. Mar 2001 NeXTSTEP, FreeBSD, Mac OS 9.2 11 February 2008 Free APSL, GPL, others Workstation, Home Desktop, Server The kernel and certain userland components of OS X
PC-BSD Kris Moore, Mike Albert, Tim McCormick, Dimitri Tishchenko 29 Apr 2006 FreeBSD 7.0.2 "Fibonacci" 10 Dec 2008 Free BSD Desktop Easy to use while maintaining full use of FreeBSD base
DesktopBSD Peter Hofer, Daniel Seuffert 25 Jul 2005 FreeBSD 1.6 09 Jan 2008 Free BSD Desktop Easy to use
ClosedBSD Joshua Bergeron and various contributors FreeBSD 1.0B (floppy), 1.0-RC1 (CD) Free Proprietary firewall/NAT, boot floppy, Live CD
FreeSBIE FreeBSD 2.0.1 Feb 2007 Free Live CD of FreeBSD
Frenzy Mozhaisky Sergei FreeBSD 1.1 08 Dec 2008 Free "portable system administrator toolkit" Live CD
PicoBSD Michael Bialecki FreeBSD 0.42 Free BSD boot floppy
polyBSD FOSS Tools Team NetBSD 3.1 Free BSD live USB development platform for embedded systems
Anonym.OS beta as of Jan 2005 OpenBSD 3.8 none Free Anonymous browsing Live CD
MirOS BSD The MirOS Project OpenBSD 3.1 #10 16 Mar 2008 Free European
ekkoBSD a1 Rick Collette OpenBSD 3.3 Server easy to administer
MicroBSD a1 Bulgarians OpenBSD 3.0/3.4 0.6 27 Oct 2003 Free General purpose Small, secure
OliveBSD Gabriel Paderni OpenBSD 3.8 Free Live CD
Gentoo/FreeBSD Gentoo Linux developers FreeBSD 6.2 9 May 2006 Free GPL, BSD Server, Workstation, Network Appliance uses Gentoo framework
Gentoo OpenBSD Gentoo Linux developers OpenBSD Free GPL, BSD Server, Workstation, Network Appliance, Embedded uses Gentoo framework
Gentoo NetBSD Gentoo Linux developers NetBSD Free GPL, BSD Server, Workstation, Network Appliance, Embedded uses Gentoo framework
Gentoo DragonflyBSD Robert Sebastian Gerus (project not yet officially supported by Gentoo) DragonFly BSD Free Server, Workstation, Network Appliance uses Gentoo framework
Debian GNU/kFreeBSD GNU, FreeBSD Free GNU userspace on FreeBSD kernel
Debian GNU/NetBSD GNU, NetBSD Free GNU userspace on NetBSD kernel
MidnightBSD Lucas Holt FreeBSD 6.0 none none Free BSD Desktop GNUstep based Desktop Environment
pfSense various contributors 1.0 FreeBSD 1.2 25 Feb 2008 Free BSD Security appliance firewall/NAT, Live CD
Paxym-FreeBSD for Octeon/Mips Paxym Inc. OS/Kernels team 4.0 - 11-Dec-2007 FreeBSD 7.0 4.7 13 Aug 2008 Proprietary Network, Storage, Security Applications: Routers/UTM/Firewall/NAS For Mips32, Mips64, SMP Mips64 Octeon Cavium Networks 1-16 Multicore CPU [1]
Developer First public release Based on Version Release Date Cost (USD) Preferred license Purpose Short description

Note a1: 386BSD, BSD/OS, SunOS, and Ultrix are historic operating systems that are no longer developed. BSDeviant and ekkoBSD do not exist anymore either, although BSDeviant is still available for download (see external links). MicroBSD ended, then started again in 2003, but it does not seem that any progress has been made since then, though the website still exists.
Note a2: This article only refers to SunOS through version 4.x. SunOS from release 5.x forward is based on SVR4, and is most commonly referred to as the Solaris Operating System.

[edit] Technical information

Supported architectures Supported file systemsb1 Kernel type GUI on by defaultb2 Package management Update management Primary APIsb3
FreeBSD x86, x86-64, PC98, UltraSPARC, others UFS, UFS2, ext2, FAT, ISO 9660, UDF, NFS, SMBFS, NetWare (nwfs), NTFS (limited read-write), ReiserFS (read only), XFS (experimental), ZFS (experimental), FUSE, Coda (experimental), AFS, others Monolithic with modules No (X.Org available) ports tree, packages source (CVSup, portsnap), network binary update (freebsdupdate) BSD, POSIX
OpenBSD x86, 68k, Alpha, x86-64, SPARC, VAX, others UFS, UFS2, ext2, FAT, ISO 9660, UDF, NFS, NTFSb4 (read only), AFS, others Monolithicb5 No (X.Org included)b6 ports tree, packages source (CVS, CVSup, rsync) or binary upgrade BSD, POSIX
NetBSD x86, 68k, Alpha, x86-64, PPC, SPARC, others UFS, UFS2, ext2, FAT, ISO 9660, NFS, LFS,UDF, SMBFS, NTFS (read only), others Monolithic with modules No (XFree86 included)b7 pkgsrc, packages source (CVS, CVSup, rsync) or binary (using sysinst) BSD, POSIX
Ultrix VAX, PDP-11, MIPS UFS + others Monolithic No (X11 included) setld unknown BSD, POSIX (4.0 onwards)
Tru64 UNIX Alpha UFS, AdvFS, ISO 9660, UDF, NFS Hybrid Yes (CDE) setld dupatch POSIX, UNIX 98, X11, CDE, others
Mac OS X / Darwin PPC, x86, x86-64, ARM HFS+ (default), HFS, UFS, AFP, ISO 9660, FAT, UDF, NFS, SMBFS, NTFS (read only), FTP, WebDAV, ZFS, others Hybrid Yes (Aqua) OS X Installer Software Update Carbon, Cocoa, BSD/POSIX, CF, X11 (since 10.3)
DragonFly BSD x86 HAMMER (beta), UFS, FAT, ISO 9660, NFS, SMBFS, NTFS (read only), ext2, others Hybrid No (X.Org available) pkgsrc, packages Git BSD, POSIX
PC-BSD x86, x86-64 UFS, UFS2, FAT, ISO 9660, NFS, SMBFS, NTFS (read only), others Monolithic with modules Yes (KDE) graphical installation wizard, ports tree CVSup, Portsnap, network binary update (Online Update) BSD, POSIX, X11, KDE
MidnightBSD x86, x86-64 UFS, UFS2, ext2, FAT, ISO 9660, UDF, NFS, SMBFS, NetWare (nwfs), NTFS (read only), others Monolithic with modules No (X.Org available) ports tree, packages source CVSup BSD, POSIX, X11, GNUstep

Note b1: UFS and UFS2 are descendants of the old FFS. However, many BSD operating systems refer to UFS1 as FFS.
Note b2: Operating systems where the GUI is not installed and turned on by default are often bundled with an implementation of the X Window System. However, installing X is usually optional.
Note b3: Most operating systems use proprietary APIs in addition to any supported standards.
Note b4: OpenBSD's NTFS support is not enabled by default and requires a custom kernel.
Note b5: OpenBSD contains support for modules on some architectures. They are used only to add third-party features: extracting existing functions into modules in the same manner as FreeBSD is not possible.
Note b6: Unlike FreeBSD, OpenBSD includes the X Window System as base install sets rather than packages within the ports collection. It includes some local changes and is managed as part of the OpenBSD source tree.
Note b7: NetBSD includes XFree86 as a base install set and includes some local changes and is maintained within the NetBSD source tree. The pkgsrc collection also provides Xorg via packages as an alternative.

[edit] Security features

Resource access control Security logging Subsystem isolation mechanisms Integrated firewall Encrypted file systems Data execution prevention
hardware emulation
FreeBSD Unix, ACLs, MAC syslog, CAPP event auditing, OpenBSM chroot, jail, MAC partitions IPFW2, IPFilter, PF Yes Yes No
OpenBSD Unix syslog chroot, systrace, privilege separation PF Yes Yes Yes
NetBSD Unix, Veriexec syslog chroot, privilege separation IPFilter, PF Yes Yes No
Mac OS X Unix, ACLs syslog, CAPP event auditing, OpenBSM chroot, sandbox IPFW2 Yes Yes unknown
PC-BSD Unix, ACLs, MAC chroot, jail, MAC Partitions IPFW2, IPFilter, PF Yesc1 Yes No
DragonFly BSD Unix, ACLs syslog chroot, jail, VKernel IPFW, IPFilter, PF Yes No No
MidnightBSD Unix, ACLs, MAC syslog chroot, jail, MAC partitions IPFW2, IPFilter, PF Yes No No

Note c1: Additionally swap space may be encrypted during installation, uses memory based tmp file storage by default.

[edit] See also

[edit] Notes and references

  1. ^ "Chapter 1 Introduction: 1.2. - What is the goal of the FreeBSD Project?". Frequently Asked Questions for FreeBSD 4.X, 5.X, and 6.X. The FreeBSD Documentation Project. 1995-2006. Retrieved on 2006-04-22. 
  2. ^ "About FreeBSD". The FreeBSD Project. 2006-10-12. Retrieved on 2006-10-14. 
  3. ^ "Support for Multiple Architectures: Statement of General Intent". Committer's Guide. The FreeBSD Documentation Project. ©1999-2005. Retrieved on 2006-10-14. "The FreeBSD Project targets "production quality commercial off-the-shelf (COTS) workstation, server, and high-end embedded systems"." 
  4. ^ "OpenBSD Project Goals". OpenBSD. 2005-10-12. Retrieved on 2006-04-22. 
  5. ^ "About the NetBSD Project - What is the NetBSD project?". The NetBSD Foundation, Inc.. 2006-01-08. Retrieved on 2006-04-22. 
  6. ^ "DragonFly Frequently Asked Questions". The DragonFly BSD Project. Retrieved on 2006-07-01. 
  7. ^ Biancuzzi, Federico (2004-07-08). "Behind DragonFly BSD An Interview with the developers.". O’Reilly Media, Inc.. 3. Retrieved on 2006-04-29. 
  8. ^ a b c BSD Certification site; PDF of usage survey results. Retrieved on 2006-04-22.
  9. ^ "*BSD Usage Statistics". The *BSD Stats Project. Retrieved on 2006-09-30. 
  10. ^ " Put the fun back into computing.". 2001-2008. Retrieved on 2008-04-21. 
  11. ^ "Chapter 1 Introduction - Why is it called FreeBSD?". Frequently Asked Questions for FreeBSD 4.X, 5.X, and 6.X. The FreeBSD Documentation Project. 1995-2006. Retrieved on 2006-06-11. 
  12. ^ "About the NetBSD Project - Why the name?". The NetBSD Foundation. 1994-2006. Retrieved on 2006-12-06. 
  13. ^ FreeBSD Logo Competition. The FreeBSD Project. Competition ended 2005-06-30. Retrieved on 2006-04-22.
  14. ^ Mueller, Shawn (1994). "Original NetBSD Logo" (JPEG). The NetBSD Foundation. Retrieved on 2006-04-22.  Also see NetBSD Logos.
  15. ^ Mewburn, Luke (2004-01-14). "NetBSD logo design competition". Netbsd-advocacy mailing list. Retrieved on 2006-04-22. 
    Linked to from:
    "Changes and NetBSD News in 2004 - NetBSD Logo Design Contest". The NetBSD Foundation, Inc.. 2004-01-13. Retrieved on 2006-10-14. 
    Also see:
    "The NetBSD Foundation Press Release: Announcement of New Logo - NetBSD has a new logo!". The NetBSD Foundation, Inc.. 2004-10-30. Retrieved on 2006-04-22. 
  16. ^ "OpenBSD 3.9 - Free, Functional & Secure" (JPEG). OpenBSD. Retrieved on 2006-07-01. 
  17. ^ "OpenBSD release song lyrics". OpenBSD. 2006-04-15. Retrieved on 2006-04-22. 
  18. ^ official DragonFlyBSD artwork
  19. ^ "DFWiki - DragonFly Artwork". The DragonFlyBSD Project. 2006-03-28.*/ Retrieved on 2006-04-22.  (This page was noted to be a redirect to the front page of new DragonFly Wiki on 2006-06-17, but most of the old images remain available via the Wayback Machine.)
  20. ^ "The History of DragonFly". The DragonFly BSD Project. Retrieved on 2006-04-22. 
  21. ^ "PicoBSD Banner - For the little BSD in all of us" (GIF). The FreeBSD Project. Retrieved on 2006-04-22. 
  22. ^ "ClosedBSD logo" (JPEG). Archived from the original on 2005-03-18. Retrieved on 2006-10-14.  Original last retrieved on 2006-04-22.
  23. ^ Vitalievich, Mozhaisky Sergei. "Frenzy logo" (PNG). Retrieved on 2006-04-22. 
  24. ^ "MicroBSD logo - The small secure unix like OS" (PNG). Retrieved on 2006-04-22. 
  25. ^ "MirOS/MirPorts: a wonderful operating system for a world of peace". MirOS Project. Retrieved on 2006-04-22. 
  26. ^ "SunOS 4.1.3: svidii - overview of the System V environment". FreeBSD Hypertext Man Pages. The FreeBSD Project. 1989-09-30. Retrieved on 2006-06-14. 

[edit] Other sources

Personal tools