FreeBSD
FreeBSD
From Wikipedia, the free encyclopedia
![]() | |
FreeBSD welcome screen | |
| Company / developer | The FreeBSD Project |
|---|---|
| OS family | BSD, Unix-like |
| Working state | Current |
| Source model | Free and open source software |
| Latest stable release | 7.0-RELEASE/ 2008-02-27 |
| Latest unstable release | 8.0-CURRENT/ ongoing |
| Supported platforms | i386, SPARC, SPARC64, DEC Alpha, AMD64, ia64, PC98, PowerPC, ARM architecture |
| Kernel type | Monolithic |
| License | BSD License |
| Website | www.freebsd.org |
FreeBSD is a Unix-like free operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through the 386BSD and 4.4BSD operating systems. It runs on Intel x86 family (IA-32) IBM PC compatible computers, DEC Alpha, Sun UltraSPARC, IA-64, AMD64, PowerPC, ARM and NEC PC-9801 architectures along with Microsoft's Xbox.[1] Support for other architectures is in varying stages of development.
FreeBSD has been characterized as "the unknown giant among free operating systems."[2] It is not a clone of UNIX, but works like UNIX, with UNIX-compliant internals and system APIs.[3] FreeBSD is generally regarded as reliable and robust. Among all operating systems which can accurately report uptime remotely,[4] FreeBSD is the free operating system listed most often in Netcraft's list[5] of the 50 web servers with the longest uptime. A long uptime also indicates no crashes have occurred and no kernel updates have been deemed needed, since installing a new kernel requires a reboot, resetting the uptime counter of the system.
FreeBSD is developed as a complete operating system. The kernel, device drivers and all of the userland utilities, such as the shell, are held in the same source code revision tracking tree, whereas with Linux distributions, the kernel, userland utilities and applications are developed separately, then packaged together in various ways by others.
Contents[hide] |
[edit] History and development
FreeBSD's development began in 1993 with a quickly growing, unofficial patchkit maintained by users of the 386BSD operating system. This patchkit forked from 386BSD and grew into an operating system taken from U.C. Berkeley's 4.3BSD-Lite (Net/2) tape with many 386BSD components and code from the Free Software Foundation. The first official release was FreeBSD 1.0 in December 1993, coordinated by Jordan Hubbard, Nate Williams and Rod Grimes with a name thought up by David Greenman. Walnut Creek CDROM agreed to distribute FreeBSD on CD and gave the project a machine to work on along with a fast Internet connection, which Hubbard later said helped stir FreeBSD's rapid growth. A "highly successful" FreeBSD 1.1 release followed in May 1994.
However, there were legal concerns about the BSD Net/2 release source code used in 386BSD. After a lawsuit between UNIX copyright owner at the time Unix System Laboratories and the University of California, Berkeley, the FreeBSD project re-engineered most of the system using the 4.4BSD-Lite release from Berkeley, which, owing to this lawsuit, had none of the AT&T source code earlier BSD versions had depended upon, making it an unbootable operating system. Following much work, the outcome was released as FreeBSD 2.0 in January 1995.
FreeBSD 2.0 featured a revamp of the original Carnegie Mellon University Mach virtual memory system, which was optimized for performance under high loads. This release also introduced the FreeBSD Ports system, which made downloading, building and installing third party software very easy. By 1996 FreeBSD had become popular among commercial and ISP users, powering extremely successful sites like Walnut Creek CD-ROM (a huge repository of software that broke several throughput records on the Internet), Yahoo! and Hotmail. The last release along the 2-STABLE branch was 2.2.8 in November 1998.[6]
FreeBSD 3.0 brought many more changes, including the switch to the ELF binary format. Support for SMP systems and the 64 bit Alpha platform were also added. The 3-STABLE branch ended with 3.5.1 in June 2000.
[edit] Beastie
For many years FreeBSD's logo was the generic BSD daemon, also called Beastie, a slurred phonetic pronunciation of BSD. First appearing in 1976 on UNIX T-shirts purchased by Bell Labs, the more popular versions of the BSD daemon were drawn by animation director John Lasseter beginning in 1984.[7][8][9] Several FreeBSD-specific versions were later drawn by Tatsumi Hosokawa.[10] Through the years Beastie became both beloved and criticized as perhaps inappropriate for corporate and mass market exposure. Moreover it was not unique to FreeBSD. In lithographic terms, the Lasseter graphic is not line art and often requires a screened, four colour photo offset printing process for faithful reproduction on physical surfaces such as paper. However drawn, the BSD daemon was thought to be too graphically detailed for smooth size scaling and aesthetically over dependent upon multiple colour gradations, making it hard to reliably reproduce as a simple, standardized logo in only two or three colours, much less in monochrome. Because of these worries, a competition was held and a new logo designed by Anton K. Gural, still echoing the BSD daemon, was released on October 8, 2005.[11] Meanwhile Lasseter's much known take on the BSD daemon carries forth as official mascot of the FreeBSD Project.
[edit] Versions
FreeBSD developers maintain at least two branches of simultaneous development. The -CURRENT branch always represents the "bleeding edge" of FreeBSD development. A -STABLE branch of FreeBSD is created for each major version number, from which releases are cut about once every 4-6 months. If a feature is sufficiently stable and mature it will likely be backported (MFC or Merge from CURRENT in FreeBSD developer slang) to the -STABLE branch. FreeBSD's development model is further described in an article by Niklas Saers.[12]
[edit] FreeBSD 4
4.0-RELEASE appeared in March 2000 and the last 4-STABLE branch release was 4.11 in January 2005. FreeBSD 4 was a favorite operating system for ISPs and web provider during the first .com bubble, and is widely regarded as one of the most stable and high performance operating systems of the whole Unix lineage.
[edit] FreeBSD 5
After almost three years of development, the first 5.0-RELEASE in January 2003 was widely anticipated, featuring support for advanced multiprocessor and application threading, and for the UltraSPARC and ia64 platforms. The first 5-STABLE release was 5.3 (5.0 through 5.2.1 were cut from -CURRENT). The last release from the 5-STABLE branch was 5.5 in May 2006.
The largest architectural development in FreeBSD 5 was a major change in the low-level kernel locking mechanisms to enable better symmetric multi-processor (SMP) support. This released much of the kernel from the MP lock, which is sometimes called the Giant Lock. More than one process could now execute in kernel mode at the same time. Other major changes included an M:N native threading implementation called Kernel Scheduled Entities. In principle this is similar to Scheduler Activations. Starting with FreeBSD 5.3, KSE was the default threading implementation until it was replaced with a 1:1 implementation in FreeBSD 7.0.
FreeBSD 5 also significantly changed the block I/O layer by implementing 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 and GELI). This work was supported through sponsorship by DARPA.
The 5.4 and 5.5 releases of FreeBSD confirmed the FreeBSD 5.x branch as a highly stable and high-performing release, although it had a long development period due to the large feature set. Earlier releases on the 5.x branch are not considered stable enough for production deployment.
[edit] FreeBSD 6
FreeBSD 6.0 was released on November 4, 2005. The most recent FreeBSD 6 release was 6.3, on January 18, 2008. These versions continue work on SMP and threading optimization along with more work on advanced 802.11 functionality, TrustedBSD security event auditing, significant network stack performance enhancements, a fully preemptive kernel and support for hardware performance counters (HWPMC). The main accomplishments of these releases include removal of the Giant lock from VFS, implementation of a better-performing optional libthr library with 1:1 threading and the addition of a Basic Security Module (BSM) audit implementation called OpenBSM, which was created by the TrustedBSD Project (based on the BSM implementation found in Apple's open source Darwin) and released under a BSD-style license.
[edit] FreeBSD 7
FreeBSD 7.0 was released on 27 February 2008. New features include SCTP, UFS journaling, an experimental port of Sun's ZFS file system, GCC4, improved support for the ARM architecture, jemalloc (a memory allocator optimized for parallel computation[13], which is then ported to Firefox 3)[14], and major updates and optimizations relating to network, audio, and SMP performance[15]. Benchmarks have shown significant speed improvements over previous FreeBSD releases as well as Linux. The new ULE scheduler has seen much improvement but a decision was made to ship the 7.0 release with the older 4BSD scheduler, leaving ULE as a kernel compile-time tunable. ULE scheduler is expected to be the default in FreeBSD 7.1 and it is currently available in the -STABLE branch as a default kernel option, in preparation for FreeBSD 7.1[16]. Starting from version 7.1 DTrace was integrated.
[edit] FreeBSD 8
As of 2008, FreeBSD 8.0 is the "bleeding edge" development version, called -CURRENT in FreeBSD development terminology. It will feature superpages, DTrace, Xen DomU support, network stack virtualization and stack-smashing protection. FreeBSD 8.0 is planned to be released in the 2nd quarter of 2009. [17]
[edit] Linux compatibility
Most software that runs on Linux will run natively on FreeBSD without the need for any compatibility layer. FreeBSD nonetheless also provides binary compatibility with several other Unix-like operating systems, including Linux. Hence, most Linux binaries can be run on FreeBSD, including some commercial applications distributed only in binary form. Examples of applications that can use the Linux compatibility layer are StarOffice, the Linux version of Firefox, Adobe Acrobat, RealPlayer, Oracle, Mathematica, Matlab, WordPerfect, Skype, Wolfenstein: Enemy Territory, Doom 3 and Quake 4[18] (though some of these applications also have a native version). No noticeable performance penalty over native FreeBSD programs has been noted when running Linux binaries, and, in some cases, these may even perform more smoothly than on Linux.[19] However, the layer is not altogether seamless, and some Linux binaries are unusable or only partially usable on FreeBSD. This is often because the compatibility layer only supports system calls available in the historical Linux kernel 2.4.2. There is support of Linux 2.6.16 syscalls, enabled by default in 8-CURRENT.


0 Response to "FreeBSD"
Posting Komentar