{"id":49092,"date":"2015-05-01T00:00:00","date_gmt":"2015-05-01T00:00:00","guid":{"rendered":"https:\/\/www.techopedia.com\/a-closer-look-at-freebsd\/"},"modified":"2015-05-01T10:22:31","modified_gmt":"2015-05-01T10:22:31","slug":"a-closer-look-at-freebsd","status":"publish","type":"post","link":"https:\/\/www.techopedia.com\/2\/31035\/software\/a-closer-look-at-freebsd","title":{"rendered":"A Closer Look at FreeBSD"},"content":{"rendered":"
Despite its age, it still pops up in places you wouldn’t expect. If you use an Apple device, chat on WhatsApp or watch a movie on Netflix, you’re interacting with FreeBSD<\/a>. Here we take a look at this Unix-like operating system.<\/p>\n FreeBSD has its roots in the original BSD<\/a> version of Unix that was first created in 1977 by Bill Joy, who would later co-found Sun Microsystems. We’ve covered the history of BSD in general in detail in another article<\/a>.<\/p>\n FreeBSD, as well as all the other major BSD variants, including NetBSD, are descended from 386BSD, the first BSD version to run on PC hardware. For various reasons William Jolitz, the creator of 386BSD, stalled on the project. Other groups stepped in with their own modifications, known as "patchkits." The group that would become FreeBSD was one of them.<\/p>\n A lawsuit by AT&T asserting copyright over the BSD code distracted the community, but the terms were worked out and FreeBSD moved to the BSD 4.4 "Lite" codebase that had no AT&T code in version 2.0.<\/p>\n FreeBSD got a lot of attention in the ’90s, being used to run a number of ISPs and websites. Yahoo was a notable user. The current version of FreeBSD is 10, and it’s still going strong, even as the computer world has changed.<\/p>\n FreeBSD has a number of features that make it a favorite of users.<\/p>\n Stability<\/span> At the same time it prizes stability, FreeBSD is also on the cutting edge in some areas, namely the ZFS file system and the LLVM compiler, as seen below.<\/p>\n ZFS<\/span> ZFS has a number of advanced features, including protection against data corruption<\/a>. Another major feature is storage pools, which is an abstraction layer on top of the physical drive. Storage pools can be subdivided into block devices, hard drive partitions, or, as, Oracle recommends, using entire drives. For a desktop or small office\/home office server, an entire drive will be sufficient.<\/p>\n ZFS also uses some sophisticated caching to boost performance.<\/p>\n LLVM and clang<\/span> LLVM, or Low Level Virtual Machine, is an attempt to build a compiler out of small components. Despite the name, it’s not actually a virtual machine<\/a>. It’s also not limited to C, but can in theory support any language. It just happens that C is the most widespread language on Unix systems.<\/p>\n Ports and Packages<\/span> FreeBSD has its own version that comes in two flavors: ports and packages. Ports are typically compiled, which makes the compiler more important in the BSD world, while packages are just precompiled binaries. The latter are suited for larger software programs like desktops that are time-consuming to compile on most systems.<\/p>\n Jails<\/span> A similar idea is starting to take off in the Linux world, particularly with Docker.<\/p>\n BSD License<\/span> FreeBSD has a lot of uses today, despite its age. There’s a lot more embedded use, such as in routers and other devices. The derivatives mentioned below are also excellent examples. Some very big names, including Netflix and WhatsApp use FreeBSD. One of WhatsApp’s developers made a large donation<\/a> to the FreeBSD Foundation. The Playstation 3 and Playstation 4 consoles are also based on FreeBSD. FreeBSD is everywhere.<\/p>\n Derivatives:<\/p>\nHistory<\/span><\/h2>\n
Features<\/span><\/h2>\n
\nFreeBSD users love to tout its stability. While FreeBSD, thanks to its popularity in server environments, doesn’t crash very often, its commitment goes much deeper. As the FreeBSD advocacy page<\/a> puts it: "It means that upgrading the system doesn’t require upgrading the user. Configuration interfaces do change over time, but only when there is a good reason. If you learned how to use FreeBSD in 2000, then most of your knowledge would still be relevant. Backwards compatibility is very important to the FreeBSD team, and any release in a major release series is expected to be able to run any code \u2014 including kernel modules \u2014 that ran on an earlier version. The entire base system is developed together, including the kernel<\/a>, the core utilities, and the configuration system, so upgrades are usually painless. Included tools like mergemaster help update configuration files with little or no manual intervention."<\/p>\n
\nWhile ZFS<\/a> is not exclusive to FreeBSD, as it was originally developed by Sun (now Oracle), it\u2019s still the biggest open-source implementation, as ZFS has some licensing issues that the Linux kernel developers found objectionable.<\/p>\n
\nWhile a compiler won\u2019t effect most users, it\u2019s essential for developers, as the rest of the system couldn’t exist without it. Clang is a C compiler, as the name suggests, that\u2019s a front end to LLVM<\/a>. It was originally developed by Apple (more on their relationship to FreeBSD later). FreeBSD is using it in favor of GCC, which is ubiquitous in the open-source world. Clang touts faster performance over GCC.<\/p>\n
\nOne of the strengths of modern Unix-like systems is package managers, which make installing software much easier. They\u2019re such a good idea that both Windows and Mac OS X copied the idea with their respective software stores.<\/p>\n
\nJails are a unique security feature on FreeBSD. A jail allows administrators to isolate a process from the rest of the system, with a view of its own filesystem. The advantage of this is that if an attacker gets into a system, it will limit the damage a malicious user will do.<\/p>\n
\nAnother distinguishing feature of FreeBSD, which is common to the other branches, is its license. Unlike the GPL<\/a>, while it\u2019s still an open-source license, it\u2019s possible to make changes and release them without having the derivative program under the same license. This makes FreeBSD and NetBSD particularly attractive for embedded systems development.<\/p>\nWho Uses FreeBSD?<\/span><\/h2>\n
\n
The Future?<\/span><\/h2>\n