Screenshot of FreeBSD 6.2 showing its Welcome screen
|Company / developer||The FreeBSD Project|
|OS family||Unix-like (BSD)|
|Source model||Open source|
|Initial release||1.0 (November 1, 1993)|
|Latest release||10.0 (20 January 2014[±])|
|Latest preview||10.0-RC5 (9 January 2014[±])|
|Platforms||IA-32, x86-64, SPARC64, IA-64, PowerPC, ARM, MIPS|
|Kernel type||Monolithic with dynamically loadable modules|
|Default user interface||Command-line interface|
|License||FreeBSD License, FreeBSD Documentation License|
FreeBSD is a free Unix-like operating system descended from Research Unix via BSD. Although for legal reasons FreeBSD cannot use the Unix trademark, it is a direct descendant of BSD, which was historically also called "BSD Unix" or "Berkeley Unix." Due to its permissive licensing terms, much of FreeBSD's code base has become an integral part of other operating systems such as Juniper JUNOS and Apple's OS X. FreeBSD is the most widely used open-source BSD distribution, accounting for more than three-quarters of all installed systems running open-source BSD derivatives.
FreeBSD is a complete operating system – the kernel, device drivers, and all of the userland utilities, such as the shell, are held in the same source code revision tracking tree. (This is in contrast to Linux distributions, for which the kernel, userland utilities, and applications are developed separately, and then packaged together in various ways by others.) Third-party application software may be installed using various software installation systems, the two most common being source installation and package installation, both of which use the FreeBSD Ports system.
- 1 History
- 2 Features
- 3 Development
- 4 License
- 5 Logo
- 6 Derivatives
- 7 Installers
- 8 Unauthorized access to FreeBSD's servers
- 9 Version history
- 10 See also
- 11 References
- 12 Notes
- 13 External links
FreeBSD development began in 1993 with a quickly growing, unofficial patchkit maintained by users of the 386BSD operating system. This patchkit forked from 386BSD and grew into an operating system taken from U.C. Berkeley's 4.3BSD-Lite (Net/2) tape with many 386BSD components and code from the Free Software Foundation. After two public beta releases via FTP (1.0-GAMMA on 2 September 1993, and 1.0-EPSILON on 3 October 1993), the first official release was FreeBSD 1.0, available via FTP on 1 November 1993 and on CDROM on 30 December 1993. This official release was coordinated by Jordan Hubbard, Nate Williams, Rodney W. Grimes and named by David Greenman. Walnut Creek CDROM agreed to distribute FreeBSD on CD and gave the project a machine to work on along with a fast Internet connection, which Hubbard later said helped stir FreeBSD's rapid growth. A "highly successful" FreeBSD 1.1 release followed in May 1994.
However, there were legal concerns about the BSD Net/2 release source code used in 386BSD. After a lawsuit between then Unix copyright owner Unix System Laboratories, and the University of California, Berkeley, the FreeBSD project re-engineered most of the system using the 4.4BSD-Lite release from Berkeley, which, owing to the lawsuit, had none of the AT&T source code earlier BSD versions contained, making it an unbootable operating system. Following much work, the unencumbered outcome was released as FreeBSD 2.0 in January 1995.
FreeBSD 2.0 featured a revamp of the original Carnegie Mellon University Mach virtual memory system, optimized for performance under high loads. This release introduced the FreeBSD Ports system, which made downloading, building and installing third party software very easy. By 1996, FreeBSD had become popular among commercial and ISP users, powering sites like Walnut Creek CD-ROM, Yahoo! and Hotmail. The last release along the 2-STABLE branch was 2.2.8 in November 1998. FreeBSD 3.0 brought many more changes, including the switch to the ELF binary format. Support for SMP systems and the 64-bit Alpha platform were added. The 3-STABLE branch ended with 3.5.1 in June 2000.
From the early days of the project's inception, a company named Walnut Creek CDROM, upon the suggestion of the two FreeBSD developers, agreed to release the operating system on CD-ROM. In addition to that, the company employed Jordan Hubbard and David Greenman, ran FreeBSD on its servers, sponsored FreeBSD conferences and published FreeBSD-related books, including The Complete FreeBSD by Greg Lehey. By 1997, FreeBSD was Walnut Creek's "most successful product". The company itself later renamed to The FreeBSD Mall.
In 2005, FreeBSD was characterized as the "unknown giant among free operating systems."
FreeBSD's TCP/IP stack is based on the 4.2BSD implementation of TCP/IP which greatly contributed to the widespread adoption of these protocols. FreeBSD also supports IPv6, SCTP, IPSec, and wireless networking (Wi-Fi). The IPv6 and IPSec stacks were taken from the KAME project. Also, FreeBSD supports IPX and AppleTalk protocols, but they are considered old and it is planned to drop support of them as of FreeBSD 11.0.
As of FreeBSD 5.4, support for the Common Address Redundancy Protocol (CARP) was imported from the OpenBSD project. CARP allows multiple nodes to share a set of IP addresses. So if one of the nodes goes down, other nodes still can serve the requests.
FreeBSD has several unique features related to storage. Soft updates can protect the consistency of the UFS filesystem (widely used on the BSDs) in the event of a system crash. Filesystem snapshots allow an image of a UFS filesystem at an instant in time to be efficiently created. Snapshots allow reliable backup of a live filesystem. GEOM is a modular framework that provides RAID (levels 0, 1, 3 currently), full disk encryption, journaling, concatenation, caching, and access to network-backed storage. GEOM allows building of complex storage solutions combining ("chaining") these mechanisms. From 7.0 onward, FreeBSD supports the ZFS filesystem. ZFS was previously an open source filesystem that was first developed by Sun microsystems, but when Oracle acquired Sun, ZFS became a proprietary product. However, the FreeBSD project is still developing and improving its ZFS implemention.
FreeBSD provides two framework for data encryption: GBDE and Geli. Both GBDE and Geli operates at the disk level. GBDE was written by Poul-Henning Kamp and is distributed under the two-clause BSD license. Geli is an alternative to GBDE that was writen by Pawel Jakub Dawidek and first appeared in FreeBSD 6.0.
FreeBSD provides several security-related features including access control lists (ACLs), security event auditing, extended file system attributes, fine-grained capabilities and mandatory access controls (MAC). These security enhancements were developed by the TrustedBSD project. The project was founded by Robert Watson with the goal of implementing concepts from the Common Criteria for Information Technology Security Evaluation and the Orange Book. This project is ongoing and many of its extensions have been integrated into FreeBSD. The project is supported by a variety of organizations, including the DARPA, NSA, Network Associates Laboratories, Safeport Network Services, the University of Pennsylvania, Yahoo!, McAfee Research, SPARTA, Apple Computer, nCircle Network Security, Google, the University of Cambridge Computer Laboratory, and others.
The project has also ported the NSA's FLASK/TE implementation from SELinux to FreeBSD. Other work includes the development of OpenBSM, an open source implementation of Sun's Basic Security Module (BSM) API and audit log file format, which supports an extensive security audit system. This was shipped as part of FreeBSD 6.2. Other infrastructure work in FreeBSD performed as part of the TrustedBSD Project has included SYN cookies, GEOM and OpenPAM.
While most components of the TrustedBSD project are eventually folded into the main sources for FreeBSD, many features, once fully matured, find their way into other operating systems. For example, OpenPAM and UFS2 have been adopted by NetBSD. Moreover, the TrustedBSD MAC Framework has been adopted by Apple for OS X.
Much of this work was sponsored by DARPA under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS").
FreeBSD ships with three different firewall packages: IPFW, pf and IPFilter. IPFW is FreeBSD's native firewall. pf was taken from OpenBSD and IPFilter was ported to FreeBSD by Darren Reed. Taken from OpenBSD, the OpenSSH program was included in default install. OpenSSH is a Free implementation of SSH protocol and is a replacement for telnet. Unlike telnet, OpenSSH encrypts all information (including username and password).
FreeBSD has been ported to a variety of processor architectures. The FreeBSD project organizes architectures into tiers that characterize the level of support provided. Tier 1 architectures are mature and fully supported. Tier 2 architectures are undergoing major development. Tier 3 architectures are experimental or are no longer under active development and tier 4 architectures have no support at all.
As of March 2014, FreeBSD has been ported to the following architectures:
|x86 (IA-32)||Tier 1||referred to as "i386"|
|x86-64||Tier 1||referred to as "amd64"|
|NEC PC-9801||Tier 2||referred to as "pc98"|
|Sun SPARC||Tier 2||Only support 64-bit (V9) architecture|
|Itanium (IA-64)||Tier 2|
|PowerPC and PowerPC/64||Tier 2|
|IBM ESA/390||Tier 3||referred to as "S/390"|
|Microsoft's Xbox||Tier 4|
|DEC Alpha||Tier 4||Support discontinued from FreeBSD 7.0 on|
FreeBSD has a repository of over 24,000 applications that are developed by third parties outside of the project itself. (Examples include windowing systems, Internet browsers, email programs, office suites, and so forth.) In general, the project itself does not develop this software, only the framework to allow these programs to be installed (termed the Ports Collection). Applications may be installed either from source, if its licensing terms allow such redistribution (these are called ports), or as compiled binaries if allowed (these are called packages). The Ports Collection supports the latest release on the -CURRENT and -STABLE branches. Older releases are not supported and may or may not work correctly with an up-to-date ports collection.
Ports and Packages
Each application in the Ports Collection is installed from source. Each port's Makefile automatically fetches the application source code, either from a local disk, CD-ROM or via ftp, unpacks it on the system, applies the patches, and compiles. This method can be very time consuming as compiling large packages can take hours, but the user is able to install a customized program. For most ports, precompiled binary packages also exist. This method is very quick as the whole compilation process is avoided, but the user is not able to install a program with customized compile time options.
In FreeBSD 10.0, a new package manager, called pkgng, was introduced. pkgng is a replacement for traditional pkg_add, pkg_create, pkg_delete, pkg_info, pkg_updating, and pkg_version commands. It has functionality similar to apt and yum. It includes installation and upgrades from both source (ports) and with pre-built binary packages. PackageKit also supports the FreeBSD Ports collection as an accepted repository.
First introduced in 4.x, a FreeBSD jail is a security mechanism and an implementation of operating system-level virtualization that enables the user to run multiple instances of a guest operating system (FreeBSD) on top of a FreeBSD host. Jails are enhanced version of traditional chroot mechanism. A process that runs in a jail, is unable to access the resources outside of that jail. Every jail has its own hostname and IP address. It is possible to run multiple jail at the same time. The kernel is shared among all of them, therefore only FreeBSD-built softwares can be run inside a jail.
bhyve, a new virtualization solution was introduced in FreeBSD 10.0. bhyve allows a user to run a number of guest operating systems (FreeBSD, OpenBSD and Linux) simultaneously. Other operating systems such as Microsoft Windows and Illumos are planned. bhyve was written by Neel Nato and Peter Grehan and was announced in the 2011 BSDCan conference for the first time. The main difference between bhyve and FreeBSD jails is that jails are an operating system-level virtualization and therefore limited to only FreeBSD guests; but bhyve is a type 2 hypervisor and is not limited to only FreeBSD guests.
Compatibility layer with other operating systems
Most software that runs on Linux can run on FreeBSD using an optional built-in compatibility layer. Hence, most Linux binaries can be run on FreeBSD, including some proprietary applications distributed only in binary form. Additionally, FreeBSD provides compatibility layers for several other Unix-like operating systems, in addition to Linux, such as BSD/OS and SVR4. In addition to that, FreeBSD is able to run NetBSD and OpenBSD's binaries, but people usually don't do that and instead, compile those programs directly on FreeBSD. No noticeable performance penalty over native FreeBSD programs has been noted when running Linux binaries, and, in some cases, these may even perform more smoothly than on Linux. However, the layer is not altogether seamless, and some Linux binaries are unusable or only partially usable on FreeBSD. There is support for system calls up to version 2.6.16, available since FreeBSD 7.0. However, there is currently no support for running 64-bit Linux binaries. As of 2013, there are plans for supporting them in FreeBSD 10. This compatibility layer is not an emulation, Linux's ABIs are implemented in the FreeBSD's kernel and hence, Linux binaries are treated same as FreeBSD's native binaries.
FreeBSD's kernel provides support for some essential tasks such as managing processes, communication, booting and filesystems. FreeBSD has a monolithic kernel, with modular design. Different parts of the kernel such as drivers, are designed as modules. The user can load and unload this modules at any time. ULE is the default scheduler in FreeBSD since version 7.1, it supports SMP and SMT. The FreeBSD kernel has also a scalable event notification interface, named kqueue. It has been ported to other BSD-derivatives such as OpenBSD, NetBSD. Originally, FreeBSD used a M:N threading model. This model is the best threading model in the theory, but it is hard to implement and few operating systems supports it. Although FreeBSD's implementation of this model worked, it did not performed well, so FreeBSD started using a 1:1 threading model, called libthr.
Documentations and support
FreeBSD's official documentations, consists of it's handbooks, manual pages, mailing list archives, FAQs and a variety of articles, mainly maintained by The FreeBSD Documentation Project and are available at FreeBSD's homepage. Official documentations are translated into several languages. All official documentations are released under the FreeBSD Documentation License, "a permissive non-copyleft free documentation license that is compatible with the GNU FDL". FreeBSD's documentations are described as "high-quality".
The FreeBSD project maintains a variety of mailing lists. Among the most popular mailing list, are FreeBSD-question (general questions), FreeBSD-newbies (for newcomers) and FreeBSD-hackers (a place for ask more technically questions).
FreeBSD is developed by a volunteer team around the world. The Developers uses Internet for all communications and even they may not met each other in person. There are also some user groups around the world. In addition to these user groups, an annual conference, called BSDcon, is held by USENIX, though BSDcon is not a FreeBSD-specific conference and deals with technical aspects of all BSD operating systems, including OpenBSD and NetBSD. In addition to BSDcon, two other annually-held conferences, EuroBSDCon and AsiaBSDCon also takes place in Europe and Japan respectively.
The FreeBSD Project is run by FreeBSD committers, or developers who have SVN commit access. There are several kinds of committers, including source committers (base operating system), doc committers (documentation and web site authors) and ports (third party application porting and infrastructure). Every two years the FreeBSD committers select a 9-member FreeBSD Core Team who are responsible for overall project direction, setting and enforcing project rules and approving new "commit bits", or the granting of SVN commit access. A number of responsibilities are officially assigned to other development teams by the FreeBSD Core Team, including responsibility for security advisories (the Security Officer Team), release engineering (the Release Engineering Team) and managing the ports collection (the Port Manager team). Developers may give up their commit rights to retire or for "safe-keeping" after a period of a year or more of inactivity, although commit rights will generally be restored on request. Under rare circumstances commit rights may be removed by Core Team vote as a result of repeated violation of project rules and standards. The FreeBSD Project is unusual among open source projects in having developers who have worked with its source base for over 10 years before its release in 1993, owing to the involvement of a number of past University of California developers who worked on BSD at the Computer Systems Research Group.
FreeBSD developers maintain at least two branches of simultaneous development. The -CURRENT branch always represents the "bleeding edge" of FreeBSD development. A -STABLE branch of FreeBSD is created for each major version number, from which -RELEASE are cut about once every 4–6 months. If a feature is sufficiently stable and mature it will likely be backported (MFC or Merge from CURRENT in FreeBSD developer slang) to the -STABLE branch. FreeBSD's development model is further described in an article by Niklas Saers.
FreeBSD development is supported in part by the FreeBSD Foundation. The foundation is a non-profit organization that accepts donations to fund FreeBSD development. Such funding has been used to sponsor developers for specific activities, purchase hardware and network infrastructure, provide travel grants to developer summits, and provide legal support to the FreeBSD project.
FreeBSD is released under a variety of open source licenses. The kernel code and most newly created code is released under the two-clause BSD license which allows everyone to use and redistribute FreeBSD as they wish. This license was approved by Free Software Foundation and Open Source Initiative as a Free Software and Open Source license respectively. Free Software Foundation described this license as "a lax, permissive non-copyleft free software license, compatible with the GNU GPL". There are parts released under three- and four-clause BSD licenses, as well as Beerware license. Some device drivers include a binary blob, such as the Atheros HAL of FreeBSD versions before 7.2. Some of the code contributed by other projects is licensed under GPL, LGPL, ISC or CDDL. All the code licensed under GPL and CDDL is clearly separated from the code under liberal licenses, to make it easy for users such as embedded device manufacturers to use only permissive free software licenses. ClangBSD aims to replace some GPL dependencies in the FreeBSD base system by replacing the GNU compiler collection with the BSD-licenced LLVM/Clang compiler. ClangBSD became self-hosting on 16 April 2010, an important landmark for further independent development.
For many years FreeBSD's logo was the generic BSD daemon, also called Beastie, a distorted pronunciation of BSD. First appearing in 1976 on Unix T-shirts purchased by Bell Labs, the more popular versions of the BSD daemon were drawn by animation director John Lasseter beginning in 1984. Several FreeBSD-specific versions were later drawn by Tatsumi Hosokawa. Through the years Beastie became both beloved and criticized as perhaps inappropriate for corporate and mass market exposure. Moreover it was not unique to FreeBSD. In lithographic terms, the Lasseter graphic is not line art and often requires a screened, four color photo offset printing process for faithful reproduction on physical surfaces such as paper. Moreover, the BSD daemon was thought to be too graphically detailed for smooth size scaling and aesthetically over dependent upon multiple color gradations, making it hard to reliably reproduce as a simple, standardized logo in only two or three colors, much less in monochrome. Because of these worries, a competition was held and a new logo designed by Anton K. Gural, still echoing the BSD daemon, was released on 8 October 2005. Meanwhile Lasseter's much known take on the BSD daemon carries forth as the official mascot of the FreeBSD Project.
The name "FreeBSD" was coined by David Greenman on 19 June 1993, other suggested names were "BSDFree86" and "Free86BSD". FreeBSD's slogan is "The Power to serve" which is a registered trademark for The FreeBSD Foundation.
There are a number of software distributions based on FreeBSD including:
- PC-BSD (aimed at home users and workstations)
- FreeSBIE (live CD)
- Frenzy (live CD)
- GhostBSD (Gnome-based distribution, that also offers LXDE GUI)
- m0n0wall (firewall)
- pfSense (firewall)
- FreeNAS (for Network-attached storage devices)
- NAS4Free (for Network-attached storage devices)
- AuthServ/Zilux - (for network servers & storage)
All these distributions have no or only minor changes when compared with the original FreeBSD base system. The main difference to the original FreeBSD is that they come with pre-installed and pre-configured software for specific use cases. This can be compared with Linux distributions, which are all binary compatible because they use the same kernel and also use the same basic tools, compilers and libraries, while coming with different applications, configurations and branding.
Besides these distributions there is DragonFly BSD, a fork from FreeBSD 4.8 aiming for a different multiprocessor synchronization strategy than the one chosen for FreeBSD 5 and development of some microkernel features. It does not aim to stay compatible with FreeBSD and has huge differences in the kernel and basic userland.
A wide variety of products are directly or indirectly based on FreeBSD.
Some subscription services that are directly based on FreeBSD are:
- WhatsApp - processes 2 Million Concurrent TCP Connections per server.
Examples of embedded devices and embedded device operating systems based on FreeBSD include:
- Citrix Netscalers
- F5 Networks's 3DNS version 3 global traffic manager and EDGE-FX version 1 web cache (NB These are now end of life with 3DNS functionality being moved to the Linux based BIGIP Platform)
- Ironport network security appliances
- Junos network operating system by Juniper Networks used in their routers, switches and security devices
- KACE Networks's KBOX 1000 & 2000 Series Appliances and the Virtual KBOX Appliance
- NCircle network security's IP360
- NetApp's Data ONTAP 8.x and the now superseded ONTAP GX (only as a loader for proprietary kernel-space module)
- Netasq security appliances
- Netflix's Open Connect Appliance to handle content delivery.
- Nokia's firewall operating system
- Panasas's and Isilon Systems's cluster storage operating systems
- The PlayStation 3
- The PlayStation 4 ("Orbis OS")
- Sandvine's network policy control products
- Sophos's Email Appliance
- St. Bernard Software iPrism web filtering appliances
- Panasonic's 2010 TV models (PDP and LCD)
- Blue Coat's ProxySG WAN acceleration appliance is partially derived from FreeBSD
- The Weather Channel's IntelliStar local forecast computer runs FreeBSD
Other operating systems such as Linux and the RTOS VxWorks contain code that originated in FreeBSD. Debian, known primarily for using the Linux kernel, also maintains GNU/kFreeBSD, combining the GNU userspace and C library with the FreeBSD kernel. Darwin, the core of Apple OS X, borrows FreeBSD’s virtual file system, network stack, and components of its userspace. The OpenDarwin project (now defunct), a spin-off of Apple’s Darwin operating system, also included substantial FreeBSD code. Thanks to the permissive FreeBSD License, much of FreeBSD now also forms the basis of Apple OS X and OS X Server.
Mac OS X Server includes the latest technological advances from the open source BSD community. Originally developed at the University of California, Berkeley, the BSD distribution is the foundation of most UNIX implementations today. Mac OS X Server is based largely on the FreeBSD distribution and includes the latest advances from this development community.—"Apple Mac OS X Server Snow Leopard—UNIX: Open source foundation", 
- FreeBSD on Raspberry Pi single board computers
For a long time, FreeBSD used the sysinstall program as its main installer. It uses a text user interface, and is divided into a number of menus and screens that can be used to configure and control the installation process. It can also be used to install Ports and Packages as an alternative to the command-line interface. As of FreeBSD 9, sysinstall has been replaced by bsdinstall. It was written in C by Jordan Hubbard, is curses based and first appeared in FreeBSD 2.0. The utility is now considered deprecated.
The bsdinstall utility is "a lightweight replacement for sysinstall", which replaced the sysinstall utility in FreeBSD 9.0. It was written in sh is and is more extendable than FreeBSD's old installer (sysinstall). According to OSNews, "It has lost some features while gaining others, but it is a much more flexible design, and will ultimately be significant improvement".
The pc-bsd installer aims to create a user-friendly graphical installer for FreeBSD & FreeBSD-derived systems.
On November 2012, The FreeBSD Security Team announced that hackers gained unauthorized access on two of the project's servers. These servers were turned off immediately. More research demonstrated that the first unauthorized access by hackers was occurred on 19 September. Apparently hackers gained access to these servers by Stealing SSH keys from FreeBSD's developers, not by exploiting a bug in the operating system itself. These two hacked servers were part of the infrastructure used to build third-party software packages. The FreeBSD Security Team checked the integrity of the binary packages and announced that no unauthorized change was made to the binary packages, but they stated that they can't guarantee the integrity of packages that was downloaded between 19 September and 11 November.
Released in November 1993. 220.127.116.11 was released in July 1994.
2.0-RELEASE was announced on 22 November 1994. The final release of FreeBSD 2, 2.2.8-RELEASE, was announced on 29 November 1998. FreeBSD 2.0 was the first FreeBSD to be claimed legally free of AT&T Unix code with approval of Novell. It was the first version to be widely used at the beginnings of the spread of Internet servers.
FreeBSD 3.0-RELEASE was announced on 16 October 1998. The final release, 3.5-RELEASE, was announced on 24 June 2000. FreeBSD 3.0 was the first branch able to support symmetric multiprocessing (SMP) systems, using a Giant lock. USB support was first introduced with FreeBSD 3.1, and the first Gigabit network cards were supported in 3.2logo-RELEASE.
4.0-RELEASE appeared in March 2000 and the last 4-STABLE branch release was 4.11 in January 2005 supported until 31 January 2007. FreeBSD 4 was lauded for its stability and was a favorite operating system for ISPs and web hosting providers during the first dot-com bubble,[dubious ] and is widely regarded as one of the most stable and high performance operating systems of the whole Unix lineage. Among the new features of FreeBSD 4,
kqueue(2) was introduced (which is now part of other major BSD systems).
After almost three years of development, the first 5.0-RELEASE in January 2003 was widely anticipated, featuring support for advanced multiprocessor and application threading, and for the UltraSPARC and IA-64 platforms. The first 5-STABLE release was 5.3 (5.0 through 5.2.1 were cut from -CURRENT). The last release from the 5-STABLE branch was 5.5 in May 2006.
The largest architectural development in FreeBSD 5 was a major change in the low-level kernel locking mechanisms to enable better symmetric multi-processor (SMP) support. This released much of the kernel from the MP lock, which is sometimes called the Giant lock. More than one process could now execute in kernel mode at the same time. Other major changes included an M:N native threading implementation called Kernel Scheduled Entities. In principle this is similar to Scheduler Activations. Starting with FreeBSD 5.3, KSE was the default threading implementation until it was replaced with a 1:1 implementation in FreeBSD 7.0.
FreeBSD 5 also significantly changed the block I/O layer by implementing the GEOM modular disk I/O request transformation framework contributed by Poul-Henning Kamp. GEOM enables the simple creation of many kinds of functionality, such as mirroring (gmirror) and encryption (GBDE and GELI). This work was supported through sponsorship by DARPA.
While the early versions from the 5.x were not much more than developer previews, with pronounced instability, the 5.4 and 5.5 releases of FreeBSD confirmed the technologies introduced in the FreeBSD 5.x branch had a future in highly stable and high-performing releases.
FreeBSD 6.0 was released on 4 November 2005. The final FreeBSD 6 release was 6.4, on 11 November 2008. These versions continue work on SMP and threading optimization along with more work on advanced 802.11 functionality, TrustedBSD security event auditing, significant network stack performance enhancements, a fully preemptive kernel and support for hardware performance counters (HWPMC). The main accomplishments of these releases include removal of the Giant lock from VFS, implementation of a better-performing optional libthr library with 1:1 threading and the addition of a Basic Security Module (BSM) audit implementation called OpenBSM, which was created by the TrustedBSD Project (based on the BSM implementation found in Apple's open source Darwin) and released under a BSD-style license.
FreeBSD 7.0 was released on 27 February 2008. The most recent and final FreeBSD 7 release was 7.4, on 24 February 2011. New features include SCTP, UFS journaling, an experimental port of Sun's ZFS file system, GCC4, improved support for the ARM architecture, jemalloc (a memory allocator optimized for parallel computation, which was ported to Firefox 3), and major updates and optimizations relating to network, audio, and SMP performance. Benchmarks have shown significant speed improvements over previous FreeBSD releases as well as Linux. The new ULE scheduler has seen much improvement but a decision was made to ship the 7.0 release with the older 4BSD scheduler, leaving ULE as a kernel compile-time tunable. In FreeBSD 7.1 ULE was the default for the i386 and AMD64 architectures. [clarification needed]
FreeBSD 8.0 was formally released on 25 November 2009. FreeBSD 8 was branched from the trunk in August 2009. It features superpages, Xen DomU support, network stack virtualization, stack-smashing protection, TTY layer rewrite, much updated and improved ZFS support, a new USB stack with USB 3.0 and xHCI support added in FreeBSD 8.2, multicast updates including IGMPv3, a rewritten NFS client/server introducing NFSv4, and AES acceleration on supported Intel CPUs (added in FreeBSD 8.2). Inclusion of improved device mmap() extensions enables implementation of a 64-bit Nvidia display driver for the x86-64 platform. A pluggable congestion control framework, and support for the ability to use DTrace for applications running under Linux emulation were added in FreeBSD 8.3. FreeBSD 8.4 is the most recent release from the FreeBSD 8 series, and was formally released on 7 June 2013.
FreeBSD 9.0 was released on 12 January 2012. Key features of the release include a new installer (bsdinstall), UFS journaling, ZFS version 28, userland DTrace, NFSv4-compatible NFS server and client, USB 3.0 support, support for running on the PlayStation 3, Capsicum sandboxing, and LLVM 3.0 in the base system. The kernel and base system can be built with Clang, but FreeBSD 9.0 still uses GCC4.2 by default. The PlayStation 4 video game console uses a derived version of FreeBSD 9.0, which Sony Computer Entertainment dubbed "ORBIS OS." FreeBSD 9.1 was released on 31 December 2012. FreeBSD 9.2 was released on 30 September 2013. FreeBSD 9.3 was released on 16 July 2014.
On 20 January 2014, the FreeBSD Release Engineering Team announced the availability of FreeBSD 10.0-RELEASE. Key features include the deprecation of GCC in favor of Clang, a new iSCSI implementation, VirtIO drivers for out-of-the-box KVM support, and a FUSE implementation.
The timeline shows that the span of a single release generation of FreeBSD lasts around 5 years. Since the FreeBSD project makes effort for binary backward (and limited forward) compatibility within the same release generation, this allows users 5+ years of support, with trivial-to-easy upgrading within the release generation.
- BAPP – BSD + Apache + PostgreSQL + Perl/PHP/Python
- BSD descendants
- Comparison of BSD operating systems
- Comparison of operating system kernels
- Comparison of operating systems
- Marshall Kirk McKusick
- Computer Systems Research Group
- How does one patch KDE2 under FreeBSD?
- "[FreeBSD-Announce] FreeBSD 10.0-RELEASE Now Available". FreeBSD.org. 20 January 2014. Retrieved 20 January 2014.
- Barber, Glen (9 Jan 2014). "FreeBSD 10.0-RC5 Now Available". FreeBSD mailing list. Retrieved 9 Jan 2014.
- Lehey 2003, p. 4.
- Garfinkel, Simson. Spafford, Gene. Schwartz, Alan. Practical UNIX and Internet Security. 2003. pp. 15-20
- Pohlmann, Frank (19 July 2005). "Why FreeBSD". IBM DeveloperWorks. Archived from the original on 11 September 2013.
- BSD Usage Survey Report (PDF). The BSD Certification Group. 31 October 2005. Retrieved 5 December 2010.
- Chisnall, David (20 January 2006). "BSD: The Other Free UNIX Family". informit.com. Retrieved 13 December 2013.
- "A Brief History of FreeBSD". FreeBSD.org. Retrieved 31 January 2009.
- Bruce, Bob. "Company History". FreeBSD Mall. Retrieved 6 August 2014.
- Johnson, Dwight. "Report from Comdex--Walnut Creek CDROM, FreeBSD and Slackware". Linux Today. Retrieved 6 August 2014.
- McKusick, Marshall (2005). "Section 2.13". The Design and Implementation of the FreeBSD Operating System. ISBN 0-201-70245-2.
- Farrokhi, Babak. "Network Configuration—IPv6 with FreeBSD". Packt. Archived from the original on 26 December 2013. Retrieved 26 December 2013.
- Sam Leffler. "FreeBSD Wireless Netwokring Support". BSDCan. Archived from the original on 26 December 2013. Retrieved 26 December 2013.
- "Overview of the KAME Project". KAME project. Retrieved 11 August 2014.
- Smirnoff, Gleb (28 October 2013). "[heads up axing AppleTalk and IPX/SPX"]. freebsd-stable mailing list. http://lists.freebsd.org/pipermail/freebsd-stable/2013-October/075582.html. Retrieved 12 August 2014.
- "CARP(4)". The FreeBSD documentation Project. Retrieved 25 October 2013.
- McKusick, Marshall; V. Neville-Neil, George (2005). "8.6. Soft Updates". The Design and Implementation of the FreeBSD Operating System. ISBN 0-201-70245-2.
- Lucas 2007, p. 220.
- Lucas 2007, 18. DISK TRICKS WITH GEOM.
- Sean Michael Kerner (25 February 2011). "FreeBSD 8.2 Expands ZFS Support -- Without Oracle". Datamation. Archived from the original on 15 December 2013. Retrieved 15 December 2013.
- "geli(8)". The FreeBSD Project. Retrieved 12 August 2014.
- Kamp, Poul-Henning. "GBDE—GEOM Based Disk Encryption". USENIX. Archived from the original on 15 Dec 2013. Retrieved 12 August 2014.
- "TrustedBSD Project". TrustedBSD Project. Retrieved 9 August 2014.
- Lucas 2007, p. 273.
- Lucas 2007, p. 440.
- "FreeBSD/Supported Platforms". FreeBSD.org. Retrieved 26 March 2014.
- "Committer's Guide". The FreeBSD Documentation Project.
- "Chapter 4 Installing Applications: Packages and Ports". FreeBSD.org. Retrieved 30 January 2009.
- Asami, Satoshi. "The FreeBSD Ports Collection". USENIX. Retrieved 13 December 2013.
- "4.4 Using the Packages System". FreeBSD.org. Retrieved 30 January 2009.
- Larabel, Michael. "FreeBSD Still Working On Next-Gen Package Manager". Phoronix. Retrieved 9 August 2014.
- "The BSD family, pt. 1: FreeBSD 9.1". OSNews. Retrieved 9 August 2014.
- Schenkeveld, Paul. "The BSD Hypervisor". FOSDEM. Retrieved 9 August 2014.
- Larabel, Michael. "The State Of FreeBSD's Bhyve Virtualization". Phoronix. Retrieved 9 August 2014.
- Grehan, Peter. "Introduction to bhyve". Retrieved 9 August 2014.
- Lehey 2003, p. 162.
- McEwen, Gordon. "Setting up Linux compatibility on FreeBSD 6". Archived from the original on 14 November 2006. Retrieved 15 December 2013.
- Tiemann, Brian (2006). "How FreeBSD Compares to Other Operating Systems". FreeBSD 6 Unleashed. ISBN 0-672-32875-5.
- Michael, Larabel. "FreeBSD: A Faster Platform For Linux Gaming Than Linux?". Phoronix. Retrieved 5 August 2014.
- "FreeBSD10 - FreeBSD Wiki". Retrieved 3 August 2013.
- Chisnall, David (15 July 2005). "Project Evil: Windows network drivers on FreeBSD". Ping Wales. Archived from the original on 4 November 2005. Retrieved 23 October 2013.
- McKusick & Neville-Neil 2004, Chapter 2. Design Overview of FreeBSD.
- Michael Lucas 2007, p. 118.
- Roberson, Jeff. "ULE: A Modern Scheduler for FreeBSD". USENIX. Retrieved 5 August 2014.
- Lemon, Jonathan. "KQueue–A Generic and Scalable Event Notification Facility". USENIX. Retrieved 5 August 2014.
- Lucas 2007, p. 359.
- Lucas 2007, p. 25.
- "Various Licenses and Comments about Them". Gnu Project. Retrieved 12 August 2014.
- Lehey 2003, p. 16.
- "BSD: The Other Free UNIX Family". InformIT. Retrieved 12 August 2014.
- Lehey 2003, p. 17.
- Lehey 2003, p. 20.
- "EuroBSDcon 2014". EuroBSDcon. Retrieved 9 August 2014.
- "AsiaBSDCon 2014". AsiaBSDCon. Retrieved 9 August 2014.
- "FreeBSD Project Administration and Management". FreeBSD.org. Retrieved 30 January 2009.
- Lucas 2007, pp. 372-375.
- Saers, Niklas (2002). "A project model for the FreeBSD Project". FreeBSD.org. Retrieved 3 March 2007.
- "About the FreeBSD Foundation". The FreeBSD Foundation. Retrieved 6 September 2009.
- "Various Licenses and Comments about Them". The GNU Project. Retrieved 9 August 2014.
- "The BSD 2-Clause License". Open Source Initiative. Retrieved 9 August 2014.
- Watson, Robert (Sun 22 October, 12:34:20 UTC 2006). "binary blobs in freebsd". freebsd-questions mailing list. http://lists.freebsd.org/pipermail/freebsd-questions/2006-October/134041.html. Retrieved 20 October 2013.
- "FreeBSD Copyright and Legal Information". FreeBSD.org. Retrieved 23 April 2013.
- "ClangBSD Is Selfhosting, We Need Testers Now". osnews.com. 17 April 2010. Retrieved 23 April 2013.
- "Usenix". mckusick.com. Retrieved 15 December 2007.
- "Saving UNIX from /dev/null". minnie.tuhs.org. Retrieved 15 December 2007.
- "The BSD Daemon". FreeBSD.org. Retrieved 15 December 2007.
- "FreeBSD logo design competition". OSNews. Retrieved 1 November 2013.
- Kuriyama, Jun (22 February 2005). "FreeBSD logo design competition". FreeBSD-Announce mailing list. http://lists.freebsd.org/pipermail/freebsd-announce/2005-February/000981.html. Retrieved 1 November 2013.
- "Final result for the FreeBSD logo design competition". FreeBSD.org. 2005. Archived from the original on 16 October 2012. Retrieved 1 March 2007.
- Greenman, David. "FreeBSD Archives". The FreeBSD Project. Retrieved 6 August 2014.
- "FreeBSD Logo". The FreeBSD Project. Retrieved 6 August 2014.
- Dillon, Matthew (16 July 2003), "Announcing DragonFly BSD!", freebsd-current mailing list, retrieved 26 July 2007
- Netflix (29 May 2012). "Open Connect Appliance Deployment Guide".
- Long, Scott (5 June 2012). "Netflix's New Peering Appliance Uses FreeBSD". freebsd-stable mailing list. http://lists.FreeBSD.org/pipermail/freebsd-stable/2012-June/068129.html. Retrieved 5 June 2012.
- "Licenses of software used on PlayStation®3 console". Retrieved 11 August 2010.
- Michael Larabel (23 June 2013). "Sony's PlayStation 4 Is Running Modified FreeBSD 9". Phoronix. Retrieved 17 August 2013.
- Matthew Humphries (24 June 2013). "PS4 runs modified version of the FreeBSD 9.0 operating system". Retrieved 19 October 2013.
- Clark, Jack. "Sony's new PlayStation 4 and open source FreeBSD: The TRUTH". theregister.co.uk. Retrieved 16 November 2013.
- Maste, Ed. "FreeBSD at Sandvine". BSDCan 2011.
- "Sophos Email Appliance: overview". Sophos.com. Retrieved 23 April 2013.
- "iPrism v6.2xx" (PDF). Retrieved 23 April 2013.
- Sean Michael Kerner (21 August 2009). "FreeBSD 8 Getting New Routing Architecture". internetnews.com. Retrieved 19 December 2010.
- "Using FreeBSD to Render Realtime Localized Audio and Video". Webcache.googleusercontent.com. Retrieved 29 December 2012.
- "Debian GNU/kFreeBSD". Retrieved 11 August 2010.
- "OS X Lion Server – The server for everyone". Apple. Retrieved 3 June 2012.
- "FreeBSD – Raspberry Pi"., see also Raspbian#Software build
- "Raspberry Pi Software Is Rapidly Maturing". OSNews.
- "2.5 Introducing Sysinstall". FreeBSD.org. Retrieved 30 January 2009.
- "2012: a BSD year in retrospective". OSNews. Retrieved 9 August 2014.
- "Hackers obtained access to FreeBSD servers". H-Online. Retrieved 9 August 2014.
- "Hackers break into two FreeBSD Project servers using stolen SSH keys". Computer World. Retrieved 9 August 2014.
- "FreeBSD servers hacked". Techeye. Retrieved 9 August 2014.
- "FreeBSD 4.x EoL announcement". lists.FreeBSD.org. Retrieved 29 December 2012.
- Evans, Jason (16 April 2006). "A Scalable Concurrent malloc(3) Implementation for FreeBSD" (PDF). Retrieved 13 February 2008.
- "FreeBSD 7.0-RELEASE Announcement". FreeBSD.org. Retrieved 31 January 2009.
- Biancuzzi, Federico (26 February 2008). "What's New in FreeBSD 7.0". onlamp.com. Retrieved 26 February 2008.
- "Introducing FreeBSD 7.0". FreeBSD.org. Retrieved 31 January 2009.
- "FreeBSD 7.2-RELEASE Announcement". FreeBSD.org. Retrieved 4 May 2009.
- "FreeBSD 7.0-RELEASE Release Notes". FreeBSD.org. Retrieved 3 May 2009.
- "FreeBSD Project Announces Release of FreeBSD Version 8.0". The FreeBSD Project. 25 November 2009. Retrieved 27 November 2009.
- "FreeBSD 8.4-RELEASE Announcement". The FreeBSD Project. 7 June 2013. Retrieved 7 June 2013.
- "FreeBSD Project Announces Release of FreeBSD Version 9.0". The FreeBSD Project. 12 January 2012. Retrieved 12 January 2012.
- FreeBSD 9.1 Release Process
- FreeBSD 9.2 Release Process
- FreeBSD 9.3 Release Process
- Barber, Glen (20 January 2014). "FreeBSD 10.0-RELEASE now available". FreeBSD mailing list. Retrieved 8 February 2014.
- "What's new for FreeBSD 10". The FreeBSD Project. Retrieved 19 September 2013.
- "FreeBSD Handbook information on upgrading". FreeBSD.org. Retrieved 3 June 2012.
- Negus, Christopher; Caen, Francois (5 May 2008), BSD UNIX Toolbox: 1000+ Commands for FreeBSD, OpenBSD and NetBSD (First ed.), Wiley, p. 309, ISBN 0-470-37603-1
- Lavigne, Dru (24 May 2004), BSD Hacks (First ed.), O'Reilly Media, p. 448, ISBN 0-596-00679-9
- Lucas, Michael W. (14 November 2007), Absolute FreeBSD (Second ed.), No Starch Press, p. 744, ISBN 1-59327-151-4
- Lavigne, Dru; Lehey, Greg; Reed, Jeremy C. (20 December 2007), The Best of FreeBSD Basics (First ed.), Reed Media Services, p. 596, ISBN 0-9790342-2-1
- Hong, Bryan J. (1 April 2008), Building a Server with FreeBSD 7 (First ed.), No Starch Press, p. 288, ISBN 978-1-59327-145-9
- Tiemann, Brian; Urban, Michael (15 June 2006), FreeBSD 6 Unleashed (First ed.), Sams, p. 912, ISBN 0-672-32875-5
- Korff, Yanek; Hope, Paco; Potter, Bruce (March 2005), Mastering FreeBSD and OpenBSD Security (First ed.), O'Reilly Media, p. 464, ISBN 0-596-00626-8
- Lehey, Greg (April 2003), The Complete FreeBSD (Fourth ed.), O'Reilly Media, p. 720, ISBN 0-596-00516-4
- McKusick, Marshall K.; Neville-Neil, George V. (2 August 2004), The Design and Implementation of the FreeBSD Operating System (First ed.), Addison–Wesley, p. 720, ISBN 0-201-70245-2
- Mittelstaedt, Ted (15 December 2000), The FreeBSD Corporate Networker's Guide (First ed.), Addison–Wesley, p. 432, ISBN 0-201-70481-1
- Stokely, Murray; Lee, Chern (1 March 2004), The FreeBSD Handbook, Volume 1: User Guide (Third ed.), FreeBSD Mall, p. 408, ISBN 1-57176-327-9
- Stokely, Murray (1 September 2004), The FreeBSD Handbook, Volume 2: Admin Guide (Third ed.), FreeBSD Mall, p. 537, ISBN 1-57176-328-7
|Wikimedia Commons has media related to FreeBSD.|