FreeBSD |
FreeBSD is a Free software, open source, Unix-like operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through 386BSD and Berkeley Software Distribution. It runs on processors compatible with the X86, as well as on the DEC Alpha, the SPARC processors by Sun Microsystems, the Itanium (IA-64) and AMD64 processors. It also runs on the PC-9801 architecture. Support for the ARM architecture, MIPS and PowerPC architectures are in development.
FreeBSD is developed together as an entire operating system. The requires a reboot and resets the uptime counter of the system.
= History and development =
Initial software 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 [http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/ FreeBSD Handbook] includes more [http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/history.html historical information about the genesis of FreeBSD].
= FreeBSD 5 Development & Changes =
The current (May ed ( MFC - Merge from CURRENT in the FreeBSD developer slang) to the STABLE branch. FreeBSD s development model is described in-depth in [http://www.freebsd.org/doc/en_US.ISO8859-1/books/dev-model/ an article by Niklas Saers].
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 GIANT lock, sometimes referred to as Big Kernel 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 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.x and 7.0 -current are 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, .
= Ports =
The FreeBSD Ports Collection provides an easy and consistent way of installing software ported to FreeBSD. It uses Makefiles 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, with new software being contributed on a regular basis [http://www.freebsd.org/ports/growth/status.png], many users will never have to look elsewhere for third party applications. As of October 22, 2005, there are over 13,677 pieces of software available in the collection.
Precompiled (binary) ports are called packages , and are available for download.
The pre-compiled packages are generally separated into three sections, one intended for use with the 4.x code branch (4.9-RELEASE, 4.10-RELEASE, 4.11-RELEASE, 4.11-STABLE) another for use with the 5.x branch, and a third for use with the new 6-CURRENT (what will become FreeBSD 6.0) 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.
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_Database, WordPerfect, Skype, Doom 3, the Unreal_series#The_Unreal_Tournament_series, and so on. It is also reported that in some situations, Linux binaries perform better on FreeBSD than they do under Linux.
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. 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 [http://cedega.firepipe.net].
= License =
As with its sister operating systems, OpenBSD, NetBSD and DragonFlyBSD, the code in FreeBSD is released under the terms of a variety of licenses. Most newly created code is released under the terms of the three-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 re-distribution under another license. There are also parts under the GPL, LGPL, Internet Systems Consortium and the four-clause BSD license.
= Derivatives =
A broad range of open source and commercial products are directly or indirectly based on FreeBSD, including Juniper routers, 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.
= Books =
= See also =
=External links=
|
|