FreeBSD

FreeBSD is a free and complete unixoides operating system, which is derived directly from the Berkeley Software Distribution. With a community of nearly 390 permanently active, official and thousands of developers collaborating FreeBSD is one of the largest open - source projects at all. Although the focus of the developers is on creating a stable software platform for servers and appliances, it is also used on desktop computers. FreeBSD is mainly used for Internet service providers such as Yahoo and Strato, in Internet backbone systems such as high-performance routers and name services as well as web hosting platform to use. There is regularly the top places in the list of the most reliable systems.

Several standards in the field of computer networks, such as IPv6, have been implemented in FreeBSD first, and spread from there because of the liberal BSD license to other systems, including to OpenBSD and Linux. Also, FreeBSD is partly the basis for Darwin, the open source platform from Apple, is based on the Mac OS X.

  • 3.1 Project Organization
  • 3.2 community meeting
  • 3.3 Branches of development
  • 3.4 Version Table
  • 5.1 FreeBSD derivatives
  • 5.2 FreeBSD distributions

History

Originally intended as an unofficial collection of patches for bug fixes of 386BSD, Nate Williams, Rod Grimes and Jordan K. Hubbard In 1993, a separate project after the maintenance of the Patchkit mechanism was too complicated. Originally known as 386BSD Interim project had to be abandoned after the author of 386BSD, Bill Jolitz, his work on the project and also gave 386BSD itself. When they sought a new name, FreeBSD was proposed by Bill Greenman, an employee of the company's Walnut Creek CDROM, in which the project's software was distributed on disks and using FTP.

Just as in the NetBSD previously established by other authors of the Patchkits short it was decided at the very beginning of the project in July 1993 to centrally develop the software using a CVS repository. Man attacked for it in the first versions of FreeBSD on the sources of 4.3BSD -Lite ( Net / 2) back and 386BSD, which the Berkeley Software Distribution on the Intel 80386 processor platform ported. However, when the Unix System Laboratories began, the provider of BSD software to sue due to license violations, changed the base FreeBSD to 4.4BSDLite which the UC Berkeley published in 1994, after the dispute had been adjusted. This version did not contain any source code from the Unix Laboratories more. Since this also lacked parts of the operating system that were necessary for booting, it took until November 1994 is a functional software distribution to produce, which could be released as FreeBSD 2.0. Older versions may not be distributed for legal reasons.

Since the operating system has been ported to various other platforms and has increased both in features as well as to natively supported third-party software. Because of its project size and distribution, without being entered public appearance, FreeBSD is also informally referred to as an unknown giant among free operating systems. In addition to various derivatives have been established from the project several organizations that have the support of FreeBSD and the BSD family goal. These include, for example, the FreeBSD Foundation and the BSD Certification Group.

Properties

The complete system includes the following components:

  • Kernel: implements the APIs and data structures of the operating system and the device driver
  • User country: all major programs from the text editor to the compiler or server applications (mail server, etc.)
  • Ports: ported to FreeBSD -party applications

FreeBSD is largely POSIX-compliant as a Unix like system. It does not support all of the basic functions of the POSIX.1 standard, but all extensions to the X / Open System Interfaces. For this reason it can not carry the legally protected name UNIX also. At a production of the full support of the interfaces of C99, POSIX and XSI but worked. In addition to the x86, AMD64, and Japan used PC -98 architecture a number of other processor types are supported. These include IA- 64 Oracle SPARC, and PowerPC, and ARM and experimentally the MIPS architecture for embedded systems. Since FreeBSD offers its own binary interface (ABI ), the installation of proprietary software is easily possible. Likewise, Windows network device drivers are used on the NDIS interface, the manufacturers have not released the hardware specifications, such as Intel's Centrino.

File Systems

FreeBSD has some special functions in relation to the storage of data.

The UFS file system that is commonly used by the BSD operating systems, has soft updates, which ensure the consistency of the file system in the event of a system crash. File system snapshots can be generated efficiently in no time. They allow, among others, reliable backup of the current file systems. Further features FreeBSD GEOM. This is a modular framework, which can regulate full-disk encryption, journaling, caching and access to network-based RAID storage. Using GEOM complex storage solutions can be produced that use several of these mechanisms simultaneously.

Another frequently used file system ZFS on FreeBSD is developed by Sun. This was initially ported from free sources, which were published with OpenSolaris on FreeBSD and is classified as stable since FreeBSD 8.0. Meanwhile, developed in the framework of OpenZFS File System Enhancements, which are then partially taken over for FreeBSD. ZFS is particularly noted for its ease of use, flexibility and stability. Since FreeBSD 10.0 it is possible to install only via the system installer a complete system based on ZFS. Previously, this had to be done manually.

Software Management

In addition to the programs in the base system are over 23,000 software packages from third-party vendors. About this can partly be taken during the installation depending on the purpose a preliminary selection. Most packages are also available as binary files (package ) are available and can be installed directly from the installation media or a regional Projektrepository.

