This is a good article. Click here for more information.

FreeBSD

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
FreeBSD
Freebsd logo.svg
FreeBSD 10 Bootloader.png
FreeBSD 10 bootloader with ASCII art logo
Developer The FreeBSD Project
Written in {{#property:p277}}
OS family Unix-like (BSD)
Working state Current
Source model Open-source
Initial release November 1, 1993; 30 years ago (1993-11-01)
Latest release 10.2 (13 August 2015; 8 years ago (2015-08-13)) [±][1]
Marketing target Servers, workstations, embedded systems
Package manager pkg
Platforms IA-32, x86-64, 64-bit SPARC, PowerPC, ARM, MIPS
Kernel type Monolithic with dynamically loadable modules
Userland BSD
Default user interface Unix shell
License FreeBSD License, FreeBSD Documentation License
Official website www.freebsd.org

FreeBSD is a free and open-source Unix-like operating system descended from Research Unix via the Berkeley Software Distribution (BSD). FreeBSD is a direct descendant of BSD, which was historically called "BSD Unix" or "Berkeley Unix" (in violation of the UNIX trademark). The first version of FreeBSD was released in 1993, and as of 2005 FreeBSD was the most widely used open-source BSD operating system, accounting for more than three-quarters of all installed BSD systems.[2]

FreeBSD has similarities with Linux, with two major differences in scope and licensing: FreeBSD maintains a complete system, i.e. the project delivers a kernel, device drivers, userland utilities, and documentation, as opposed to Linux only delivering a kernel and drivers, and relying on third-parties for system software;[3] and FreeBSD source code is generally released under a permissive BSD license, as opposed to the copyleft GPL used by Linux.

The FreeBSD project includes a security team overseeing all software shipped in the base distribution. A wide range of additional third-party applications may be installed using the pkg package management system or FreeBSD Ports, or by compiling source code.

Due to its licensing, much of FreeBSD's codebase has become an integral part of other operating systems, such as Apple's Darwin (the basis for macOS, iOS, watchOS, and tvOS), FreeNAS (an open-source NAS/SAN operating system), the Nintendo Switch system software,[4][5][6] and the system software for Sony's PlayStation 3[7][8] and PlayStation 4.[9]

History

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Background

In 1974, Professor Bob Fabry of the University of California, Berkeley, acquired a Unix source license from AT&T. Supported by funding from DARPA, the Computer Systems Research Group started to modify and improve AT&T Research Unix. They called this modified version "Berkeley Unix" or "BSD", implementing features such as TCP/IP, virtual memory, and the Berkeley Fast File System. The BSD project was founded in 1976 by Bill Joy. But since BSD contained code from AT&T Unix, all recipients had to get a license from AT&T first in order to use BSD.[10]

In June 1989, "Networking Release 1" or simply Net-1 – the first public version of BSD – was released. After releasing Net-1, Keith Bostic, a developer of BSD, suggested replacing all AT&T code with freely-redistributable code under the original BSD license. Work on replacing AT&T code began and, after 18 months, much of the AT&T code was replaced. However, six files containing AT&T code remained in the kernel. The BSD developers decided to release the "Networking Release 2" (Net-2) without those six files. Net-2 was released in 1991.[10]

Birth of FreeBSD

In 1992, several months after the release of Net-2, William Jolitz and Lynne Jolitz wrote replacements for the six AT&T files, ported BSD to Intel 80386-based microprocessors, and called their new operating system 386BSD. They released 386BSD via an anonymous FTP server.[10] The development flow of 386BSD was slow and after a period of neglect, a group of 386BSD users decided to branch out on their own and create FreeBSD so that they could keep the operating system up to date. On 19 June 1993, the name FreeBSD was chosen for the project.[11] The first version of FreeBSD was released on November 1993.[12][10]

In 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 and later iXsystems.[13][14][15]

Today, FreeBSD is used by many IT companies such as IBM, Nokia, Juniper Networks, and NetApp to build their product.[16][17] Certain parts of Apple's Mac OS X operating system are based on FreeBSD.[18] The PlayStation 3 operating system also borrows certain components from FreeBSD,[7][8] while the PlayStation 4 operating system is derived from FreeBSD 9.[19] Netflix,[20] WhatsApp,[21] and FlightAware[22] are also examples of big, successful and heavily network-oriented companies which are running FreeBSD.

Lawsuit

386BSD and FreeBSD were both derived from 1992's BSD release.[16] In January 1992, Berkeley Software Design Inc. (BSDi) started to release BSD/386, later called BSD/OS, an operating system similar to FreeBSD and based on 1992's BSD release. AT&T filed a lawsuit against BSDi and alleged distribution of AT&T source code in violation of license agreements. The lawsuit was settled out of court and the exact terms were not all disclosed. The only one that became public was that BSDi would migrate their source base to the newer 4.4BSD-Lite sources. Although not involved in the litigation, it was suggested to FreeBSD that they should also move to 4.4BSD-Lite.[23] FreeBSD 2.0, which was released on November 1994, was the first version of FreeBSD without any code from AT&T.[24]

Features

FreeBSD 9.1 startup with console login prompt

Uses

As a general purpose operating system, FreeBSD is used in various scenarios:[25]

Servers
FreeBSD contains a significant collection of server-related software in the base system and the ports collection, it is possible to configure and use FreeBSD as a mail server, web server, Firewall, FTP server, DNS server and a router, among other applications.
Desktop
The X Window System is not installed by default, but is available in the FreeBSD ports collection. A number of Desktop environments such as GNOME, KDE and Xfce, and lightweight window managers such as Openbox, Fluxbox and dwm are also available to FreeBSD.[26]
Embedded systems
Although it explicitly focuses on the IA-32 and x86-64 platforms, FreeBSD also supports others such as ARM, PowerPC and MIPS to a lesser degree.

Networking

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.[27] FreeBSD also supports IPv6,[28] SCTP, IPSec, and wireless networking (Wi-Fi).[29] The IPv6 and IPSec stacks were taken from the KAME project.[30] Also, FreeBSD supports IPX and AppleTalk protocols, but they are considered old and it is planned to drop support of them in the upcoming FreeBSD 11.0.[31]

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.[32]

Storage

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.[33] Filesystem snapshots allow an image of a UFS filesystem at an instant in time to be efficiently created.[34] 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.[35] FreeBSD provides two frameworks for data encryption: GBDE and Geli. Both GBDE and Geli operate 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 written by Pawel Jakub Dawidek and first appeared in FreeBSD 6.0.[36][37]

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 implementation via the OpenZFS project.[38]

Security

FreeBSD provides several security-related features including access control lists (ACLs),[39] security event auditing, extended file system attributes, mandatory access controls (MAC)[40] and fine-grained capabilities.[41] 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.[42] 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.[43]

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 GEOM and OpenPAM.[41]

Most components of the TrustedBSD project are eventually folded into the main sources for FreeBSD. In addition, many features, once fully matured, find their way into other operating systems. For example, OpenPAM has been adopted by NetBSD.[44] Moreover, the TrustedBSD MAC Framework has been adopted by Apple for macOS.[45]

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.[46]

Taken from OpenBSD, the OpenSSH program was included in default install. OpenSSH is a Free implementation of the SSH protocol and is a replacement for telnet. Unlike telnet, OpenSSH encrypts all information (including username and password).[47]

In 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 occurred on 19 September. Apparently hackers gained access to these servers by stealing SSH keys from one of the 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 were downloaded between 19 September and 11 November.[48][49][50]

Portability

FreeBSD has been ported to a variety of instruction set 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 January 2018, FreeBSD has been ported to the following architectures:[51]

Architecture Support level[52] Notes
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", support removed in 12-CURRENT[53]
64-bit SPARC Tier 2 only 64-bit (V9) architecture
32-bit and 64-bit PowerPC Tier 2
32-bit ARM Tier 2
64-bit ARM Tier 2
IA-64 Tier 3 unsupported as of 11.0
MIPS Tier 3
RISC-V Tier 3 only in 12-CURRENT
DEC Alpha Tier 4 support discontinued in 7.0

The ARM and MIPS support is mostly aimed at embedded systems, however FreeBSD/ARM runs on a number of single-board computers, including the BeagleBone Black, Raspberry Pi[54][55] and Wandboard.[56]

Third-party software

Lua error in Module:Details at line 30: attempt to call field '_formatLink' (a nil value).

File:FreeBSD 11.0 with Xfce 4.12.png
Screenshot of FreeBSD 11.0 running the Xfce 4.12 user interface.

FreeBSD has a software repository of over 26,000 applications that are developed by third parties. Examples include: windowing systems, web browsers, email clients, 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, which is known as the Ports collection. Applications may either be compiled from source ("ports"), provided their licensing terms allow this, or downloaded as pre-compiled binaries ("packages").[57] The Ports collection supports the current and stable branches of FreeBSD. Older releases are not supported and may or may not work correctly with an up-to-date Ports collection.[58]

Ports use Makefile to automatically fetch the desired application's source code, either from a local or remote repository, unpack it on the system, apply patches to it and compile it.[3][59] Depending on the size of the source code, compiling can take a long time, but it gives the user more control over the process and its result. Most ports also have package counterparts (i.e. pre-compiled binaries), giving the user a choice. Although this method is faster, the user has fewer customisation options.[57]

FreeBSD version 10.0 introduced the package manager pkg as a replacement for the previously used package tools.[60] It is functionally similar to apt and yum in Linux distributions. It allows for installation, upgrading and removal of both ports and packages. In addition to pkg, PackageKit can also be used to access the Ports collection.

Jails

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

First introduced in FreeBSD version 4,[61] jails are a security mechanism and an implementation of operating-system-level virtualization that enables the user to run multiple instances of a guest operating system on top of a FreeBSD host. It is an enhanced version of the traditional chroot mechanism. A process that runs within such a jail is unable to access the resources outside of it. Every jail has its own hostname and IP address. It is possible to run multiple jails at the same time, but the kernel is shared among all of them. Hence only software supported by the FreeBSD kernel can be run within a jail.[62]

Virtualization

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

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, Linux, and Microsoft Windows[63]) simultaneously. Other operating systems such as Illumos are planned. bhyve was written by Neel Natu 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.[64][65][66] For comparison, bhyve is a similar technology to KVM whereas jails are closer to LXC containers or Solaris Zones.

VirtualBox (without the closed-source Extension Pack) and QEMU are available on FreeBSD.

OS compatibility layers

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. This compatibility layer is not an emulation; Linux's system call interface is implemented in the FreeBSD's kernel and hence, Linux executable images and shared libraries are treated the same as FreeBSD's native executable images and shared libraries.[67] Additionally, FreeBSD provides compatibility layers for several other Unix-like operating systems, in addition to Linux, such as BSD/OS and SVR4,[67] however, it is more common for users to compile those programs directly on FreeBSD.[68]

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.[69][70] 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.18, available since FreeBSD 7.0. As of release 10.3, FreeBSD can run 64-bit Linux binaries.[71]

FreeBSD has implemented a number of Microsoft Windows native NDIS kernel interfaces to allow FreeBSD to run Windows-only network drivers.[72][73]

Kernel

FreeBSD's kernel provides support for some essential tasks such as managing processes, communication, booting and filesystems. FreeBSD has a monolithic kernel,[74] with modular design. Different parts of the kernel, such as drivers, are designed as modules. The user can load and unload these modules at any time.[75] ULE is the default scheduler in FreeBSD since version 7.1, it supports SMP and SMT.[76] The FreeBSD kernel has also a scalable event notification interface, named kqueue. It has been ported to other BSD-derivatives such as OpenBSD, NetBSD.[77] Kernel threading was introduced in FreeBSD 5.0, using an M:N threading model. This model works well in theory,[78][79] but it is hard to implement and few operating systems support it. Although FreeBSD's implementation of this model worked, it did not perform well, so from version 7.0 onward, FreeBSD started using a 1:1 threading model, called libthr.[79]

Documentation and support

FreeBSD's documentation consists of its handbooks, manual pages, mailing list archives, FAQs and a variety of articles, mainly maintained by The FreeBSD Documentation Project. FreeBSD's documentation is translated into several languages.[80] All official documentation is released under the FreeBSD Documentation License, "a permissive non-copyleft free documentation license that is compatible with the GNU FDL".[81] FreeBSD's documentation is described as "high-quality".[82][83]

The FreeBSD project maintains a variety of mailing lists.[84] Among the most popular mailing lists are FreeBSD-questions (general questions) and FreeBSD-hackers (a place for asking more technical questions).[85]

Since 2004, the New York City BSD Users Group database provides dmesg information from a collection of computers (laptops, workstations, single-board computers, embedded systems, virtual machines, etc.) running FreeBSD.[86]

Installers

From version 2.0 to 9.0, FreeBSD used the sysinstall program as its main installer. It was written in C by Jordan Hubbard. 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.[87]

The sysinstall utility is now considered deprecated in favor of bsdinstall, a new installer which was introduced in FreeBSD 9.0. bsdinstall is "a lightweight replacement for sysinstall" that was written in sh. 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".[62][88]

Shell

The default FreeBSD shell is the tcsh shell.[89]

Development

FreeBSD is developed by a volunteer team located around the world. The developers use the Internet for all communication and many have not met each other in person. In addition to local user groups sponsored and attended by users, an annual conference, called BSDcon, is held by USENIX. BSDcon is not FreeBSD-specific so it deals with the technical aspects of all BSD operating systems, including OpenBSD and NetBSD.[90] In addition to BSDcon, three other annual conferences, EuroBSDCon, AsiaBSDCon and BSDCan take place in Europe, Japan and Canada respectively.[91][92][93]

Governance structure

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

The FreeBSD Project is run by around 500 committers, or developers who have commit access to the master source code repositories and can develop, debug or enhance any part of the system. Most of the developers are volunteers and few developers are paid by some companies.[16] 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 commiters, or the granting of SVN commit access. A number of responsibilities are officially assigned to other development teams by the FreeBSD Core Team, for example, responsibility for managing the ports collection is delegated to the Ports Management Team.[94]

In addition to developers, FreeBSD has thousands of "contributors". Contributors are also volunteers outside of the FreeBSD project who submit patches for consideration by committers, as they don't have direct access to FreeBSD's source code repository. Committers then evaluate contributors submissions and decide what to accept and what to reject. A contributor who submits high-quality patches is often asked to become a committer.[94]

Branches

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.[95][3]

Foundation

<templatestyles src="Template:Quote_box/styles.css" />

"Last week, I donated one million dollars to the FreeBSD Foundation, which supports the open source operating system that has helped millions of programmers pursue their passions and bring their ideas to life. I’m actually one of those people. I started using FreeBSD in the late 90s, when I didn’t have much money and was living in government housing. In a way, FreeBSD helped lift me out of poverty – one of the main reasons I got a job at Yahoo! is because they were using FreeBSD, and it was my operating system of choice. Years later, when Brian and I set out to build WhatsApp, we used FreeBSD to keep our servers running. We still do. I’m announcing this donation to shine a light on the good work being done by the FreeBSD Foundation, with the hope that others will also help move this project forward. We’ll all benefit if FreeBSD can continue to give people the same opportunity it gave me – if it can lift more immigrant kids out of poverty, and help more startups build something successful, and even transformative."

Jan Koum

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

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.[96]

In November 2014, the FreeBSD Foundation received 1 million USD donation from Jan Koum, Co-Founder and CEO of WhatsApp, - the largest single donation to the Foundation since its inception. In December 2016, Jan Koum donated another 500 thousand dollars.[97] Jan Koum himself is a FreeBSD user since the late 1990s and WhatsApp uses FreeBSD on its servers.[98]

License

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[99] and Open Source Initiative[100] 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,[101] such as the Atheros HAL of FreeBSD versions before 7.2.[102] Some of the code contributed by other projects is licensed under GPL, LGPL, CDDL[103] and ISC. 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-licensed LLVM/Clang compiler. ClangBSD became self-hosting on 16 April 2010.[104]

For many years FreeBSD's logo was the generic BSD Daemon, also called Beastie, a distorted pronunciation of BSD. However, Beastie was not unique to FreeBSD. 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.[105][106] Several FreeBSD-specific versions were later drawn by Tatsumi Hosokawa.[107]

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. Also, the BSD daemon was thought to be too graphically detailed for smooth size scaling and aesthetically over-dependent on 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.[108][109][110] However, it was announced by Robert Watson that, the FreeBSD project is "seeking a new logo, but not a new mascot" and that the FreeBSD project will continue to use Beastie as its mascot.[108]

The name "FreeBSD" was coined by David Greenman on 19 June 1993, other suggested names were "BSDFree86" and "Free86BSD".[111] FreeBSD's slogan, "The Power to Serve", is a trademark of The FreeBSD Foundation.[112]

Derivatives

Lua error in Module:Details at line 30: attempt to call field '_formatLink' (a nil value).

PC-BSD version 7; the operating system is now known as TrueOS.

There are a number of software distributions based on FreeBSD including:

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 are some independent operating systems based on FreeBSD. DragonFly BSD is 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.[113] It does not aim to stay compatible with FreeBSD and has huge differences in the kernel and basic userland. MidnightBSD is a fork of FreeBSD 6.1 borrowing heavily from NeXTSTEP, particularly in the user interface department.

Darwin, the core of Apple macOS, includes a virtual file system and network stack derived from the FreeBSD virtual file system and network stack, and components of its userspace are also FreeBSD-derived.[18][114]

Some subscription services that are directly based on FreeBSD are:

Embedded devices and embedded device operating systems based on FreeBSD include:

Version history

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Legend: Old version Older version, still supported Current version Latest preview version Future release
Version Release date Supported until Significant changes
Old version, no longer supported: 1.0 November 1993
  • The first official release.
  • The Ports Collection
Old version, no longer supported: 1.1 May 1994
Old version, no longer supported: 2.0 22 November 1994
  • replace code base with BSD-Lite 4.4 (to satisfy terms of the USL v. BSDi lawsuit settlement)
  • new installer and new boot manager
  • loadable filesystems support for more filesystems (MS-DOS, unionfs, kernfs)
  • imported loadable kernel modules from NetBSD
Old version, no longer supported: 2.1.5 16 July 1996
Old version, no longer supported: 2.1.7 17 February 1997
Old version, no longer supported: 2.2 March 1997
Old version, no longer supported: 2.2.8 29 November 1998
Old version, no longer supported: 3.0 16 October 1998
Old version, no longer supported: 3.1 15 February 1999
Old version, no longer supported: 3.2 17 May 1999
Old version, no longer supported: 3.3 15 September 1999
Old version, no longer supported: 3.4 20 December 1999
Old version, no longer supported: 3.5 25 June 2000
Old version, no longer supported: 3.5.1 27 July 2000
Old version, no longer supported: 4.0 14 March 2000 [121] January 31, 2007; 17 years ago (2007-01-31) [122]
  • IPv6 support and IPsec with KAME (applications were also updated to support IPv6)
  • OpenSSH integrated into the base system
  • emulator for SVR4 binary files
  • new jail(2) system call and jail(8) admin command added[123]
Old version, no longer supported: 4.1 27 July 2000 [124]
  • Kqueue event notification interface
Old version, no longer supported: 4.1.1 7 November 2000
Old version, no longer supported: 4.2 21 November 2000
Old version, no longer supported: 4.3
Old version, no longer supported: 4.4
Old version, no longer supported: 4.5 29 January 2002
Old version, no longer supported: 4.6
Old version, no longer supported: 4.7
Old version, no longer supported: 4.8 3 April 2003 31 March 2004
Old version, no longer supported: 4.9
Old version, no longer supported: 4.10 27 May 2004 May 2006
Old version, no longer supported: 4.11 25 January 2005 31 January 2007
Old version, no longer supported: 5.0 14 January 2003 30 June 2003
Old version, no longer supported: 5.1 9 June 2003 February 2004
  • experimental support for AMD64
  • experimental 1:1 and M:N thread libraries for multithreaded processing
  • experimental ULE scheduler
Old version, no longer supported: 5.3 6 November 2004 31 October 2006
  • ALTQ
  • addition of new debugging framework KDB
  • import pf from OpenBSD
  • binary compatibility interface for native execution of NDIS drivers
  • replace XFree86 with X.Org 6.7
  • cryptography enabled by default in base
Old version, no longer supported: 5.4 9 May 2005 31 October 2006
Old version, no longer supported: 6.0 1 November 2005
  • Performance monitoring counters support
  • New WiFi stack
  • GELI
  • Network bridging
  • NanoBSD utility
  • NDIS driver support
Old version, no longer supported: 6.1 8 May 2006
  • Keyboard multiplexer
  • UFS filesystem stability
  • Bluetooth autoconfiguration
  • Additional Ethernet and RAID drivers
Old version, no longer supported: 6.2 15 January 2007 31 May 2008
  • support for Xbox architecture
  • OpenBSM audit subsystem
  • freebsd-update (binary updates for security fixes and errata patches)
Old version, no longer supported: 7.0 27 February 2008 30 April 2009
Old version, no longer supported: 7.1 4 January 2009 28 February 2011
Old version, no longer supported: 8.0 26 November 2009
Old version, no longer supported: 8.1 23 July 2010 31 July 2012
  • Xen guest support
  • High Availability Storage
  • Native NFSv4 ACL support
Old version, no longer supported: 8.2 24 February 2011
Old version, no longer supported: 8.3 9 April 2012 30 April 2014
Old version, no longer supported: 8.4 9 June 2013 1 August 2015
Old version, no longer supported: 9.0 12 January 2012 31 March 2013
  • Capsicum capability-based security mechanism
  • UFS SoftUpdates+Journal
  • ZFS updated to version 28
  • bsdinstall, the new system installation program
  • RCTL, a flexible resource limits mechanism
  • GRAID, flexible software RAID implementation
  • virtio drivers
Old version, no longer supported: 9.1 30 December 2012[125] 31 December 2014
  • pkgng[126]
  • CTL, kernel SCSI target layer subsystem
Old version, no longer supported: 9.2 30 September 2013 31 December 2014
  • bsdconfig, system configuration utility
Old version, no longer supported: 9.3 16 July 2014 December 2016, 31; 7 years ago (31-12-2016)
  • vt, the new virtual terminal implementation
Old version, no longer supported: 10/stable October 31, 2018; 5 years ago (2018-10-31)[127] -
Old version, no longer supported: 10.0 20 January 2014 28 February 2015
  • BHyVe hypervisor
  • Clang replaced GCC on supported architectures
  • New iSCSI stack
  • NAND framework
  • BIND replaced with LDNS and Unbound in base system
  • ZFS on Root File system
  • Added support for Raspberry Pi
  • pkg is the next generation FreeBSD package manager, also referred to as pkgng[128]
Old version, no longer supported: 10.1 14 November 2014 31 December 2016[129]
  • Virtualization improvements (FreeBSD/i386 guests in bhyve, boot from ZFS)
  • UEFI boot for amd64
  • Support for UDP Lite protocol (RFC 3828)
  • ZFS performance improvements
  • SMP support for armv6
  • New autofs-based automounter
Old version, no longer supported: 10.2 13 August 2015 31 December 2016[129]
  • Linux compatibility version updated to support CentOS 6 ports
  • DRM code updated to match Linux 3.8.13, allowing multiple simultaneous X servers
  • ZFS reliability and performance improvements
  • GNOME, KDE, resolvconf, and ntp versions updated
  • Several enhancements to FreeBSD/arm support
Old version, no longer supported: 10.3 4 April 2016 30 April 2018[129]
  • Support for 64-bit Linux binaries through the compatibility layer
  • ZFS booting via UEFI
  • Automatic root-on-ZFS UEFI installations
  • GNOME, X.Org Server, TeX Live, and xz versions updated
Old version, no longer supported: 10.4 3 October 2017[130] October 31, 2018; 5 years ago (2018-10-31)[131]
  • Support for eMMC storage and Intel Kaby Lake devices
  • em(4) driver capable of WOL with Intel i217, i218 and i219 chips
  • OpenSSH, GNOME, and Xorg-Server has been updated
  • fsck_ffs(8) utility finds alternate superblocks
Current stable version: 11/stable - September 30, 2021; 2 years ago (2021-09-30)[132] -
Old version, no longer supported: 11.0 10 October 2016[133] November 30, 2017[134]
  • New version of NetMap[135]
Old version, no longer supported: 11.1 26 July 2017[136] September 30, 2018[137]
Current stable version: 11.2[138] 27 June 2018[139][140][141]
  • umount(8) -N new flag which is used to forcefully unmount an NFS mounted filesystem
  • crontab -f new flag added
Future release: 12.0 4 December 2018[142] Currently under active development, so many things may change. Some initial notes:
  • Current UPDATING file[143]
  • What's New in FreeBSD 12[144]
  • 12.0 Release Notes Template[145]
Version Release date Supported until Significant changes

See also

References

Citations

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. 3.0 3.1 3.2 Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. 7.0 7.1 Lua error in package.lua at line 80: module 'strict' not found.
  8. 8.0 8.1 Lua error in package.lua at line 80: module 'strict' not found.
  9. http://doc.dl.playstation.net/doc/ps4-oss/
  10. 10.0 10.1 10.2 10.3 Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lucas 2007, pp. 4-5.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. 16.0 16.1 16.2 Lucas 2007, p. 5.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. 18.0 18.1 Lua error in package.lua at line 80: module 'strict' not found.
  19. 19.0 19.1 Lua error in package.lua at line 80: module 'strict' not found.
  20. https://lists.freebsd.org/pipermail/freebsd-stable/2012-June/068129.html
  21. https://www.freebsdfoundation.org/press/2013Jul-newsletter#whatsapp
  22. http://flightaware.com/about/code/freebsd.rvt
  23. Lehey 2003, p. 8.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lucas 2007, p. 220.
  35. Lucas 2007, 18. DISK TRICKS WITH GEOM.
  36. Lua error in package.lua at line 80: module 'strict' not found.
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.
  40. Lua error in package.lua at line 80: module 'strict' not found.
  41. 41.0 41.1 Lua error in package.lua at line 80: module 'strict' not found.
  42. Lua error in package.lua at line 80: module 'strict' not found.
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Lua error in package.lua at line 80: module 'strict' not found.
  46. Lucas 2007, p. 273.
  47. Lucas 2007, p. 440.
  48. Lua error in package.lua at line 80: module 'strict' not found.
  49. Lua error in package.lua at line 80: module 'strict' not found.
  50. Lua error in package.lua at line 80: module 'strict' not found.
  51. Lua error in package.lua at line 80: module 'strict' not found.
  52. Lua error in package.lua at line 80: module 'strict' not found.
  53. Lua error in package.lua at line 80: module 'strict' not found.
  54. Lua error in package.lua at line 80: module 'strict' not found., see also Raspbian#Software build
  55. Lua error in package.lua at line 80: module 'strict' not found.
  56. Lua error in package.lua at line 80: module 'strict' not found.
  57. 57.0 57.1 Lucas, p. 317.
  58. Lua error in package.lua at line 80: module 'strict' not found.
  59. Lua error in package.lua at line 80: module 'strict' not found.
  60. Lua error in package.lua at line 80: module 'strict' not found.
  61. https://www.freebsd.org/releases/4.0R/announce.html
  62. 62.0 62.1 Lua error in package.lua at line 80: module 'strict' not found.
  63. Lua error in package.lua at line 80: module 'strict' not found.
  64. Lua error in package.lua at line 80: module 'strict' not found.
  65. Lua error in package.lua at line 80: module 'strict' not found.
  66. Lua error in package.lua at line 80: module 'strict' not found.
  67. 67.0 67.1 Lua error in package.lua at line 80: module 'strict' not found.
  68. Lehey 2003, p. 162.
  69. Lua error in package.lua at line 80: module 'strict' not found.
  70. Lua error in package.lua at line 80: module 'strict' not found.
  71. Lua error in package.lua at line 80: module 'strict' not found.
  72. Lua error in package.lua at line 80: module 'strict' not found.
  73. Lua error in package.lua at line 80: module 'strict' not found.
  74. McKusick & Neville-Neil 2004, Chapter 2. Design Overview of FreeBSD.
  75. Michael Lucas 2007, p. 118.
  76. Lua error in package.lua at line 80: module 'strict' not found.
  77. Lua error in package.lua at line 80: module 'strict' not found.
  78. Lua error in package.lua at line 80: module 'strict' not found.
  79. 79.0 79.1 Lucas 2007, p. 359.
  80. Lucas 2007, p. 25.
  81. Lua error in package.lua at line 80: module 'strict' not found.
  82. Lehey 2003, p. 16.
  83. Lua error in package.lua at line 80: module 'strict' not found.
  84. Lua error in package.lua at line 80: module 'strict' not found.
  85. Lehey 2003, p. 17.
  86. Lua error in package.lua at line 80: module 'strict' not found.
  87. Lua error in package.lua at line 80: module 'strict' not found.
  88. Lua error in package.lua at line 80: module 'strict' not found.
  89. https://www.freebsd.org/doc/en_US.ISO8859-1/articles/linux-users/shells.html
  90. Lehey 2003, p. 20.
  91. Lua error in package.lua at line 80: module 'strict' not found.
  92. Lua error in package.lua at line 80: module 'strict' not found.
  93. Lua error in package.lua at line 80: module 'strict' not found.
  94. 94.0 94.1 Lucas 2007, p. 6.
  95. Lucas 2007, pp. 372-375.
  96. Lua error in package.lua at line 80: module 'strict' not found.
  97. Lua error in package.lua at line 80: module 'strict' not found.
  98. Lua error in package.lua at line 80: module 'strict' not found.
  99. Lua error in package.lua at line 80: module 'strict' not found.
  100. Lua error in package.lua at line 80: module 'strict' not found.
  101. Lua error in package.lua at line 80: module 'strict' not found.
  102. Lua error in package.lua at line 80: module 'strict' not found.
  103. Lua error in package.lua at line 80: module 'strict' not found.
  104. Lua error in package.lua at line 80: module 'strict' not found.
  105. Lua error in package.lua at line 80: module 'strict' not found.
  106. Lua error in package.lua at line 80: module 'strict' not found.
  107. 108.0 108.1 Lua error in package.lua at line 80: module 'strict' not found.
  108. Lua error in package.lua at line 80: module 'strict' not found.
  109. Lua error in package.lua at line 80: module 'strict' not found.
  110. Lua error in package.lua at line 80: module 'strict' not found.
  111. Lua error in package.lua at line 80: module 'strict' not found.
  112. Lua error in package.lua at line 80: module 'strict' not found.
  113. Lua error in package.lua at line 80: module 'strict' not found.
  114. 115.0 115.1 Lua error in package.lua at line 80: module 'strict' not found.
  115. Lua error in package.lua at line 80: module 'strict' not found.
  116. Lua error in package.lua at line 80: module 'strict' not found.
  117. Lua error in package.lua at line 80: module 'strict' not found.
  118. Lua error in package.lua at line 80: module 'strict' not found.
  119. Lua error in package.lua at line 80: module 'strict' not found.
  120. https://www.freebsd.org/releases/4.0R/announce.html
  121. https://lists.freebsd.org/pipermail/freebsd-security/2006-October/004111.html
  122. https://www.freebsd.org/releases/4.0R/notes.html
  123. https://www.freebsd.org/releases/
  124. https://www.freebsd.org/releases/9.1R/announce.html
  125. Lua error in package.lua at line 80: module 'strict' not found.
  126. https://www.freebsd.org/security/security.html
  127. https://www.freebsd.org/releases/10.0R/relnotes.html
  128. 129.0 129.1 129.2 Lua error in package.lua at line 80: module 'strict' not found.
  129. Lua error in package.lua at line 80: module 'strict' not found.
  130. Lua error in package.lua at line 80: module 'strict' not found.
  131. https://www.freebsd.org/security/#sup
  132. Lua error in package.lua at line 80: module 'strict' not found.
  133. <https://www.freebsd.org/security/unsupported.html
  134. Lua error in package.lua at line 80: module 'strict' not found.
  135. Lua error in package.lua at line 80: module 'strict' not found.
  136. Lua error in package.lua at line 80: module 'strict' not found.
  137. DistroWatch Weekly, Issue 769, 25 June 2018
  138. Lua error in package.lua at line 80: module 'strict' not found.
  139. FreeBSD 11.2-RELEASE Announcement
  140. DistroWatch Weekly, Issue 770, 2 July 2018
  141. Lua error in package.lua at line 80: module 'strict' not found.
  142. Lua error in package.lua at line 80: module 'strict' not found.
  143. Lua error in package.lua at line 80: module 'strict' not found.
  144. Lua error in package.lua at line 80: module 'strict' not found.

Sources

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.

External links