New Features
A large attraction of FreeBSD 5.X is a number of new features. These new features and functionality generally involve large architectural changes that were not feasible to port back to the FreeBSD 4-STABLE development branch. (By contrast, many self-contained enhancements, such as new device drivers or userland utilities, have already been ported.) A brief, but not exhaustive list includes:
SMPng: The ``next generation'' support for SMP machines (work in progress). Ongoing work aims to perform fine-grained locking of various kernel subsystems to increase the number of threads of execution that can be running in the kernel. More information can be found on the FreeBSD SMP Project page.
KSE: Kernel Scheduled Entities allow a single process to have multiple kernel-level threads, similar to Scheduler Activations. The libkse and libthr threading libraries make this feature available to multi-threaded userland programs, using the pthread(3) API.
New architectures: Support for the sparc64, ia64, and amd64 architectures, in addition to the i386, pc98, and alpha.
GCC: The compiler toolchain is now based on GCC 3.3.X, rather than GCC 2.95.X.
MAC: Support for extensible, loadable Mandatory Access Control policies.
GEOM: A flexible framework for transformations of disk I/O requests. The GBDE experimental disk encryption facility has been developed based on GEOM.
FFS: The FFS filesystem now supports background fsck(8) operations (for faster crash recovery) and filesystem snapshots.
UFS2: A new UFS2 on-disk format has been added, which supports extended per-file attributes and larger file sizes. UFS2 is now the default format for newfs(8). On all platforms except for pc98, filesystems created from within sysinstall(8) will use UFS2 by default.
Cardbus: Support for Cardbus devices.
Bluetooth: Support for Bluetooth devices.
A more comprehensive list of new features can be found in the release notes for the various FreeBSD 5.X releases. |