FreeBSD is a free Unix-like operating system downloaded from AT&T UNIX through Berkeley Software Distribution (BSD), not a UNIX clone, but it works like UNIX.
What is FreeBSD Operating System?
Initially, its development was based on the Net/2 version, also known as William Jolitz’s 386BSD, an operating system for personal computers based on the CPUs of Intel architecture, including 386, 486, and Pentium processors.
Intel-compatible processors like AMD and Cyrix are also supported. It offers many advanced features previously only available on much more expensive computers.
These features include preventive multitasking with a dynamic priority setting to provide the best resource sharing between applications and users.
It is a completely free operating system, meaning you don’t have to pay for additional use, it has all the Core source code that allows you to make any changes or improvements, compile and check the results. This is one of its biggest advantages over other systems like Linux.
The project, just two years after Linux in 1993, “The unofficial 386BSD Patchkit: Nate William comes up with a partial split of the 3 coordinators of Rod Grimes and Jordan K. Hubbard, but on the contrary, FreeBSD is trying to be a Unified set. There are no kernel and system applications developed separately (Linux and GNU), but everything is developed by the same team.
There is no distribution concept in FreeBSD, or more precisely, there is only one distribution, so users do not get confused because they always use the same thing.
It is radically different from the GNU/Linux license. Although GNU/Linux (GPL) license has Copyleft, it does not have a license, so it is possible to do derivative works of the proprietary software, as in Mac OS X.
Its original goal was to produce an intermediate sample of 386BSD to solve a number of problems that the patch kit mechanism could not solve.
Some may remember the first name of the 386BSD Interim project. The name FreeBSD was proposed by David Greenman. Walnut Creek has approved its distribution with CDROM to have a distribution channel for anyone who doesn’t have easy access to the internet.
Walnut Creek not only supported the idea of distributing FreeBSD to CDROM but also provided a mechanism for the development of projects and a fast Internet connection.
Without the support and trust of Walnut Creek for an unusual and newborn project, it could never be as fast as possible.
It has been very successful in the field of Internet services. It is specially designed to be a web, mail, file, database server.
It is said to be the best server operating system in terms of stability, efficiency, and performance compared to others like GNU/Linux or Windows, and behaves very well in situations where thousands of queries per minute are excessive.
These features are due to the special optimization of the FreeBSD kernel for certain hardware architectures, so it supports a few of them compared to GNU/Linux.
It also stands out to have one of the most advanced memories management systems currently available that makes the swap part very smart.
During this time, a number of unexpected problems arose on the horizon as Novell and U.C. Berkeley resolved its longstanding legal disputes on Berkeley’s Net/2 status. One of the terms of the agreement was the privilege of U.C. Berkeley inherited most of the Net/2 code, as Novell had previously taken from AT&T. In return, Berkeley was allowed to declare the 4.4BSD-Lite version it received for free, and all existing Net/2 users were reported to be switching.
This included FreeBSD and the project had to offer its Net/2 based product by July 1994. Under the terms of this agreement, the project is permitted in the latest version of 126.96.36.199.
From that moment on, it started the challenging task of literally reinventing herself from a new and incomplete 4.4BSD-Lite.
The project completed this transition in December 1994, and in January 1995 version 2.0 was released on the Internet and CDROM. Given all the issues, the version was a huge success, then in June 1995 2.0.5 became more robust and easy to install.
In August 1996, version 2.1.5 was released, which is well known among ISS and business communities. Launched in February 1997, 188.8.131.52 was the end of the development of the 2.1 stable version.
Currently, this branch is in maintenance mode, it only performs security work or critical problem-solving.
FreeBSD 2.2 was born in November 1996 as the RELENG 2.2 branch from the main development line (“-current) and the first full release was made in April 1997.
The next versions of Branch 2.2 took place in the summer and autumn of 1997, the last one in July 1998. The first official version of Branch 3.0 was released in October 1998, and the last version of Branch 2.2 was released in November 1998.
Long-term developments, such as SMP Support or the ALPHA DEC platform, continued on CDROM and, of course, on the 3.0 stream branch and 3.0 SNAP images on the Net.
It is a BSD 4.4 based system developed by the Computer Systems Research Group at the University of California in Berkeley, a standard version of Unix.
It offers preventive multitasking with a dynamic priority setting to ensure that resources are best shared between apps and users.
Dynamically loadable kernel modules allow new file systems, Network Protocols, or Binary Emulators to be loaded into the system without the need to create a new kernel.
Multi-user access means that different people can use a system simultaneously to do different things. System Peripherals such as Printer and Ribbon can also be shared among all users of the system.
Your machine, which has a complete TCP/IP connection including SLIP, PPP, NFS, and NIS support, performs tasks like NFS, E-mail services, WWW, FTP, Router and Firewall, as well as acting as the main server.
Memory protection ensures that applications cannot interfere with each other. If an application fails, it does not affect the operations in the remaining application.
FreeBSD is a 32-bit operating system and was designed this way from the start.
The industry standard X Window System (X11R6) provides a graphical user interface (GUI) for the most common VGA cards and monitors, including all source codes.
It has dual compatibility with many local SCO, BSDI, NetBSD, Linux and 386BSD programs.
There are hundreds of ready-to-use applications in package collections. It is compatible with the source code of the most popular and commercial Unix systems and requires very little modification to compile applications.
There are shared libraries that allow efficient use of disk and memory areas. A complete set of development tools is available in C, C++, and Fortran. Many additional languages are included in the Ports and Packages collections for advanced research and development.
The complete source code of your entire system offers a maximum degree of control over your environment.
The applications that FreeBSD may be exposed to are only limited by your imagination. You can do everything from software development to automation or robot technology, to inventory control or azimuth correction of remote satellite antennas. If it can be done with a commercial Unix product, it is more likely to be done with FreeBSD.
It benefits significantly from thousands of high-quality applications developed by research centers and universities around the world, provided with little or no cost. There are also commercial applications that appear more and more every day.
Because all system code is available, it can be customized in ways that are often not possible for most commercial operating systems for specific applications or projects. Here are some of the applications that FreeBSD can provide:
Internet Services: It makes it an ideal platform for robust TCP/IP Internet service integrated into FreeBSD.
Education: There is no better way to learn about operating systems, computer architecture, and networks than you can use the full code of an operating system such as FreeBSD. The number of Packages freely available in CAD, math, and graphic design makes this system an ideal tool for those who use computers for other things.
Research: With all available source code, FreeBSD is an excellent research platform for Operating Systems. The free distribution feature of FreeBSD made it possible for remote groups to work and collaborate on shared developments without worrying about private licenses or any kind of restrictions.
Networking: FreeBSD can convert older 386 or 486 computers into advanced routers with advanced packet filtering capabilities.
Window Workstation: FreeBSD is a good choice for an inexpensive X terminal solution using the free XFree86 server or one of the excellent commercial servers. FreeBSD allows you to run applications locally as well as running on the central server.
Software Development: The FreeBSD core system includes a complete complement of development tools, including the GNU C/C++ compiler and debugger.
It was launched in November 1993 and then released in July 1994 with version 184.108.40.206.
2.0-RELEASE was announced on November 22, 1994. The last of FreeBSD 2, 2.2.8-RELEASE, on November 29, 1998, was alleged to be legally requested from AT&T with the approval of Novell’s UNIX code.
It was launched on October 16, 1998, and was released on June 24, 2000, with the 3.5-RELEASE version.
4.0-RELEASE appeared in March 2000, and the latest branch 4-STABLE version became 4.11 in January 2005.
It was a preferred operating system for ISPs and web hosting providers and is considered one of the most stable and high-performance operating systems in the entire Unix generation. Among the new features in FreeBSD 4, Kqueue was introduced.
After nearly three years of development, the first 5.0-RELEASE in January 2003 is widely anticipated with support for numerous advanced and application thread processors and UltraSPARC and IA-64 platforms. The first 5-STABLE version was 5.3. The latest version of the 5-STABLE branch was 5.5 in May 2006.
The major architectural improvement in FreeBSD 5 was a major change in Low-Level Core Locking Mechanisms, providing better symmetric multiprocessing (SMP).
This released most of the core of the weight lock, this is sometimes called the Giants lock. There are multiple processes that can be run in Core mode at the same time. Other important changes include an M:N native thread implementation called the core Scheduled Assets. In principle, it is similar to Timer Activations.
Starting with FreeBSD 5.3, KSE was the default thread implementation until it was replaced with the 1:1 implementation in FreeBSD 7.0.
By applying the Modular I/O disk layer to the IOM conversion frame provided by Poul-Henning Kamp, it significantly changed the I/O block.
GEOM makes it easy to create many functions such as mirroring (gmirror) and encryption (GBDE and GELI). This work was supported by DARPA sponsorship.
Versions 5.4 and 5.5 (5.x) of FreeBSD confirmed that the branch has great stability and high release performance despite a long development time due to its large feature set.
It was released on November 4, 2005. Its latest version was 6.4 on November 11, 2008. These versions continue to work on enhanced 802.11 functionality, security incident control, as well as optimizing, Network combines significant performance improvements, a completely preventive kernel and support for hardware performance counters (HWPMC).
The main successes of these releases include removing the huge VFS lock, implementing the optional 1: 1 gear best performance Libthr library, and adding a Basic Security Module (BSM) called OpenBSM audit execution. It was published under the TrustedBSD project (based on Apple Darwin’s open-source BSM implementation) and a BSD type license.
It was released on February 27, 2008. The latest version of FreeBSD 7 was 7.3 on March 23, 2010. New features included SCTP, Daily UFS, Sun ZFS file system experiment port, GCC4, improved support for the ARM architecture, Jemalloc, network, important updates, and optimizations on sound performance.
Besides Linux, it has shown a significant speed increase compared to previous versions of FreeBSD. The new ULE timer has been greatly improved, but it was decided to send 7.0 with the old 4BSD timer and left the ULE as an adjustable compile-time kernel. In 7.1, ULE was the default value for I386 and AMD64 architectures.
Starting with version 7.1, DTrace was also integrated, and version 7.2 brought support for Multi-IPv4/IPv6. The code supporting the DEC Alpha architecture has been removed in 7.0.
The 8.1 release released in June 2010 is the latest stable release. SuperPages included Xen DomU support, virtualization network stack, sensational stack protection, a new USB stack including TTY layer rewrite, greatly improved ZFS support, IGMPv3 multicast updates, and NFSv4’s rewritten NFS client/server features.
The addition of the Mmap Enhanced Device allows application extensions of the 64-bit NVIDIA display driver for the X86-64 platform. Version 8.1 was officially released on July 23, 2010.
The first release, released on January 12, 2012, included the Capsicum capability security mechanism, UFS SoftUpdates + Journal, ZFS 28, the new system setup program bsdinstall, the Flexible resource limiting mechanism RCTL, the flexible software RAID application GRAID, and virtio drivers.
Version 10.0, released on January 20, 2014, included ZFS support in the BHyVe hypervisor, GCC, iSCSI, NAND Framework, Root file system. Also, Raspberry Pi and next-generation PKG support were one of the newest features. It was supported until October 30, 2018, with version 10.4.
Version 11.0, launched on October 10, 2016, is the stable version that will be supported until 2021. Released 11.1 in 2017, 11.2 in 2018, and 11.3 in 2019. The most obvious feature added to the 11 version is the 64-Bit ARM architecture support.
Launched on December 11, 2018, this version is actively under development with release 12.1 on November 4, 2019. The features that come with this release are the inclusion of ATI and NVIDIA video card drivers in the Ports Collection and adding EXT4 support.
CD-ROMs can be installed from various media, such as DVD-ROMs, floppy disks, magnetic tapes, MS-DOS partition, or, if there is a network connection, can be installed directly using anonymous FTP or NFS.
The sysinstall utility is responsible for installing the operating system and has several alternatives. That is, it installs the system using data from a local storage device or installs it by downloading the necessary files from a remote server via a file transfer protocol.
It was released under various open-source licenses. Core code and the latest code generation are distributed under a two-sided BSD License, which allows anyone to use and redistribute FreeBSD as desired. There are parties released under three and four BSD clauses and also under the Beerware License.
Some device drivers contain a binary blob such as HAL Atheros of versions earlier than 7.2. Some of the code contributed by projects is licensed under GPL, LGPL, ISC, or CDDL.
All codes under the GPL and CDDL licenses are clearly separated from the code under liberal licenses to make it easier for users, such as built-in device manufacturers, to use only Free Software licenses.
ClangBSD aims to replace some GPL dependencies in its basic system by replacing the GNU compiler collection with a BSD LLVM compiler/metallic noise license. ClangBSD became an important milestone for further independent development on April 16, 2010.
FreeBSD’s mascot is the generic BSD Daemon, also known as the Beastie. Its logo for many years is the general BSD Daemon, also called Beastie, a strange phonetic pronunciation in BSD. It first appeared on UNIX T-shirts bought by Bell Labs in 1976. The most popular versions of the BSD background program are the work of animation director John Lasseter, launched in 1984.
Several specific versions of FreeBSD were later prepared by Tatsumi Hosokawa. Over the years, Beastie has been both loved and criticized and perhaps not suitable for institutional and mass-market exposure.
Also, it was not exclusive to FreeBSD. Lithographically, the graphics are not Lasseter line art and often require a controlled printing process, four-color offset photographs to stay true to the original on physical surfaces such as paper.
The BSD background program made it difficult to reproduce reliably as a simple logo, considering that there are highly detailed graphics to grow to the right size and more aesthetically dependent on multiple shades.
Due to these concerns, a contest was opened and a new logo designed by Anton K. Gural, whose BSD background program is still reverberant, was released on October 8, 2005.
Security is extremely important to the release engineering group. This is reflected in different areas:
All security issues and patches that fix them go through the security team that released them and is available to users known as Advisories. The security team has a justified reputation for speed in solving security problems.
One of the frequently encountered problems with open source software is the insufficiency of applications that can be run. There are tens of thousands of projects developing open source applications, of course, not all of them have the same rigor in terms of security. In FreeBSD, this problem is stopped thanks to VuXML.
It consists of a database where the security issues that appear are stored; this database intersects with the knowledge of the programs and Ports Collection applications included in FreeBSD.
There is Portaudit, where an application can quickly determine whether it is vulnerable. If so, you will get a description of the problem with a link where you will find more detailed information on the problem.
It also provides several mechanisms for the administrator to meet the security requirements that the operating system needs:
The Jail Utility program allows the administrator to cage a process. It is ideal for applications that cannot work in a chroot environment.
Chflags Utility increases the security provided by the traditional UNIX permission system. For example, changing one or more of the given files may be prohibited; it is even possible to forbid the super user to change or delete them.
It offers 3 embedded and NAT-supported firewalls that allow you to choose the most appropriate rules for the security needs of each situation.
The FreeBSD Kernel can be changed very easily, allowing the administrator to remove unnecessary features from it. It also supports dynamic modules and has tools for loading, downloading, and viewing modules in the kernel.
Sysctl allows the administrator to view and configure a large number of kernel features without having to restart the machine.
Most software running on Linux can be run without any compatibility layer. However, it still provides a compatibility layer for other Unix-like operating systems, including Linux.
Therefore, most Linux binaries can only be run in some special applications that are distributed in binary format only.
While running Linux binary files, local FreeBSD programs are not given any performance penalty, and in some cases, they may perform more smoothly than Linux.
However, the layer is not completely transparent, and some Linux binaries cannot be used in FreeBSD or only partially.
It is supported by a very active community. There are over a hundred mailing lists and many newsgroups. There are also a large number of user groups and various IRC channels worldwide. Commercial support is also received from one of the companies providing commercial products and services and/or consulting services.
This community consists of professionals who are more interested in discussing facts and techniques than spending more time discussing their ideas or participating in holy wars. In this way, FreeBSD lists and forums generally have a good signal/noise ratio.