139 lines
6.1 KiB
XML
139 lines
6.1 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!DOCTYPE html PUBLIC "-//FreeBSD//DTD XHTML 1.0 Transitional-Based Extension//EN"
|
|
"http://www.FreeBSD.org/XML/doc/share/xml/xhtml10-freebsd.dtd" [
|
|
<!ENTITY title "About &os;'s Technological Advances">
|
|
]>
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>&title;</title>
|
|
|
|
<cvs:keyword xmlns:cvs="http://www.FreeBSD.org/XML/CVS">$FreeBSD$</cvs:keyword>
|
|
</head>
|
|
|
|
<body class="navinclude.about">
|
|
|
|
<h1>&os; offers many unique features.</h1>
|
|
|
|
<p>No matter what the application, an operating system should take
|
|
advantage of every resource available. &os;'s focus on
|
|
performance, networking, and storage combines with ease of system
|
|
administration and comprehensive documentation to realize the full
|
|
potential of any computer.</p>
|
|
|
|
<h2>A complete operating system based on 4.4BSD.</h2>
|
|
|
|
<p>&os;'s distinguished roots derive from the <b>BSD</b>
|
|
software releases from the Computer Systems Research Group at
|
|
the University of California, Berkeley. Over twenty years of
|
|
work have been put into enhancing &os;, adding
|
|
industry-leading scalability, network performance, management
|
|
tools, file systems, and security features. As a result,
|
|
&os; may be found across the Internet, in the operating system
|
|
of core router products, running root name servers, hosting
|
|
major web sites, and as the foundation for widely used desktop
|
|
operating systems. This is only possible because of the
|
|
diverse and world-wide membership of the
|
|
volunteer &os; Project.</p>
|
|
|
|
<p><b>&os; 9.0</b>, brings many new features
|
|
and performance enhancements with a special focus on desktop
|
|
support and security features.</p>
|
|
|
|
<ul>
|
|
<li><b>Capsicum Capability Mode</b>:
|
|
Capsicum is a set of features for sandboxing support, using
|
|
a capability model in which the capabilities are file
|
|
descriptors. Two new kernel options CAPABILITIES and
|
|
CAPABILITY_MODE have been added to the GENERIC kernel.</li>
|
|
|
|
<li><b>Hhook</b>: (Helper Hook) and khelp(9) (Kernel Helpers)
|
|
KPIs have been implemented. These are a superset of
|
|
pfil(9) framework for more general use in the kernel. The
|
|
hhook(9) KPI provides a way for kernel subsystems to export
|
|
hook points that khelp(9) modules can hook to provide
|
|
enhanced or new functionality to the kernel. The khelp(9)
|
|
KPI provides a framework for managing khelp(9) modules,
|
|
which indirectly use the hhook(9) KPI to register their hook
|
|
functions with hook points of interest within the kernel.
|
|
These allow a structured way to dynamically extend the
|
|
kernel at runtime in an ABI preserving manner.</li>
|
|
|
|
<li><b>Accounting API:</b> has been implemented. It can keep
|
|
per-process, per-jail, and per-login class resource
|
|
accounting information. Note that this is neither built nor
|
|
installed by default. To build and install this, specify
|
|
the option RACCT in the kernel configuration file and rebuild
|
|
the base system as described in the &os; Handbook.</li>
|
|
|
|
<li><b>Resource-limiting API:</b> has been implemented.
|
|
It works in conjunction with the RACCT resource accounting
|
|
implementation and takes user-configurable actions based on
|
|
the set of rules it maintains and the current resource
|
|
usage. The rctl(8) utility has been added to manage the
|
|
rules in userland. Note that this is neither built nor
|
|
installed by default.</li>
|
|
|
|
<li><b>USB:</b> subsystem now supports USB packet filter.
|
|
This allows capturing packets which go through each USB
|
|
host. The architecture of the packet filter is similar to that of
|
|
bpf. The userland program usbdump(8) has been
|
|
added.</li>
|
|
|
|
<li><b>Infiniband support:</b>, OFED (OpenFabrics Enterprise
|
|
Distribution) version 1.5.3 has been imported into the
|
|
base system.</li>
|
|
|
|
<li><b>TCP/IP network:</b> stack now supports the mod_cc(9)
|
|
pluggable congestion control framework. This allows TCP
|
|
congestion control algorithms to be implemented as
|
|
dynamically loadable kernel modules. Many kernel
|
|
modules are available: cc_chd(4) for the CAIA-Hamilton-Delay
|
|
algorithm, cc_cubic(4) for the CUBIC algorithm, cc_hd(4)
|
|
for the Hamilton-Delay algorithm, cc_htcp(4) for the H-TCP
|
|
algorithm, cc_newreno(4) for the NewReno algorithm, and
|
|
cc_vegas(4) for the Vegas algorithm. The default algorithm
|
|
can be set by a new sysctl(8) variable
|
|
net.inet.tcp.cc.algorithm.</li>
|
|
|
|
<li><b>SU+J:</b> &os;'s Fast File System now supports soft
|
|
updates with journaling. It introduces an intent log into
|
|
a softupdates-enabled file system which eliminates the need
|
|
for background fsck(8) even on unclean shutdowns.</li>
|
|
</ul>
|
|
|
|
<p><b>&os; 8.X</b> brought many new
|
|
features and performance enhancements. With special focus on
|
|
a new USB stack, &os; 8.X also shipped with experimental support
|
|
for NFSv4. A new TTY layer was introduced, which improves
|
|
scalability and resources handling in SMP enabled systems.</p>
|
|
|
|
<ul>
|
|
<li><b>Netisr framework:</b> has been reimplemented for
|
|
parallel threading support. This is a kernel network
|
|
dispatch interface which allows device drivers (and other
|
|
packet sources) to direct packets to protocols for directly
|
|
dispatched or deferred processing. The new implementation
|
|
supports up to one netisr thread per CPU, and several
|
|
benchmarks on SMP machines show substantial performance
|
|
improvement over the previous version.</li>
|
|
|
|
<li><b>Jail improvements:</b> Jails now support multiple IPv4
|
|
and IPv6 addresses per jail, and also support SCTP.
|
|
Hierarchies of jails (jails-within-jails) are now supported,
|
|
and jails can now be restricted to subsets of available
|
|
CPUs.</li>
|
|
|
|
<li><b>Linux emulation:</b> layer has been updated to version
|
|
2.6.16 and the default Linux infrastructure port is now
|
|
emulators/linux_base-f10 (Fedora 10).</li>
|
|
|
|
<li><b>Network Virtualization:</b> A container ("vimage") has
|
|
been implemented, extending the &os; kernel to maintain
|
|
multiple independent instances of networking state.
|
|
Vimage facilities can be used independently to create fully
|
|
virtualized network topologies, and jail(8) can directly
|
|
take advantage of a fully virtualized network stack.</li>
|
|
</ul>
|
|
</body>
|
|
</html>
|