80c9cb592a
simular should be simulate Submitted by: Johnny Eriksson <bygg at cafax.se>
202 lines
8.2 KiB
XML
202 lines
8.2 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/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 worldwide membership of the
|
|
volunteer &os; Project.</p>
|
|
|
|
<p><b>&os; 10.X</b> introduces many new features
|
|
and replaces many legacy tools with updated versions.</p>
|
|
|
|
<ul>
|
|
<li><b>bhyve</b>:
|
|
A new BSD licensed, legacy-free hypervisor has been imported
|
|
to the &os; base system. It is currently able to run all
|
|
supported versions of &os;, and with the help of the
|
|
grub-bhyve port, OpenBSD and Linux.</li>
|
|
|
|
<li><b>KMS And New drm2 Video Drivers</b>:
|
|
The new drm2 driver provides support for AMD GPUs up to the
|
|
Radeon HD 6000 series and provides partial support for
|
|
the Radeon HD 7000 family. &os; now also supports
|
|
Kernel Mode Setting for AMD and Intel GPUs.</li>
|
|
|
|
<li><b>Capsicum Enabled By Default</b>:
|
|
Capsicum has been enabled in the kernel by default, allowing
|
|
sandboxing of several programs that work within the
|
|
"capabilities mode", such as:
|
|
<ul>
|
|
<li>tcpdump</li>
|
|
<li>dhclient</li>
|
|
<li>hast</li>
|
|
<li>rwhod</li>
|
|
<li>kdump</li>
|
|
</ul>
|
|
</li>
|
|
|
|
<li><b>New Binary Packaging System</b>:
|
|
&os; now uses pkg, a vastly improved package management
|
|
system that supports multiple repositories, signed packages,
|
|
and safe upgrades. The improved system is combined with
|
|
more frequent official package builds for all supported
|
|
platforms and a new stable branch of the ports tree for
|
|
better long term support.</li>
|
|
|
|
<li><b>Unmapped I/O</b>:
|
|
The newly implemented concept of unmapped VMIO buffers
|
|
eliminates the need to perform costly TLB shootdowns for
|
|
buffer creation and reuse, reducing system CPU time by up to
|
|
25-30% on large SMP machines under heavy I/O load.</li>
|
|
</ul>
|
|
|
|
<p><b>&os; 9.X</b> brought many new features
|
|
and performance enhancements with a special focus on desktop
|
|
support and security.</p>
|
|
|
|
<ul>
|
|
<li><b>OpenZFS</b>:
|
|
&os; 9.2 includes OpenZFS v5000 (Feature Flags), including
|
|
the feature flags:
|
|
<ul>
|
|
<li>async_destroy</li>
|
|
<li>empty_bpobj</li>
|
|
<li>lz4_compress</li>
|
|
</ul>
|
|
which allow ZFS destroy operations to happen in the
|
|
background, make snapshots consume less disk space, and
|
|
offers a better compression algorithm for compressed
|
|
datasets.</li>
|
|
|
|
<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 the
|
|
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.
|
|
Together, they 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>&os; includes a number of other great features:</p>
|
|
|
|
<ul>
|
|
<li><b>Firewalls:</b>
|
|
The base system includes IPFW and IPFilter, as well as a
|
|
modified version of the popular pf with improved SMP
|
|
performance. IPFW also includes the dummynet feature,
|
|
allowing network administrators to simulate adverse network
|
|
conditions, including latency, jitter, packet loss and
|
|
limited bandwidth.</li>
|
|
|
|
<li><b>Jails</b>
|
|
are a light-weight alternative to virtualization.
|
|
Allowing processes to be restricted to a namespace with
|
|
access only to the file systems and network addresses
|
|
assigned to that namespace. Jails are also Hierarchical,
|
|
allowing jails-within-jails.</li>
|
|
|
|
<li><b>Linux emulation</b>
|
|
provides a system call translation layer that allows
|
|
unmodified Linux binaries to be run on &os; systems.</li>
|
|
|
|
<li><b>DTrace</b>
|
|
provides a comprehensive framework for tracing and
|
|
troubleshooting kernel and application performance issues
|
|
while under live load.</li>
|
|
|
|
<li><b>The Ports Collection</b> is a set of more than 23,000 third
|
|
party applications that can be easily installed and run on
|
|
&os;. The ports architecture also allows for easy
|
|
customization of the compile time options of many of the
|
|
applications.</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>
|