KUL OS : FreeBSD

FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular open-source BSD operating system, accounting for more than three-quarters of all installed and permissively licensed BSD systems.[4]

FreeBSD has similarities with Linux, with two major differences in scope and licensing: FreeBSD maintains a complete system, i.e. the project delivers a kernel, device drivers, userland utilities, and documentation, as opposed to Linux only delivering a kernel and drivers, and relying on third-parties for system software;[5] FreeBSD source code is generally released under a permissive BSD license, as opposed to the copyleft GPL used by Linux.

The FreeBSD project includes a security team overseeing all software shipped in the base distribution. A wide range of additional third-party applications may be installed from binary packages using the pkg package management system or from source via FreeBSD Ports,[6] or by manually compiling source code.

Much of FreeBSD’s codebase has become an integral part of other operating systems such as Darwin (the basis for macOS, iOS, iPadOS, watchOS, and tvOS), TrueNAS (an open-source NAS/SAN operating system), and the system software for the PlayStation 3[7][8] and PlayStation 4[9] game consoles. The other BSD systems (OpenBSD, NetBSD, and DragonFly BSD) also contain a large amount of FreeBSD code, and vice-versa.

History
Main article: FreeBSD version history
Background
In 1974, Professor Bob Fabry of the University of California, Berkeley, acquired a Unix source license from AT&T. Supported by funding from DARPA, the Computer Systems Research Group started to modify and improve AT&T Research Unix. They called this modified version “Berkeley Unix” or “Berkeley Software Distribution” (BSD), implementing features such as TCP/IP, virtual memory, and the Berkeley Fast File System. The BSD project was founded in 1976 by Bill Joy. But since BSD contained code from AT&T Unix, all recipients had to first get a license from AT&T in order to use BSD.[10]

In June 1989, “Networking Release 1” or simply Net-1 – the first public version of BSD – was released. After releasing Net-1, Keith Bostic, a developer of BSD, suggested replacing all AT&T code with freely-redistributable code under the original BSD license. Work on replacing AT&T code began and, after 18 months, much of the AT&T code was replaced. However, six files containing AT&T code remained in the kernel. The BSD developers decided to release the “Networking Release 2” (Net-2) without those six files. Net-2 was released in 1991.[10]

Birth of FreeBSD
In 1992, several months after the release of Net-2, William and Lynne Jolitz wrote replacements for the six AT&T files, ported BSD to Intel 80386-based microprocessors, and called their new operating system 386BSD. They released 386BSD via an anonymous FTP server.[10] The development flow of 386BSD was slow, and after a period of neglect, a group of 386BSD users decided to branch out on their own so that they could keep the operating system up to date. On 19 June 1993, the name FreeBSD was chosen for the project.[11] The first version of FreeBSD was released in November 1993.[12][10]

See also  KUL OS: CentOS

In the early days of the project’s inception, a company named Walnut Creek CDROM, upon the suggestion of the two FreeBSD developers, agreed to release the operating system on CD-ROM. In addition to that, the company employed Jordan Hubbard and David Greenman, ran FreeBSD on its servers, sponsored FreeBSD conferences and published FreeBSD-related books, including The Complete FreeBSD by Greg Lehey. By 1997, FreeBSD was Walnut Creek’s “most successful product”. The company later renamed itself to The FreeBSD Mall and later iXsystems.[13][14][15]

Today, FreeBSD is used by many IT companies such as IBM, Nokia, Juniper Networks, and NetApp to build their products.[16][17] Certain parts of Apple’s Mac OS X operating system are based on FreeBSD.[18] Both the PlayStation 3 and Nintendo Switch operating system also borrow certain components from FreeBSD,[7][8] while the PlayStation 4 operating system is derived from FreeBSD 9.[19] Netflix,[20] WhatsApp,[21] and FlightAware[22] are also examples of large, successful and heavily network-oriented companies which are running FreeBSD.

Lawsuit
386BSD and FreeBSD were both derived from BSD releases.[16] In January 1992, Berkeley Software Design Inc. (BSDi) started to release BSD/386, later called BSD/OS, an operating system similar to FreeBSD and based on 4.3BSD Net/2. AT&T filed a lawsuit against BSDi and alleged distribution of AT&T source code in violation of license agreements. The lawsuit was settled out of court and the exact terms were not all disclosed. The only one that became public was that BSDi would migrate their source base to the newer 4.4BSD-Lite2 sources. Although not involved in the litigation, it was suggested to FreeBSD that they should also move to 4.4BSD-Lite2.[23] FreeBSD 2.0, which was released in November 1994, was the first version of FreeBSD without any code from AT&T.[24]

Features

FreeBSD 13.0 startup with console login prompt
Use cases
FreeBSD contains a significant collection of server-related software in the base system and the ports collection, allowing FreeBSD to be configured and used as a mail server, web server, firewall, FTP server, DNS server and a router, among other applications.

FreeBSD can be installed on a regular desktop or a laptop. The X Window System is not installed by default, but is available in the FreeBSD ports collection. Wayland (display server protocol) is also available for FreeBSD[25] (unofficially supported). A number of desktop environments such as GNOME, KDE, and Xfce, as well as lightweight window managers such as Openbox, Fluxbox, dwm, and bspwm, are also available for FreeBSD. As of FreeBSD 12, support for a modern graphics stack is available via drm-kmod. A large number of wireless adapters are supported.

See also  KUL NAS: XigmaNAS

