RUNNING HEAD TITLE
FreeBSD
The Power of Open-Source Unix
Garduque Kenneth G.
Sorsogon State University – Bulan Campus
BS Information Technology
Oscillada Jessa
Table of contents
2
Abstract….………………………………………………………………………………….….3
Background and creation of FreeBSD…….……………………………………..……….4
LOGO………………………….…………………………………………………………..…….6
Features Of FreeBSD……..…………………………………..………………..…..……….…7
List Of Versions…………………………………...………………………..………………….10
Development…………………………………………………………………...…..……..…12
Licensing and Governance Structure………………..………………………………….13
References……………………………………………………………………...…………..…16
Abstract
3
FreeBSD is a powerful and versatile open-source operating system known for its exceptional
performance, stability, and robust networking capabilities. Rooted in the Unix-like tradition,
FreeBSD is designed to provide users with a high degree of control, scalability, and security for a
wide range of computing environments. FreeBSD is a mature and highly capable operating
system that combines the principles of Unix with modern features and robust performance,
making it a preferred choice for a wide variety of applications, from web hosting and network
infrastructure to research and development. Its commitment to open-source principles, security,
and performance continues to make it a compelling option in the world of operating systems.
Keywords: Powerful, Versatile, Robust, Scalability, Commitment.
4
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 "Berkeley Software Distribution" (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 first get a license from AT&T in order to use BSD.
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.
Creation Of FreeBSD
In 1992, several months after the release of Net-2, William 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. 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 so that they could keep the operating system
up to date. On 19 June 1993, the name FreeBSD was chosen for the project. The first version of
FreeBSD was released in November 1993.
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
5
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 later renamed itself to The FreeBSD Mall and
later iXsystems.
Today, FreeBSD is used by many IT companies such as IBM, Nokia, Juniper Networks,
and NetApp to build their products. Certain parts of Apple's Mac OS X operating system are
based on FreeBSD. Both the PlayStation 3 and Nintendo Switch operating system also borrow
certain components from FreeBSD,[7][8] while the PlayStation 4 operating system is derived
from FreeBSD 9. Netflix, WhatsApp, and FlightAware are also examples of large, successful
and heavily network-oriented companies which are running FreeBSD.
Logo
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. Several FreeBSD-specific
versions were later drawn by Tatsumi Hosokawa. 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
6
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. 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 would continue to use Beastie as its mascot. The name "FreeBSD" was coined by David
Greenman on 19 June 1993, other suggested names were "BSDFree86" and
"Free86BSD".FreeBSD's slogan, "The Power to Serve", is a trademark of The FreeBSD
Foundation.
Features of FreeBSD
Use cases: FreeBSD contains a significant
collection of server-related software in the
base system and the ports collection,
allowing FreeBSD to be configured and
used as a mail server, web server, firewall,
FTP server, DNS server and a router, among
other applications. FreeBSD can be installed on a regular desktop or a laptop. The X
Window System is not installed by default, but is available in the FreeBSD ports
collection. Wayland is also available for FreeBSD (unofficially supported). A number
of desktop environments such as Lumina, GNOME, KDE, and Xfce, as well as
lightweight window managers such as Openbox, Fluxbox, dwm, and bspwm, are also
available for FreeBSD. As of FreeBSD 12, support for a modern graphics stack is
available via drm-kmod. A large number of wireless adapters are supported.
FreeBSD releases installation images for supported platforms.
Since FreeBSD 13 the focus has been on x86-64 and aarch64 platforms
which have Tier 1
support. x86-32 is a Tier 1 platform in FreeBSD 12 but is a Tier 2 platform in
FreeBSD 13. 32 bit ARM processors using armv6 or armv7 also have Tier 2
7
support. 64 bit versions of PowerPC and RISC-V are also supported.
Interest in the RISC-V architecture has been growing. The MIPS architecture port has
been marked for deprecation and there is no image for any
currently supported version. FreeBSD 12 supports SPARC but there is no image for FreeBSD
13.
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.
FreeBSD also supports IPv6, SCTP, IPSec, and wireless networking (Wi-Fi). The IPv6
and IPSec stacks were taken from the KAME project. Prior to version 11.0, FreeBSD
supported IPX and AppleTalk protocols, but they are considered old and have now
been dropped.
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.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. 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.
8
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.
•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, e.g. it is the only tier "supported by the security officer".[54] Tier
3 architectures are experimental or are no longer under active development and
Tier 4 architectures have no support at all.
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. Additionally,
FreeBSD provides compatibility layers for several other Unix-like operating
9
systems, in addition to Linux, such as BSD/OS and SVR4, however, it is
more common for users to compile those programs directly on FreeBSD.
List Of Versions
FreeBSD 1: Released in November 1993. 1.1.5.1 was released in July 1994.
FreeBSD 2: 2.0-RELEASE was announced on 22 November 1994. FreeBSD 2.0 was
the first version of 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: FreeBSD 3.0-RELEASE was announced on 16 October 1998. FreeBSD
3.0 was the first branch able to support symmetric multiprocessing (SMP) systems,
using a Giant lock and marked the transition from a.out to ELF executables. USB
support was first introduced with FreeBSD 3.1, and the first Gigabit network cards
were supported in 3.2-RELEASE.
FreeBSD 4: 4.0-RELEASE appeared in March 2000[4] 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, was a favorite operating system for ISPs and web hosting
providers during the first dot-com bubble,[dubious – discuss] and is widely regarded[by
whom?] as one of the most stable and high-performance operating systems of the whole
Unix lineage.
FreeBSD 5: 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.
10
FreeBSD 6: FreeBSD 6.0 was released on 4 November 2005. The final
FreeBSD 6 release was 6.4, on 11 November 2008. These versions extended
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).
FreeBSD 7: FreeBSD 7.0 was released on 27 February 2008. The final
FreeBSD 7 release was 7.4, on 24 February 2011.
FreeBSD 8: FreeBSD 8.0 was officially released on 25 November 2009.
FreeBSD 9: FreeBSD 9.0 was released on 12 January 2012.
FreeBSD 10:On 20 January 2014, the FreeBSD Release Engineering Team
announced the availability of FreeBSD 10.0-RELEASE.
FreeBSD 10.1: Long Term Support Release FreeBSD 10.1-RELEASE was
announced 14 November 2014, and was supported for an
extended term until 31 December 2016. The subsequent 10.2-RELEASE
reached EoL on the same day.
FreeBSD 11: On 10 October 2016, the FreeBSD Release Engineering Team
announced the availability of FreeBSD 11.0-RELEASE.
11
FreeBSD 12: FreeBSD 12.0-RELEASE was announced in December 2018.
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-derived operating systems,
12
including OpenBSD and NetBSD.[100] In addition to BSDcon, three other annual conferences,
EuroBSDCon, AsiaBSDCon and BSDCan take place in Europe, Japan and Canada respectively.
(FreeBSD
GNOME Project)
License
FreeBSD is released under a variety of open-source licenses. The kernel code and most
newly created code are 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 the 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, CDDL and ISC. All the code licensed under GPL and
13
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.
Governance structure
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.
There are several kinds of committers, including source committers (base operating system), doc
committers (documentation and website authors) and ports (third-party application porting and
infrastructure). Every two years the FreeBSD committers select a 9-member FreeBSD Core
Team, which is responsible for overall project direction, setting and enforcing project rules and
approving new committers, or the granting of commit access to the source code repositories. 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. 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 do not have commit access to FreeBSD's source code
14
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.
Kernel
FreeBSD's kernel provides support for some essential tasks such as managing processes,
communication, booting and filesystems. FreeBSD has a monolithic kernel, with a 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. 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 and
NetBSD. Kernel threading was introduced in FreeBSD 5.0, using an M:N threading model. This
model works well in theory, 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.
15
References
Lehey, Greg (April 2003), The Complete FreeBSD (Fourth ed.), O'Reilly Media, p. 720.
Mittelstaedt, Ted (15 December 2000), The FreeBSD Corporate Networker's Guide (First ed.)
Lucas, Michael W. (14 November 2007), Absolute FreeBSD (Second ed.), No Starch Press, p. 744
https://en.wikipedia.org/wiki/FreeBSD