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.