FreeBSD releases installation images for supported platforms. Since FreeBSD 13 the focus has been on x86-64 and aarch64 platforms which have Tier 1 support.[26] x86-32 is a Tier 1 platform in FreeBSD 12 but is a Tier 2 platform in FreeBSD 13. 32 bit ARM processors using armv6 or armv7 also have Tier 2 support. 64 bit versions of PowerPC and RISC-V are also supported.[27] Interest in the RISC-V architecture has been growing.[28] The MIPS architecture port has been marked for deprecation and there is no image for any currently supported version.[29] FreeBSD 12 supports SPARC but there is no image for FreeBSD 13.

Networking
FreeBSD’s TCP/IP stack is based on the 4.2BSD implementation of TCP/IP which greatly contributed to the widespread adoption of these protocols.[30] FreeBSD also supports IPv6,[31] SCTP, IPSec, and wireless networking (Wi-Fi).[32] The IPv6 and IPSec stacks were taken from the KAME project.[33] Prior to version 11.0, FreeBSD supported IPX and AppleTalk protocols, but they are considered old and have now been dropped.[34]

As of FreeBSD 5.4, support for the Common Address Redundancy Protocol (CARP) was imported from the OpenBSD project. CARP allows multiple nodes to share a set of IP addresses, so if one of the nodes goes down, other nodes still can serve the requests.[35]

Storage
FreeBSD has several unique features related to storage. Soft updates can protect the consistency of the UFS filesystem (widely used on the BSDs) in the event of a system crash.[36] Filesystem snapshots allow an image of a UFS filesystem at an instant in time to be efficiently created.[37] Snapshots allow reliable backup of a live filesystem. GEOM is a modular framework that provides RAID (levels 0, 1, 3 currently), full disk encryption, journaling, concatenation, caching, and access to network-backed storage. GEOM allows building of complex storage solutions combining (“chaining”) these mechanisms.[38] FreeBSD provides two frameworks for data encryption: GBDE and Geli. Both GBDE and Geli operate at the disk level. GBDE was written by Poul-Henning Kamp and is distributed under the two-clause BSD license. Geli is an alternative to GBDE that was written by Pawel Jakub Dawidek and first appeared in FreeBSD 6.0.[39][40]

From 7.0 onward, FreeBSD supports the ZFS filesystem. ZFS was previously an open-source filesystem that was first developed by Sun Microsystems, but when Oracle acquired Sun, ZFS became a proprietary product. However, the FreeBSD project is still developing and improving its ZFS implementation via the OpenZFS project.[41]

Security
FreeBSD provides several security-related features including access-control lists (ACLs),[42] security event auditing, extended file system attributes, mandatory access controls (MAC)[43] and fine-grained capabilities.[44] These security enhancements were developed by the TrustedBSD project. The project was founded by Robert Watson with the goal of implementing concepts from the Common Criteria for Information Technology Security Evaluation and the Orange Book. This project is ongoing[timeframe?] and many of its extensions have been integrated into FreeBSD.[45] The project is supported by a variety of organizations, including the DARPA, NSA, Network Associates Laboratories, Safeport Network Services, the University of Pennsylvania, Yahoo!, McAfee Research, SPARTA, Apple Computer, nCircle Network Security, Google, the University of Cambridge Computer Laboratory, and others.[46]

See also  KUL NAS: XigmaNAS

The project has also ported the NSA’s FLASK/TE implementation from SELinux to FreeBSD. Other work includes the development of OpenBSM, an open-source implementation of Sun’s Basic Security Module (BSM) API and audit log file format, which supports an extensive security audit system. This was shipped as part of FreeBSD 6.2. Other infrastructure work in FreeBSD performed as part of the TrustedBSD Project has included GEOM and OpenPAM.[44]

Most components of the TrustedBSD project are eventually folded into the main sources for FreeBSD. In addition, many features, once fully matured, find their way into other operating systems. For example, OpenPAM has been adopted by NetBSD.[47] Moreover, the TrustedBSD MAC Framework has been adopted by Apple for macOS.[48]

FreeBSD ships with three different firewall packages: IPFW, pf and IPFilter. IPFW is FreeBSD’s native firewall. pf was taken from OpenBSD and IPFilter was ported to FreeBSD by Darren Reed.[49]

Taken from OpenBSD, the OpenSSH program was included in the default install. OpenSSH is a free implementation of the SSH protocol and is a replacement for telnet. Unlike telnet, OpenSSH encrypts all information (including usernames and passwords).[50]

In November 2012, The FreeBSD Security Team announced that hackers gained unauthorized access on two of the project’s servers. These servers were turned off immediately. More research demonstrated that the first unauthorized access by hackers occurred on 19 September. Apparently hackers gained access to these servers by stealing SSH keys from one of the developers, not by exploiting a bug in the operating system itself. These two hacked servers were part of the infrastructure used to build third-party software packages. The FreeBSD Security Team checked the integrity of the binary packages and announced that no unauthorized changes were made to the binary packages, but stated that they could not guarantee the integrity of packages that were downloaded between 19 September and 11 November.[51][52][53]

Portability
FreeBSD has been ported to a variety of instruction set architectures. The FreeBSD project organizes architectures into tiers that characterize the level of support provided. Tier 1 architectures are mature and fully supported, e.g. it is the only tier “supported by the security officer”.[54] Tier 3 architectures are experimental or are no longer under active development and Tier 4 architectures have no support at all.

As of March 2021, FreeBSD has been ported to the following architectures:[26]

Leave a Reply

Your email address will not be published. Required fields are marked *