Frequently, however, are the so-called ports as package management used. In addition to a larger selection are the advantages of FreeBSD Ports in the comfortable dependency resolution, a possible processor-specific optimization and the use of compile-time options. Most ports are loaded as source code, usually from the net, and then compiled on your system. Here are the most open source programs for server and desktop as well as some proprietary programs. The flexibility and ease of use of the FreeBSD ports have led to a proliferation of these package management on other systems. In addition to NetBSD, DragonFly BSD ( as DPorts ) and OpenBSD ports be used on Darwin and Mac OS X under the name MacPorts. Due to the extensive source compatibility of these systems to hardly any changes to the metadata of the ports are necessary.

Network

Because of the orientation of the project are the strengths of FreeBSD in the network area. So were due to the KAME project, the BSDs in the first operating systems with IPv6 and IPsec support. There are several redundant packet filtering implementations are available: the IPFilter available for proprietary Unix platforms, the in-house development ipfw and pf from OpenBSD. Furthermore, there's dummynet with a powerful Trafficshaper.

FreeBSD controlled network protocols at various levels, for example, 802.1q VLANs, PPP, L2TP. With netgraph there is also a graph- based kernel subsystem that supports the modular implementation of new and flexible combination of existing protocols. Also, FreeBSD works with various network hardware: 10 Gigabit Ethernet, WiFi, ATM, ISDN, FDDI, and UMTS.

Virtualization

FreeBSD provides since version 4.x virtualization environment jails (German prison ) are available. From the inside of a jail no access to the system and configuration files on the main system is possible - it uses its own files, processes and user accounts, so that the environment itself is not much different from that of a full-fledged system. Compared to about chroot, this provides a number of advantages, especially with regard to security, administration and performance. Compared to packages such as Xen or VMware turn, the implementation is much simpler and more transparent, but also does not offer the possibility to operate a foreign operating system. In other systems, modifications of FreeBSD Jails are known as sysjails or container.

The open source virtualization software VirtualBox Edition is included in the ports and allows you to run both FreeBSD as guest operating system as well as a virtualization host that hosts virtual machines.

With FreeBSD 10.0 developed specially for FreeBSD Type 1 hypervisor held bhyve way into the operating system. This currently supports various versions of FreeBSD, OpenBSD and Linux as guest operating systems. Support for other guest systems (Windows, NetBSD, DragonFly BSD) to follow.

Binary compatibility

FreeBSD

The FreeBSD developers are very keen to keep new versions of the operating system backward compatible. This means that programs that could run on an older version of the operating system, even under the newer version can still be executed. This claim is made for all parts of the operating system ( especially kernel modules ). The user is cautioned to exceptions from this rule if necessary.

Linux

FreeBSD provides binary compatibility with Linux. This means that programs that have been written and compiled for GNU / Linux can run on FreeBSD. This mainly offers the possibility of programs that are only available in compiled form for Linux ( such as Adobe Reader, Adobe Flash Player, Skype) to use with FreeBSD. At present, however, only 32- bit Linux programs can be executed in this way. Linux binary compatibility is often Linux emulator or linuxulator called. Technically, however, this feature does not use emulation, but is based on the implementation of an ABI.

Development

The development branch of the source code will be provided by central Subversion / CVS archives available. The system is very homogeneous because all the system components are maintained by the same group of developers. These archives are mirrored regionally in order to relieve the network of the main archive. For performance reasons and to avoid inconsistencies, the archives are with direct write access separate from those that can be read.

In FreeBSD availability of source code also plays a big role in practice: Some people find a local source tree before and synchronize it regularly over the network to a central source archive ( repository ). This makes it possible to precisely match a local system for its intended use by newly built, for example, the kernel with system- specific drivers or software of the base system and can be adjusted from ports. In the repository, you can search in the old versions of the source code and the comments of the developers and thus very well gain insight into the structure and functioning of the system.

Project organization

The care of the source text is taken from three groups of the FreeBSD developer community:

  • Src: In this part of the source tree of the kernel and userland are included. Committers with access to the src tree, therefore, are also driving the development of the system.
  • Ports: Named after the eponymous package management, here is the third-party software is still. The FreeBSD ports are independent of kernel and userland.
  • Doc: committers have access to this part of the source tree are responsible for the care of the very extensive manual and the man pages that come with FreeBSD.

In addition to these three groups, there are teams that are responsible for release management, the administration of the project server, the entering of security updates, etc.. There are personnel overlaps between all these groups.

Is coordinated by the core development team, which is elected every two years by the active developers with CVS access.

The communication between developers with each other and with users, just like in many open source projects, mainly through the Internet instead of ( mailing lists, newsgroups, IRC, forums).

Community meeting

