What is FreeBSD? What is it used for?

27.01.2021 1,988 0

Maybe you don’t know exactly what FreeBSD is, but you have possibly seen “Beastie” somewhere. The BSD daemon logo. It came to be because of the pronunciation of BSD and how much it sounds like “beastie”. And its daemon concept comes from those computer programs of Unix based operating systems, called daemons.

FreeBSD means Free Berkeley Software Distribution. It’s an operating system (OS) for embedded platforms, servers, desktops, etc. 

Compatibility, speed, storage, high security, networking, and stability are some of its features. FreeBSD is open-source, free for users around the world use, modify, improve or change it the way they want. 

FreeBSD is similar to Linux. Their main differences are that Linux delivers kernel and drivers but the software is mostly third-party. The FreeBSD system includes kernel, drivers, utilities, software, and documentation. Linux’ code has a copyleft general public license, meaning it’s free to use and modify, as long as the modified product follows the same license. While FreeBSD uses the BSD license, more permissive, allowing for commercial use of the modified FreeBSD software.

Because of this, FreeBSD code has become the base of very popular OSes: Darwin (macOS, iPadOS, iOS… origin), FreeNAS, Playstation 3, and 4 consoles. WhatsApp, Nokia, Netflix, IBM, Sony Japan, Netcraft, Yahoo, Yandex, Apache, Cisco, McAfee, Dell EMC Isilon, NetApp, Verisign, and more international ventures also use it. 

A short history of FreeBSD

Bell Labs’ “Research Unix” gave birth to the first Unix operating systems. Based on it, Berkeley Software Distribution (BSD) was developed, from which FreeBSD was created and released in 1993.

In 1974, a Unix source license from AT&T Bells Labs was given to the University of California, Berkeley. Berkeley researchers enabled virtual memory, fast file system, and TCP/IP on it. This modified version was named first, “Berkeley Unix” and finally, “Berkeley Software Distribution” (BSD). AT&T, the Unix owner, gave a license to Berkeley to use it. 

In 1989, “Networking Release 1” (Net-1) was the first BSD public version. To make the code free-redistributable (BSD license), efforts focused on replacing AT&T code. Almost everything was replaced but six AT&T files.

By 1991, “Networking Release 2” (Net-2) got public but without the six AT&T files that were still in the kernel.

In 1992, AT&T’s six files replacements were finally written. The complete OS got ready, ported to Intel 80386-based microprocessors, named “386BSD” and released through an anonymous FTP.

In 1993, 386BSD users created the FreeBSD project to enhance and keep the OS updated. 

FreeBSD features

Differences can be found from version to version. The following are general FreeBSD features that are valid for the latest canonical FreeBSD version. 

Security

It includes extended file system attributes, access control lists, mandatory access controls, security event auditing, and more.

Storage

It offers two choices to encrypt data at the disk level, GBDE, and Geli. The first builds a random key every time a sector is written. And Geli lets the key to be built with different data elements (file bits, phrase, etc.). It allows for multiple keys (user, enterprise…) and a one-time key.

FreeBSD supports the ZFS file system, this creates a file system to expand through a series of drives or a pool. And it can add extra storage to a pool by adding another drive. ZFS formats and manages partitions.

Through soft updates, it protects the UFS file system in case of a system crash. Its snapshot feature efficiently backs up the UFS. 

Its GEOM includes full disk encryption, journaling, RAID, caching, access to network-backed storage, and concatenation. GEOM supports combinations of all of these storage options. 

Compatibility (hardware)

The range of devices FreeBSD supports is quite wide. System boards and processors (amd64, i386, pc98, PowerPC, sparc64), devices (Ethernet, FDDI, ATM, wireless network and serial interfaces, miscellaneous networks, disk controllers, sound, camera, video capture, USB, IEEE 1394 –firewire- and Bluetooth), cryptographic accelerators and more. You can check out the FreeBSD hardware compatibility online, before installing.

Compatibility with different OSes

FreeBSD features built-in compatibility layers. Therefore, almost all software that works on Linux can work on FreeBSD, some Linux-like OSes, BSD/OS, SVR4, Windows with Wine.

Third-party software

FreeBSD’s official repository offers around 26,000 third-party apps. The OS provides just the structure, called “ports collection”, to set up such software. 

The apps should be compiled from the source if it’s in compliance with their license terms, or they could be downloaded as precompiled binaries. Ports look for the app source code the users want (from a remote or local repository), unpack it on the system, patch it, and finally, compile it. Some FreeBSD versions include a package manager to install, upgrade, and easily remove packages.

Networking

FreeBSD TCP/IP stack is based on the 4.2BSD implementation of TCP/IP. In general, it also supports IPv6, SCTP, IPSec, IPX, Apple Talk, wireless networking (Wi-Fi), and Common Address Redundancy Protocol (CARP), the one for having multiple nodes sharing a set of IP addresses. If one node fails, the rest can check the requests.

Jails

