Freebsd Article Index for
Freebsd
Articles about
Freebsd
Website Links For
Freebsd
 

Information About

Freebsd




Release version update? Don't edit this page, just click on the {Link without Title} to the right of the version number!
-->

FreeBSD is a Unix-like Free Software Operating System descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through 386BSD and 4.4BSD. It runs on Processor s compatible with the Intel X86 Family , as well as on the DEC Alpha , the UltraSPARC processors by Sun Microsystems , the Itanium (IA-64), AMD64 and PowerPC processors. It also runs on the PC-98 architecture. Support for the ARM , MIPS , and Xbox architectures is currently in development.

FreeBSD is developed as a complete operating system. The Kernel , all of the expected Userland utilities such as the Shell , and the Device Driver s are held in the same Source Code Revision Tracking tree ( CVS ). This is in contrast to Linux , a similar and better known free Unix-clone, in which the kernel is developed 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 quite reliable and robust, and of the operating systems that accurately report s with the longest uptime. A long uptime also indicates that no kernel updates have been deemed necessary, as installing a new Kernel requires a reboot and resets the uptime counter of the system.


HISTORY AND DEVELOPMENT


rendition]]

Initial Development of FreeBSD 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 includes more historical information about the genesis of FreeBSD.

Initially, FreeBSD employed the 2005 , the competition finished and the design by Anton K. Gural was chosen as the new FreeBSD logo. The BSD Daemon will remain as the FreeBSD Project mascot.


FREEBSD 5 DEVELOPMENT AND CHANGES


The latest FreeBSD release from the 5-STABLE branch is 5.4, and was released in May 2005. FreeBSD Developer s maintain (at least) two branches of simultaneous development. A ''-STABLE'' branch of FreeBSD is created for each major version number, from which releases are cut about once every 4-6 months. The latest 4-STABLE release of FreeBSD is 4.11, which is the last of the 4-STABLE branch releases. The first 5-STABLE release was 5.3 (5.0 through 5.2.1 were cut from ''-CURRENT''). The last 5-STABLE release will be 5.5. The first 6-STABLE release was 6.0. The development branch, ''-CURRENT'', is now 7.0-CURRENT, which contains aggressive new kernel and userspace features. If a feature is sufficiently stable and mature, it is eventually Backport ed ("MFC" - Merge from CURRENT in the FreeBSD developer slang) to the ''-STABLE'' branch. FreeBSD's development model is described in an in-depth article by Niklas Saers {Link without Title} .

The big difference in FreeBSD 5 was a major change in the low-level kernel locking mechanisms to enable better symmetric multiprocessor (SMP) support, releasing much of the kernel from the MP lock, sometimes referred to as the ''Big Giant Lock''. It is now possible for more than one process to execute in kernel mode at the same time.

