FreeBSD
|
FreeBSD is a free, open source, Unix-like operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through 386BSD and 4.4BSD. It runs on processors compatible with the Intel x86 family, as well as on the DEC Alpha, the UltraSPARC processors by Sun Microsystems, the Itanium (IA-64) and AMD64 processors. Support for the PowerPC and ARM architectures is in development.
FreeBSD is developed together as an entire operating system. The kernel, all of the expected userland utilities such as the shell and the device drivers are held in the same source code revision tracking tree (CVS). This is in contrast to Linux, a similar and more well known free Unix-clone, which is developed as a kernel by one group, userland utilities by others such as the GNU project, and put together with applications into distributions that package all the parts together by others. As an operating system, FreeBSD is generally regarded as being quite reliable and robust, and of the operating systems that accurately report uptime remotely, FreeBSD is the only free operating system listed in Netcraft's longest uptime list for web servers. [1] (http://uptime.netcraft.com/up/today/top.avg.html)
BSD-daemon-rendering.png
A rendering of the BSD daemon by Poul-Henning Kamp
Contents |
History and development
Initial development of FreeBSD was started in 1993, and took its sources from 386BSD. However, due to concerns about the legality of all the sources used in 386BSD, FreeBSD re-engineered much of the system with the FreeBSD 2.0 release in January of 1995 using the 4.4BSD-Lite release from the University of California, Berkeley. The FreeBSD Handbook (http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/) includes more historical information about the genesis of FreeBSD (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html).
The current (May 2005) FreeBSD release is FreeBSD 5.4. [2] (http://www.freebsd.org/releases/5.4R/announce.html) FreeBSD developers maintain (at least) two branches of simultaneous development: a -STABLE branch of FreeBSD, from which releases are cut about once every 4-6 months. The latest 4-STABLE release of FreeBSD is 4.11, this is the last of 4-STABLE releases. The first 5-STABLE release was 5.3. The other development branch, -CURRENT, contains aggressive new kernel and userspace features. If a feature gets stable and mature it is eventually backported ("MFC" - Merge from CURRENT in the FreeBSD developer lingo) to the STABLE branch. FreeBSD's development model is described in-depth in an article by Niklas Saers (http://www.freebsd.org/doc/en_US.ISO8859-1/books/dev-model/).
FreeBSD 5 includes a number of new features, including many that are security related. The TrustedBSD project was formed for the express purpose of adding trusted operating system functionality to the FreeBSD operating system. An extensible mandatory access control framework (the TrustedBSD MAC Framework), filesystem Access Control Lists (ACLs) and the new UFS2 filesystem all came from TrustedBSD. Some of the TrustedBSD functionality has been integrated into the NetBSD and OpenBSD operating systems as well. FreeBSD 5 also has support for encrypted filesystems, through the GBDE system written by Poul-Henning Kamp. [3] (http://www.freebsd.org/~phk/) Other major changes in FreeBSD 5 are related to more finely grained in-kernel locking to improve SMP performance, and a m:n (kernel:userland) threading solution called KSE which is now the default threading (pthreads) library, starting with 5.3 (the creation of the 5-STABLE branch). The recent release of FreeBSD 5.4 has cemented the FreeBSD 5.x branch as a highly stable and well-performing release, albeit one with a long gestation period due to the incredibly large feature set.
FreeBSD 6.x is currently under development, and continues the work on SMP and threading optimization, as well as additional work in the area of advanced 802.11 functionality, TrustedBSD security event auditing, etc. The primary release accomplishments of this release will include the removal of the Giant lock from VFS, replacement of the libthr library with a better performing implementation of 1:1 threading, and the addition of a BSM audit implementation created by the TrustedBSD Project.
Ports
The FreeBSD ports system provides a consistent way of installing software ported to FreeBSD. It uses Makefiles laid out in a directory hierarchy, so software can be deinstalled and installed with the make command. Each port, or software package, is maintained by a 'port maintainer,' an individual who is responsible for staying current with the latest software developments. Precompiled (binary) ports are called "packages", and are available for download.
The pre-compiled packages are generally separated into two sections, one intended for use with the 4.x code branch (4.9-RELEASE, 4.10-RELEASE, 4.10-STABLE) and another for use with the 5.x branch. In almost all cases a package created for the 4.x branch of FreeBSD can be installed in versions 5.2.1-RELEASE and beyond without difficulty.
License
FreeBSD is released under the BSD License, which allows everyone to use and redistribute FreeBSD as they wish, as long as they do not remove the copyright notice and the BSD license itself (which does not prohibit re-distribution under another license).
Derivatives
A broad range of open source and commercial products are directly or indirectly based on FreeBSD, including Juniper Router's, Apple's Mac OS X, Nokia's firewall operating system, and countless others. Other systems derive critical technologies from FreeBSD, such as VXWorks, Linux, making the reach of FreeBSD-derived source code extremely broad.
- Darwin borrows heavily from FreeBSD, including its file system and network stack kernel code, as well as large portions of its "BSD" userspace component. Apple continues to integrate new code from FreeBSD regularly, as well as contribute back changes.
- PC-BSD is a FreeBSD distribution designed for desktop use with simplified package management and a graphical installer
- BSDeviant is a live FreeBSD distribution that can fit on one Mini CD-R.
- A derivative version based on the GNU toolset is currently being developed by Debian as Debian GNU/FreeBSD.
- DragonFly BSD is an experimental fork from FreeBSD 4.8 that is intended to explore an alternative multi-processor synchronization strategy for the FreeBSD 4 series. It features a threaded message passing system similar to that found in microkernels.
- Firefly BSD is a commercially-supported operating system based on the experimental DragonFly fork of FreeBSD.
- The FreeSBIE project is producing live CD distributions of FreeBSD, similar to the Knoppix distribution of Linux.
- Frenzy is another FreeBSD based live CD, mainly oriented towards Russian speaking users.
- PicoBSD is a one-floppy version of FreeBSD.
- m0n0wall is a FreeBSD based embedded firewall package.
- pfSense (http://www.pfsense.com/) is a firewall/router based on m0n0wall and FreeBSD.
- TrustedBSD is a set of trusted operating system extensions for FreeBSD, including support for mandatory access control, event auditing via OpenBSM, access control lists, and a variety of other security features. Many of these features are now present in the main-line FreeBSD distribution.
Books
- Absolute BSD, The Ultimate Guide to FreeBSD. Michael Lucas. No Starch Press, July 2002. ISBN 1886411743.
- BSD Hacks, 100 Industrial-Strength tips for BSD users and administrators. Dru Lavigne. O'Reilly, May 2004. ISBN 0596006799.
- FreeBSD Unleashed, Second Edition. Michael Urban and Brian Tiemann. Sams Publishing, April 2003. ISBN 0672324563.
- Mastering FreeBSD and OpenBSD Security. Yanek Korff, Paco Hope, Bruce Potter. O'Reilly, March 2005. ISBN 0596006268.
- The Complete FreeBSD, 4th Edition, Documentation from the Source. Greg Lehey. O'Reilly, April 2003 ISBN 0596005164.
- The Design and Implementation of the FreeBSD Operating System. Marshall Kirk McKusick and George V. Neville-Neil, Addison Wesley Professional, August, 2004. ISBN 0201702452. [4] (http://www.awprofessional.com/titles/0201702452)
- The FreeBSD Corporate Networkers Guide. Ted Mittelstaedt. Addison-Wesley, December 2000. Paperback, book & CD edition, 401 pages. ISBN 0201704811.
- The FreeBSD Handbook, Volume 1 : User Guide, 3rd Edition. FreeBSD Documentation Project. FreeBSD Mall, Inc. November 2003 ISBN 1571763279.
- The FreeBSD Handbook, Volume 2 : Admin Guide, 3rd Edition. FreeBSD Documentation Project. FreeBSD Mall, Inc. September 2004 ISBN 1571763287.
See also
- FreeSBIE
- BSD descendants
- Comparison of operating systems
- Comparison of operating systems (security)
- FreeBSD and Linux
- FreeBSD Documentation License
- Access control list
- List of file systems
- TrustedBSD
- OpenBSD
- NetBSD
- PC-BSD
External links
- FreeBSD (http://www.FreeBSD.org/)
- FreeBSD (http://www.FreeBSD.com.pl/) - Polish portal about BSD systems
- A Brief History of FreeBSD (http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html) - written by FreeBSD co-founder Jordan Hubbard
- FreshPorts (http://www.freshports.org/)
- FreeBSDwiki.net (http://www.freebsdwiki.net/) - A Wiki devoted specifically to FreeBSD
- FreeBSD tips & Tricks (http://www.cyberciti.biz/nixcraft/vivek/blogger/freebsd-tips-and-tricks.php)
- TrustedBSD (http://www.TrustedBSD.org/)
ca:FreeBSD
cs:FreeBSD
da:FreeBSD
de:FreeBSD
es:FreeBSD
fr:FreeBSD
hr:FreeBSD
it:FreeBSD
hu:FreeBSD
nl:FreeBSD
ja:FreeBSD
no:FreeBSD
pl:FreeBSD
pt:FreeBSD
ro:FreeBSD
ru:FreeBSD
simple:FreeBSD
sl:FreeBSD
fi:FreeBSD
sv:FreeBSD
vi:FreeBSD
zh:FreeBSD