Jail is FreeBSD’s ability to run multiple virtual machines with different OSes on top of a FreeBSD host, through virtualization (OS-level) and a security mechanism. Each jail works with an individual IP address and hostname. All jails share the same kernel and they all can work simultaneously. But they run independent processes, which means a jail takes just its own resources, rather than others’ resources.

Virtualization

FreeBSD bhyve is a more recent solution that replaces jails, to get kind of the same result. To be able to run different guest OSes, like Windows, Linux, or OpenBSD, at the same time. The main difference between the jails and bhyve is that jails occur on an OS-level exclusively for FreeBSD guests. While bjyve doesn´t have such a limit.

FreeBSD kernel

It has a modular design for users to install or uninstall the modules they want when they need them. It has a scalable event notification interface. It supports communication, managing processes booting, and file systems.

Shell

FreeBSD’s shell by default, for root users is tcsh and for regular users, sh.

Installers

The installer options are either sysinstall or bsdinstall. These are the ways for users to configure software, ports, and packages. Bsdinstall is more flexible, modular, and newer on FreeBSD than esysinstall.

Portability

FreeBSD can be ported on different architectures. It works best on x86 (32 bit) and x86-64 (64 bit), but to a various degree can function on NEC PC-9801, 64-bit SPARC, 32-bit, and 64-bit PowerPC, 32-bit ARM, 64-bit ARM. The support is limited, but they are candidates for full support in the future. The following architecture has partial support IA-64, MIPS, RISC-V, and DEC Alpha is not supported at all.

Support

Data related to the FreeBSD project (manuals, frequent questions, archives…) is available for every interested user, in different languages. And the community is vast around the world and that means reliable support.

What is FreeBSD used for? 

After reviewing most FreeBSD features, the easiest answer is, FreeBSD is a reliable, general-purpose operating system. So there’s no limit to use it. Let’s see some possibilities.

FreeBSD could be configured to work as:

  • Firewall
  • Router
  • FTP server
  • DNS server
  • mail server
  • web server
  • home media server
  • OS for a regular user laptop or desktop
  • Networking
  • Network-attached storage (NAS)
  • Web content filtering proxy
  • Database management system
  • Moodle
  • Embedded platforms
  • And much more…

So research (unlimited fields), education, Internet services, software development, process automation, and more areas can get the benefits of FreeBSD. 

Advantages of FreeBSD

FreeBSD has many pros:

  • Free. No cost to use it.
  • Open-source. You can modify the code the way you want.
  • The BSD license allows for commercial use of the modified code.
  • Stable OS. And it is a complete one, not just a kernel.
  • Security. By default, it is good, and you can extra protect it. 
  • Good performance. In many cases, it could have better performance in comparison to many Linux distros with the same hardware.
  • Multipurpose. You can use it for many different needs.

Disadvantages of FreeBSD

FreeBSD has some cons too:

  • Lack of broader hardware support for more components.
  • The FreeBSD community is smaller in comparison with Linux.
  • There is a very limited amount of 3-rd party software.

FreeBSD distros

Different distros have been developed through time, based on FreeBSD. Every distro is focused on different aspects and users’ needs. Let’s cover some of the most popular ones.

FreeBSD

This a highly used distro, easy to find on many servers and desktops. It is complex to use so it’s a choice for people with more experience. We have already discussed its features extensively. Due to its popularity, it will be easy to be supported by other users.

TrueNAS (network-attached-storage)

An OS that offers a clear web interface, a shell console to manage administrative functions. It’s available at least in 20 languages. There are more than 20,000 ports and packages on official repositories. It supports Unix, macOS, Windows, and different virtualization hosts. It works on the x86-64 architecture. TrueNAS OS works totally independent of its storage disks. 

GhostBSD

This is a simpler and friendlier distro for desktop users. The desktop environment is MATE or XFCE. Once the OS is set up, desktop software required by most of the regular users will be also installed without extra steps.  

pfSense

This is a firewall/router focused distro. Its configuration can be done on a physical device or a virtual machine to create an efficient dedicated firewall/router in a network. It can be installed and enhanced via a web-based interface. It’s a reliable solution to protect networks.

OPNSense

Another firewall/router distro. Besides these main capabilities, it also includes a virtual private network, traffic shaping, and load balancing. More capabilities can be enabled through plug-ins. Its interface is web-based and it works on x86-64 and i386 architecture.

XigmaNAS (network-attached-storage)

Its web interface is written in PHP and through it the user can configure everything. It supports UNIX-like OSes, Apple, and Windows. It works on x86-64 and ARM architectures. It’s available in over 20 languages.

Conclusion

FreeBSD has definitely taken advantage of the UNIX legacy and enriched it. Today, FreeBSD is positioned as a reliable operating system that also has deeply influenced the development of big open sources, besides itself.

Now you know all the benefits that this multiple-purpose, open-source can have in store for you. If you feel like giving it a try, empowering your business with the unlimited capabilities of FreeBSD, look up our Cloud servers or Dedicated servers. We have many options, so we will surely suit your needs.

Leave a Reply

Your email address will not be published.