Pros and cons of FreeBSD for virtual servers
14:01, 15.02.2023
FreeBSD is a free open source Unix-like operating system. Over its lifetime the operating system has become popular as a server platform. One of the most important features of FreeBSD is its reliability as a virtual server.
For example, Netflix and Sony use FreeBSD to power their servers. In this article we will discuss the benefits of FreeBSD, its features and the advantages of using it for VPS. First we will look at the origins of BSD and where it came from.
History of BSD and FreeBSD
BSD was born in 1974. The University of California at Berkeley bought the Unix source code license from AT&T. With the help of the US military research agency, a research group began to update and improve Unix
This modified version was called "Berkeley Unix", also known as "Berkeley Software Distribution". The modification included several technologies. Among the main ones were TCP/IP, the Berkeley System Fast File system, and virtual memory.
Bill Joy created the BSD project in 1976. The public version of BSD, "Networking Release 1" (Net-1 for short), was released in the summer of 1989. "Networking Release 2 (Net-2), which used some of AT&T's work, was launched in 1991. In 1993 the project was given the name FreeBSD. This happened in June. The first release was in the fall of 1993.
FreeBSD OC versions
There are 13 releases of the operating system. Let's take a look at the significant ones.
FreeBSD 1
The first official version. Among the notable features of the version are the appearance of several ported programs.
FreeBSD 2
Introduced the following fall, FreeBSD 2 was a release that did not use AT&T Unix in its code. Even then, the OS was already actively used for server administration. Significant changes can be listed in this release:
- the code base was changed to a completely rewritten BSD-Lite 4.4 (to settle the Unix System Laboratories lawsuit against BSDi);
- new download manager and installer have been implemented;
- the number of supported file systems has increased, now the OS can work with MS-DOS, unionfs, and kernfs;
- the loadable kernel modules were imported from NetBSD;
- ELF allows to fully emulate Linux.
In this version the performance has increased significantly, and among the main tasks was to support multi-threading and multiprocessor.
FreeBSD 3
The update came four years later. It was released on October 16, 1998. The version 3 branch was the first to be able to provide SMP operation. Symmetric multiprocessor systems were controlled by Giant-lock. Version 3.1 provided USB capability, and 3.2 supported Gigabit network adapters for the first time.
FreeBSD 4
FreeBSD 4 was released in the spring of 2000 and was developed and updated until January 31, 2007. FreeBSD 4 became the OS of choice for Internet service providers and hosting providers during the dot-com boom. The operating system was seen as one of the most reliable and productive solutions in the entire Unix family.
FreeBSD 8
FreeBSD 8 26 was released in November 2009. A virtualization container called "vimage" was added to the new version. This is a FreeBSD jail that contains a virtualized instance of the FreeBSD network stack and is created using the command of the same name. The FreeBSD netisr (Kernel network dispatch service) framework was rewritten to allow threads to run in parallel. FreeBSD 8 started supporting USB 3.0
FreeBSD 13
The release date is April 13, 2021. The version received significant improvements, such as the move to the new OpenZFS file system and the new toolset which attempts to unify FreeBSD on all platforms. The removal of support for outdated drivers has resulted in improved performance on modern machines. This version prioritized cleaning up the codebase and improving performance.
Developing releases for FreeBSD
Although no one owns FreeBSD, the organization is divided into core, committers, and contributors. The primary resource for the FreeBSD community is its developers: the committers and contributors. It is thanks to their contributions that the project grows.
Contributors are ordinary developers who suggest changes. Committers are developers who have the privilege of committing changes. These are usually the most active developers who integrate not only their own code, but also that of the contributors. These developers are elected to the core team (core) and have access to private discussions.
OS releases are divided into two branches, FreeBSD-CURRENT and FreeBSD-STABLE. After a change is integrated into a development release, called FreeBSD-CURRENT, it is tested by many users and developers in the FreeBSD community.
After a change has been tested, it is merged with a production release called FreeBSD-STABLE. The minimum time a commit stays in -CURRENT before it is merged into -STABLE is 3 days. Such a merge is called an MFC (Merge From Current).
Pros and cons of VPS on FreeBSD
FreeBSD is suitable for those who want a relatively affordable dedicated server with stable software protected from malware and hackers.
FreeBSD makes intelligent use of computing resources. The operating system supports most modern hardware and allows the use of various software. The main advantage of the operating system is that it was originally created as a server platform.
FreeBSD is a monolithic operating system. Each of its elements is controlled because it is in a single tree. The FreeBSD kernel has a complete logical structure and is distinguished by its integrity.
Among the weaknesses of the operating system highlight difficulties with installation and setup, problems with installing drivers on some devices, difficulty in obtaining documentation, and a small amount of literature for beginners. But if you master the command line and understand how to configure configuration files, using the OS becomes simple and straightforward.
To summarize, FreeBSD offers many unique features. It is flexible enough to be customized to suit any requirement. FreeBSD offers advanced networking features, superior performance, security, and compatibility not found in many other operating systems to date. The openness of the operating system means that it is constantly evolving and improving.