If you’re new to FreeBSD, you probably have a lot of questions. It’s a sophisticated system that takes time and practice to get familiar with.
Fortunately, the experts at A-Team Systems have decades of experience with open-source systems, including FreeBSD! We put together this all-encompassing guide to help you learn the fundamentals of this dynamic platform and how it works.
Our experts love working with FreeBSD and we’re happy to help if you have any questions, so please don’t hesitate to reach out. We also offer support and systems administration for FreeBSD. If your organization needs support, set up a consultation today and we’ll help you get back on track.
FreeBSD History
FreeBSD was first released in December of 1993. But the origins of the system go back even further. In 1974, AT&T’s Bell Labs gave a Unix source license to the University of California, Berkeley. They focused on developing the system’s storage and file system. This new iteration became known as “Berkeley Unix” and eventually “Berkeley Software Distribution” or BSD.
Their first public version was entitled “Networking Release 1,” but the developers ran into legal problems due to the fact that some of the code was still left over from AT&T.
Jordan Hubbard, one of the original coordinators of the project states:
“Around this time, some rather unexpected storm clouds formed on the horizon as Novell and U.C. Berkeley settled their long-running lawsuit over the legal status of the Berkeley Net/2 tape. A condition of that settlement was U.C. Berkeley’s concession that large parts of Net/2 were “encumbered” code and the property of Novell, who had in turn acquired it from AT&T some time previously. What Berkeley got in return was Novell’s “blessing” that the 4.4BSD-Lite release, when it was finally released, would be declared unencumbered and all existing Net/2 users would be strongly encouraged to switch. This included FreeBSD, and the project was given until the end of July 1994 to stop shipping its own Net/2 based product. Under the terms of that agreement, the project was allowed one last release before the deadline, that release being FreeBSD 1.1.5.1.”
Afterwards, FreeBSD was able to launch unencumbered by their legal limitations. The system has since enjoyed a large, dedicated community that has continued to develop it for over 30 years with regular updates still being released. The latest version, FreeBSD 13.0, was released in April of 2021.
Advantages
As with any system, FreeBSD has its advantages and disadvantages.
- FreeBSD is extremely mature and stable. Therefore, you can count on it performing the way you expect it to, which can’t be said for all open-source systems.
- Its focus is on security, and it shows. This is one of the safest systems you can employ.
- It’s free. What more needs to be said? You don’t have to spend a penny to actually use FreeBSD.
- It’s licensed under the BSD license which allows you to freely use, modify, redistribute and even sell the result without having to make your work public. This is in contrast to the GPL (which covers Linux), which requires any changes as part of a product to be passed back up to the project and made public. For this reason FreeBSD is used by many large companies for the basis of their products including Apple, Citrix, Juniper, Netgate, iX Systems (TrueNAS), and more.
- It has strong documentation.
- It’s versatile. Chances are good that it’ll work for almost any application purposes.
- Solid performance.
- It’s open-source. So the customization capabilities are endless.
- Dynamic kernel customization. FreeBSD features a monolithic kernel, but you also have the option to create custom kernels that will function however you want them to.
- It is a tier 1 operating system for ZFS support, and has been for over a decade.
Disadvantages
There are a few disadvantages to FreeBSD, however, you can work around them.
- The community support for FreeBSD is limited. There is a lively community around this open-source software, but it hardly compares to the Linux support community.
- There is a limited amount of third-party software for FreeBSD.
- Lastly, there is a learning-curve. FreeBSD takes a lot of time and practice to fully understand.
Features of FreeBSD
FreeBSD features dozens of features to make your life easier. Overall, the focus is on performance, networking, and storage, but it also has dynamic functionality for system administration and documentation.
Here are some of their most notable features. Keep in mind that different versions will offer different functionality.
Virtualization: bhyve
bhyve (pronounced “beehive”) is a type-2 hypervisor that was originally created for FreeBSD (version 9.0+). It supports virtualization for most Intel and AMD processors that report the “POPCNT” (POPulation Count) processor feature in dmesg(8).
If your organization needs assistance with bhyve, I recommend taking a look at our bhyve support options. We’ve been working with bhyve for many years and can get you back on track quickly. The time you’ll save is well worth it.
Kernels
FreeBSD kernels are one of the core elements of the system. It manages security controls, memory, disk access, communication, and more. Functionality is stored in modules, which can be added and removed at will. Therefore, custom kernels can be applied to fit your needs. The default scheduler for FreeBSD is ULE, since version 7.1. This gives it greater utility with SMP and SMT environments and allows it to handle greater loads.
Jails
This is one of the key features that enhances the safety of a FreeBSD system. Administrators are able to run numerous isolated servers with different operating systems through jails. Each utilizes the same kernel, but they have an individual IP address and hostname. They build upon the concept of chroot(2), which allows them to create a safe external environment by changing the root directory of a set of processes. Because of this there is no memory, CPU or I/O overhead like there is with full virtualization. The performance of a process in a jail is identical to that of a normal process.
Jails feature:
- Directory subtrees
- This is where the process begins. Processes cannot escape this subtree after entry.
- Hostnames
- Required for a jail to function
- Specific IP Addresses
- Each jail needs an IP address and they’re traditionally alias addresses.
- Commands
- The path name for an executable.
Encryption
FreeBSD utilizes GBDE and Geli for encrypting data at the disk level.
GBDE (or GEOM Based Disk Encryption) is a block device-layer disk encryption system created by the company that would later become McAfee. It randomly generates a key every time a sector is written in order to thwart watermarking attacks.
Geli is a block device-layer disk encryption system. Geli was originally designed to thwart actual physical theft of hardware. It has evolved over the years and now it offers optional data authentication and integrity verification. Unlike GBDE, geli supports the crypto framework in FreeBSD.
Z File System
The Z File System (ZFS) is a far more dynamic file system than other systems. Instead of just being a file system, it also includes a volume manager. Because of this, ZFS allows users to to create numerous file systems that all share the same pool of available storage. This system ensures that physical errors, misprocessing, or data corruption won’t result in data loss.Therefore, it’s ideal for long-term data storage as well as high performance.
Operating System Compatibility
FreeBSD utilizes compatibility layers. This ensures that most Linux software also works with FreeBSD. This compatibility also extends to Windows with WINE, which allows users to utilize Windows applications with FreeBSD.
Porting
Users and administrators can easily install applications through the FreeBSD Ports and Packages Collection.
Shells
Shells take commands from the input channel and execute them. This extends to file management, file globing, command line editing, command macros, and environment variables. By default, FreeBSD uses the tcsh and sh shell for root users. Additional shells are available from the FreeBSD Ports Collection.
Networking
The 4.2BSD implementation of TCP/IP served as the foundation for FreeBSD’s TCP/IP stack. It also supports the IPv6 and IPSec stacks from the Kame project. It also functions with SCTP and wireless networking.
Community Support
FreeBSD has an extensive community that consistently works to provide support and updates for the platform. They offer numerous mailing lists, forums, and community news websites. You can also find wikis and blogs dedicated to troubleshooting and support. Our own blog features support topics and breaking news regarding FreeBSD.
Governance Structure – Core Team
Given that FreeBSD is a free open-source project, they don’t have a board of directors like you’d expect with a corporation. Instead, it’s run by ~500 committers around the globe. This group is allowed access to the master source code repositories in order to debug, develop, or otherwise improve the system. Very few of these developers receive financial compensation for their time; the vast majority are volunteers.
The members of this team are generally community contributors before they’re asked to join. After submitting numerous high-quality patches to the project, they may be asked to become a committer. Thousands of developers across the globe function as contributors.
There are also 9 members of a Core Team who are tasked with steering the project for the future. They also create rules and approve new committers. This is the closest thing to a board of directors that FreeBSD has and they’re elected by committers. In order to vote for the Core Team, a committer must have made at least one change to one of the project’s repositories in the past year. The 9 Core Team members serve for 2 year terms after being elected.
The current Core Team is: Sean Chittenden, Baptiste Daroussin, Kyle Evans, Mark Johnston, Scott Long, Warner Losh, Ed Maste, George V. Neville-Neil, and Hiroki Sato. They were elected in 2020 and will be up for re-election in 2022.
What is FreeBSD used for?
FreeBSD is a stable and versatile operating system. As a result, there is no restriction on how it can be used.
FreeBSD is a multiplatform operating system that emphasizes functionality, performance, and reliability. It is based on BSD, a UNIX® version created at the University of California, Berkeley.
It is commonly used as a web server, email server, DNS server, NAS (disk server), and other computer room functions. FreeBSD’s major benefit was its high stability and ability to run for years without restarting (with certified hardware).
Is FreeBSD an OS?
Yes. FreeBSD is a Unix-like operating system which was based on Research Unix. In 1993, the first version of FreeBSD was published. FreeBSD was the most popular open-source BSD operating system in 2005, accounting for more than three-quarters of all BSD systems installed with a simple, permissive license.
Is FreeBSD dead?
No. FreeBSD still has a large user-base and releases updates regularly. It is a remarkably stable system overall and tends to have a slight edge over Linux when it comes to security.
That being said, some companies are moving away from FreeBSD because it can be slow to review updates and support for new hardware. For example, the latest version of Telegram on FreeBSD is nine releases behind the Linux version. There is also no scientific proof that FreeBSD performs any better than Linux.
Companies that use FreeBSD
The companies using FreeBSD are most often found in the United States and in the Computer Software industry. FreeBSD is most commonly used by businesses with 10-50 people and a revenue of $1 million to $10 million.
Here is a sample list of companies using FreeBSD:
- Netflix
- Apache
- McAfee
- Apple
- Cisco
- Dell/Compellent
- Sony
- The Weather Channel
- Voxer
- EMC/Isilon
- Intel/McAfee
- iXsystems
- Juniper
- Microsoft Azure
Can FreeBSD run Windows Programs?
The Microsoft “Windows” ABI is not natively supported by FreeBSD. However, you may run Microsoft either in a virtual machine, which emulates the complete Microsoft system. You can also use an emulator, like WINE, which runs Windows programs on Linux, BSD, Solaris, and Mac OS X without an actual Microsoft license.
The VM method is generally superior, although it needs a Microsoft license and is slightly slower than operating on a native Microsoft computer. WINE has a number of compatibility concerns, yet it may be a superior option if it works for your specific software.
Conclusion: Intro to FreeBSD
We hope that this has given you some insight into FreeBSD, its history, how it works, and more. Although it has its downsides, its security and performance capabilities make it an excellent open-source option for any organization. It’s a dynamic system that we expect to be around for years to come.
If you still have questions, contact us. We’ll get back with you as soon as we can.
Additionally, browse our FreeBSD topic archives for more information, as well as answers and solutions to common questions and problems.
Call 1-828-376-0458 to Work With Professionals Who Truly Understand FreeBSD
A-Team Systems is a proud supporter of the FreeBSD Foundation and many of our administrators are direct project contributors.