Other major changes include an ''m'':''n'' threading solution called related. The TrustedBSD project was formed by Robert Watson 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 List s (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 has also significantly changed the block I/O layer with the introduction of the GEOM modular disk I/O request transformation framework, contributed by Poul-Henning Kamp. GEOM enables the simple creation of many kinds of functionality, such as mirroring (gmirror) and encryption (gbde). The recent release of FreeBSD 5.4 has confirmed the FreeBSD 5.x branch as a highly stable and well-performing release, albeit one with a long gestation period due to the large feature set.


FREEBSD 6 AND 7


FreeBSD 6.0 was released on , created by the TrustedBSD Project which is heavily based upon the BSM implementation found in Apple's Open Source Darwin which has been released under a BSD-style License .


PORTS COLLECTION


The FreeBSD Ports Collection provides an easy and consistent way of installing software ported to FreeBSD. It uses Makefile s laid out in a directory hierarchy, so software can be installed and deinstalled with the make command.

When installing an application, very little (if any) user intervention is required after issuing the initial command. In most cases, the application is automatically downloaded from the Internet , patched and configured if necessary, compiled, installed, and registered in the package database. Any dependencies on other applications or libraries a port may have are also installed for the user.

Each port, or software package, is maintained by a "port maintainer", an individual who is responsible for staying current with the latest software developments. Anyone is welcome to become a port maintainer by contributing their favorite piece of software to the collection. One may also choose to adopt and maintain an existing port that has no maintainership.

Due to the size of the Ports Collection and with new software being contributed on a regular basis, many users will never have to look elsewhere for third party applications. As of April 18 2006, there were over 14,350 pieces of software available in the collection.

Precompiled (binary) ports are called "packages", and are available for download. FreeBSD maintains a build farm (the "pointyhat cluster") that is used to build all packages across all architectures and all major releases. Build logs and errors for all the ports built by the pointyhat cluster are available {Link without Title} .

The precompiled packages are separated into categories by architecture for which they are available. They are further separated into several directories. There are "release" directories for each of the current production releases which are built from the ports collection shipped with the release, and are not updated thereafter. There are also "stable" and "current" directories for several major release branches. They are updated roughly once a week. In almost all cases, a package created for an older version of FreeBSD can be installed and used on a newer system without difficulty as binary backward compatibility across major releases is enabled by default. IA32 binary compatibility layer also makes it possible to use many i386 packages on an amd64 system.

If you know the name of the package you would like to install, the installation can be entirely automated by passing the package name to the ''pkg_add -r'' command. The appropriate package for your release will then be downloaded and installed along with any software dependencies it may have. By default, packages will be downloaded from the main FreeBSD distribution site.


LINUX COMPATIBILITY


FreeBSD provides binary Compatibility with several other Unix-like Operating Systems , including Linux . The reasoning behind this is generally attributed to being able to run applications developed for Linux, often commercial, that are only distributed in binary form and thus cannot be ported to FreeBSD without the will of those who control the source code.

In a nutshell, it allows FreeBSD users to run a majority of the applications that are only distributed as Linux binaries. When compared to the vast number of native applications available for FreeBSD using the Ports Collection, these applications are in the minority. Applications used under the Linux compatibility layer include StarOffice , the Linux version of Netscape , Adobe Acrobat , RealPlayer , VMware , Oracle , WordPerfect , Skype , Doom 3 , Quake 4 , the Unreal Tournament Series , Beonex , and so on. Generally, there seems to be no noticeable performance penalty when running Linux binaries as opposed to native FreeBSD ones.

Though there are many applications that run flawlessly under the compatibility layer, it should be noted that the layer is not complete, thus rendering some Linux binaries unusable on FreeBSD or limiting their functionality, possibly because this compatibility layer only supports the system calls of Linux Kernel 2.4.2, a historic release. One example of this is Cedega , TransGaming 's product to run Microsoft Windows games on Linux. Its usage is largely crippled at this time due to an incomplete compatibility layer. There has, however, been limited success in using it to run games on FreeBSD {Link without Title} .

For most scientific applications, the Linux compatibility layer performs correctly; applications such as Nmrpipe , Ccp , Mathematica and Matlab perform as expected.


LICENSE


As with all its sister operating systems (such as; OpenBSD , NetBSD and DragonFly BSD ), the code in FreeBSD is released under the terms of a variety of licenses. All of the kernel code and most newly created code is released under the terms of the two-clause 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. This does not prohibit redistribution under another license. There are also parts under the GPL , LGPL , ISC , three-clause BSD license, and four-clause BSD license.


DERIVATIVES


A range of free and proprietary products are directly and/or indirectly based on FreeBSD, including Juniper routers, Apple's Mac OS X , Nokia's firewall operating system, and countless others. Other Operating Systems , including VxWorks ''(a Real-time Computing operating system found running on anything from Linksys routers to the Common Core System of Boeing 's 787 Dreamliner )'' and even Linux , derive critical technologies from FreeBSD, illustrating the broad reach of FreeBSD technology.

Other works derived or created in whole or part from FreeBSD technologies:

  • Darwin , the core of Apple's Mac OS X , borrows heavily from FreeBSD, including its virtual file system and network stack kernel code, as well as large portions of its "BSD" userspace component. Apple regularly continues to integrate new code from, and contribute changes to, FreeBSD.

  • OpenDarwin , a completely separate project from Apple that was originally based on Darwin, and hence bears considerable part of FreeBSD programming as heritage. Though the operating system is independently controlled, the developing community tries to maintain OpenDarwin's compatibility with Darwin/Mac OS X.

  • 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 .

  • ClosedBSD , a distribution aimed at firewall and NAT services.

  • GNU/kFreeBSD

  • Debian GNU/kFreeBSD , a derivative version based on GNU userland is currently being developed by Debian .

  • Ging is a Live CD distribution based on Debian GNU/kFreeBSD , hence indirectly based on FreeBSD.

  • DragonFly BSD is a fork from FreeBSD 4.8 that uses an alternative multi-processor synchronization strategy from that chosen for FreeBSD release 5. It features a threaded message passing system similar to that found in Microkernel s.

  • 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 . The FreeSBIE project also includes a toolset to help you make your own FreeSBIE Live File Systems and CDROM's.

  • 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 is a firewall/router based on M0n0wall and FreeBSD.

  • FreeNAS is NAS server based on FreeBSD/ M0n0wall .

  • Gentoo/FreeBSD is a Gentoo/Linux port under FreeBSD's operating system.

  • DesktopBSD is a UNIX-like, desktop-oriented operating system based on FreeBSD. Its goal is to combine the stability of FreeBSD with the ease-of-use of KDE , its default graphical user interface.



SEE ALSO




FURTHER READING


  • '' 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 2002. 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.

  • ''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.



EXTERNAL LINKS