Every year, several conferences are held worldwide, so-called BSDcons. Developers and interested users provide BSD -related projects, discuss them and learn in workshops dealing with them. As part of the conferences are separate developer meeting place (so-called DevSummits ), on which are discussed and coordinated in future developments of the project. Frequently held the conferences in a university environment. Most of them are supported by the FreeBSD Foundation financially and logistically. So used the FreeBSD Foundation part of their budget to developers to finance the participation in conferences. Well-known companies ( including Google, Netflix, iXsystems ) that are involved in the development of FreeBSD or FreeBSD is used to a greater extent, also act as sponsors of conferences. The conferences are valued because they offer the possibility of exchange between programmers, system administrators, students, professors, and IT companies. Parts of the conferences are increasingly being streamed live or there are recordings of lectures or other conference materials ( presentations, handouts ) online via the respective website for the conference available.

The following conferences are held regularly:

  • AsiaBSDCon (Asia, Japan)
  • BSDCan ( USA, Canada)
  • EuroBSDCon ( Europe)
  • KyivBSD (Ukraine, Kiev)
  • NYCBSDCon ( USA, New York City )
  • RuBSD (Russia)

In addition to the conferences will be held irregular meetings, called BSDDays. They serve the same purpose as conferences, are due to lack of time or finances, but not as extensive.

Furthermore, there are still many countries in so-called user groups. These are groups that consist of users of FreeBSD, or those who want to be there. They are used primarily for the personal experience. When, where and how members of such groups meet is group- specific and is often made ​​publicly available on the websites of these groups.

Branches of development

The development of the FreeBSD kernel and userland is running in several branches in parallel from:

  • CURRENT, are developed and tested in the new features and is only suitable for developers or advanced users. (CVS tag: CURRENT HEAD or. )
  • STABLE, which has emerged as sufficiently tested software from the CURRENT branch and published by the approximately every four to six months new releases.
  • RELEASE are snapshots of each RELEASE branch, which in turn emerge from a STABLE branch. For releases no changes are made ​​more, but still only safety-related changes.

In order to exchange safety-related changes between the individual branches, for example, or improvements to be able to incorporate in current from the stable branch is resorted in the background on a version control system with Perforce, as can be with CVS not perform branch -wide changes. The maintenance period is depending on the release and priority 6 to 24 months.

Version table

The following timeline illustrates the life cycle of different versions of FreeBSD dar. Until the End of life a version of security vulnerabilities and software bugs are fixed and essential new features that are available in a future release, backported.

Logo

The BSD Daemon is the " mascot" of BSD Unix, and was used from the start as a logo. He is often called Beastie, although it explains the copyright carriers for nameless.

However, the characters proved difficult partly reproducible and scalable, so called in February 2005, the developers of the FreeBSD project in designing a logo for FreeBSD. End of June 2005, the proposals of various graphic artists were submitted and end of September 2005 was selected the new logo. Finally, seven submissions were shortlisted - has won the Design of Anton K. Gural, as used in the top right of this article.

There was it - as with NetBSD - various considerations, to refrain from using the traditional mascot as a logo. As a result, the demon Beastie remains now but the mascot of the project. The new logo is an allusion to the head of the demon with his horns.

FreeBSD derivatives and distributions

A rough distinction between distributions and derivatives: For distributions are different combinations of software, while it is for derivatives to changes and spin-offs (also Forks ) is the system. Since the creation of BSD distributions in comparison to other systems such as GNU / Linux, is still a relatively new development, and changes are usually more profound than in Linux distributions, distributions often are referred to as derivatives in the BSD world. In the FreeBSD community Forks are often evaluated negatively.

FreeBSD derivatives

  • Darwin - Mach kernel and FreeBSD userland basis for Mac OS X
  • Data ONTAP, the operating system from NetApp storage systems
  • DragonFly BSD
  • JunOS, the operating system of the router from Juniper Networks

FreeBSD distributions

  • Arch BSD, which uses, among other things, the package manager Pacman in Arch Linux
  • Debian GNU / kFreeBSD - A port of Debian GNU system to the FreeBSD kernel
  • DesktopBSD - a desktop FreeBSD
  • FreeNAS - designed for Network Attached Storage ( NAS)
  • NAS4Free - designed for Network Attached Storage ( NAS)
  • FreeSBIE - a live CD version of FreeBSD
  • Gentoo / FreeBSD, FreeBSD, which assumes, inter alia, the package management system of Gentoo Portage
  • GhostBSD - a desktop FreeBSD with Gnome
  • M0n0wall - a firewall distribution
  • PC -BSD - a FreeBSD desktop
  • pfSense - a firewall / router distribution
  • PicoBSD - a floppy version of FreeBSD
  • TrustedBSD ( not a separate operating system distribution, but an extension with the emphasis on safety properties )

Hardware Requirements

The hardware requirements depend on the application. An embedded system, for example, has different requirements than a Web server or a desktop.

Apart from the application-specific requirements exist basic requirements that must be met in order to obtain a working system for the different architectures. For a minimal installation on i386, these are, for example, 24 MB RAM and 150 MB of hard disk space. A more realistic installation (for example, as an intranet server with file server function on i386 ) still takes about 2 to 3 GB of disk space (alone for the ports tree about 1 GB ) for the ongoing operation, however, far less than 100 MB of RAM.

350581
de