About FreeBSD's Technological Advances
FreeBSD offers many advanced features.
No matter what the application, you want your system's resources performing at their
full potential. FreeBSD's advanced features enable you to do just that.
A complete operating system based on 4.4BSD.
FreeBSD's distinguished roots derive from the latest BSD software releases from
the Computer Systems Research Group at the University of California, Berkeley. The book
The Design and Implementation of 4.4BSD Operating System, written by the 4.4BSD
system architects, thus describes much of FreeBSD's core functionality in detail.
Drawing on the skills and experience of a diverse and world-wide group of volunteer
developers, the FreeBSD Project has worked to extend the feature set of the 4.4BSD
operating system in many ways, striving constantly to make each new release of the OS
more stable, faster and containing new functionality driven by user requests.
FreeBSD provides higher performance, greater compatibility with other operating
systems and less system administration.
FreeBSD's developers attacked some of the more difficult problems in operating systems
design to give you these advanced features:
- A merged virtual memory and filesystem buffer cache continuously tunes the
amount of memory used for programs and the disk cache. As a result, programs receive both
excellent memory management and high performance disk access, and the system
administrator is freed from the task of tuning cache sizes.
- Compatibility modules enable programs for other operating systems to run on
FreeBSD, including programs for Linux, SCO UNIX, and System V Release 4.
- Soft Updates allows improved filesystem performance without sacrificing safety
and reliability. It analyzes meta-data filesystem operations to avoid having to perform
all of those operations synchronously. Instead, it maintains internal state about pending
meta-data operations and uses this information to cache meta-data, rewrite meta-data
operations to combine subsequent operations on the same files, and reorder meta-data
operations so that they may be processed more efficiently. Features such as background
filesystem checking and file system snapshots are built on the consistency and
performance foundations of soft updates.
- File system snapshots, permitting administrators to take atomic file system
snapshots for backup purposes using the free space in the file system, as well as
facilitating background fsck, which allows the system to reach multiuser mode
without waiting on file system cleanup operations following power outages.
- Support for IP Security (IPsec) allows improved security in networks, and
support for the next-generation Internet Protocol, IPv6. The FreeBSD IPsec implementation
includes support for a broad range of accelerated crypto hardware.
- Out of the box support for IPv6 via the KAME IPv6 stack allows FreeBSD to be
seamlessly integrated into next generation networking environments. FreeBSD even ships
with many applications extended to support IPv6!
- Multi-threaded SMP architecture capable of executing the kernel in parallel on
multiple processors, and with kernel preemption, allowing high priority kernel
tasks to preempt other kernel activity, reducing latency. This includes a
multi-threaded network stack and a multi-threaded virtual memory subsystem.
With FreeBSD 6.x, support for a fully parallel VFS allows the UFS file system to run on
multiple processors simultaneously, permitting load sharing of CPU-intensive I/O
optimization.
- M:N application threading via pthreads permitting threads to execute on
multiple CPUs in a scaleable manner, mapping many user threads onto a small number of
Kernel Schedulable Entities. By adopting the Scheduler Activation model,
the threading approach can be adapted to the specific requirements of a broad range of
applications.
- Netgraph pluggable network stack allows developers to dynamically and easily
extend the network stack through clean layered network abstractions. Netgraph nodes can
implement a broad range of new network services, including encapsulation, tunneling,
encryption, and performance adaptation. As a result, rapid prototyping and production
deployment of enhanced network services can be performed far more easily and with fewer
bugs.
- TrustedBSD MAC Framework extensible kernel security, which allows developers
to customize the operating system security model for specific environments, from creating
hardening policies to deploying mandatory labeled confidentiality of integrity policies.
Sample seucrity policies include Multi-Level Security (MLS), and Biba Integrity
Protection. Third party modules include SEBSD, a FLASK-based implementation of
Type Enforcement.
- GEOM pluggable storage layer, which permits new storage services to be quickly
developed and cleanly integrated into the FreeBSD storage subsystem. GEOM provides a
consistent and coherent model for discovering and layering storage services, making it
possible to layer services such as RAID and volume management easily.
- FreeBSD's GEOM-Based Disk Encryption (GBDE), provides strong cryptographic
protection using the GEOM Framework, and can protect file systems, swap devices, and
other use of storage media.
- Kernel Queues allow programs to respond more efficiently to a variety of
asynchronous events including file and socket IO, improving application and system
performance.
- Accept Filters allow connection-intensive applications, such as web servers,
to cleanly push part of their functionality into the operating system kernel, improving
performance.
FreeBSD provides many security features to protect networks and servers.
The FreeBSD developers are as concerned about security as they are about performance
and stability. FreeBSD includes kernel support for stateful IP firewalling, as
well as other services, such as IP proxy gateways, access control lists,
mandatory access control, jail-based virtual hosting, and
cryptographically protected storage. These features can be used to support highly
secure hosting of mutually untrusting customers or consumers, the strong partitioning of
network segments, and the construction of secure pipelines for information scrubbing and
information flow control.
FreeBSD also includes support for encryption software, secure shells, Kerberos
authentication, "virtual servers" created using jails, chroot-ing services to restrict
application access to the file system, Secure RPC facilities, and access lists for
services that support TCP wrappers.