📜 ⬆️ ⬇️

Myths about FreeBSD



FreeBSD is good for servers, but not for desktops


FreeBSD has a full-featured low-latency audio subsystem, and mixing in the kernel allows multiple applications to play sounds simultaneously (with independent volume settings) without additional settings. Default settings include X.org and desktop settings, such as KDE or GNOME, it’s as easy as choosing a meta package depending on which one you prefer.

Even if this seems too complicated, PC-BSD is a full-featured desktop system built on top of FreeBSD with an easy-to-use installer and commercial support option.
')

FreeBSD uses the closed development model


FreeBSD is developed by more than 400 developers worldwide, all of them have full access to the entire system and data of this OS. Third parties also often fix their own patches. If you want to see the number of patches fixed, you can search for 'Submitted by' in the commit logs.

There are no rigid frameworks for FreeBSD. Decisions are made by people willing to do the work. If disputes arise, they are resolved by a group of developers who are elected every two years. A mandatory criterion by which developers are elected is the mandatory correction or refinement of the project code in past years.

FreeBSD - Just OS X without a nice GUI


This is the same myth about OS X as it is about FreeBSD: OS X is just FreeBSD with a nice graphical interface. These two operating systems do share some of the code, for example, most user-space utilities and the C library on OS X come from FreeBSD versions. Part of this code develops at different times and in different directions, for example, FreeBSD 9.1 later included the C ++ stack and compiler, which was originally developed for OS X by Apple employees. There are also radically different details.

The XNU core, which is used on OS X, includes several subsystems from older versions of FreeBSD, but are generally considered an independent implementation. But still, due to its similarity, products implemented on OS X are much easier to adapt for FreeBSD. For example, libdispatch and libc ++ were written for OS X and worked on FreeBSD earlier than on any other OS.

On FreeBSD, everything needs to be compiled from source code.


The FreeBSD Ports Collection is a very powerful way to install software, which allows you to customize settings for various third-party programs and libraries. However, this is not the only way to install software on FreeBSD. You can always install software from binary packages. The pkgng project added a new package format and package management tool, providing a modern set of tools for binary management.

You can install pkgng from ports (ports-mgmt / pkg) on ​​older versions of FreeBSD. It is enabled by default on FreeBSD 9.1 and later.

FreeBSD is UNIX from the 90s (or 80s)


FreeBSD is a linear descendant of the original UNIX through Berkeley Software Distribution, but it continued to develop separately. Over the past few years, we have seen that ZFS is becoming much more productive: support for 10 GB, 40 GB and 100 GB of channel, improved sound subsystem, support for 802.11n and other improvements.

This does not mean that FreeBSD has abandoned its UNIX roots. There are many reasons why UNIX systems have become popular. They include a freely distributed system that is easy to port to new platforms, a set of simple tools, and a kernel that has worked well on various platforms. FreeBSD maintains these traditions.

All the good code in FreeBSD comes from Solaris


FreeBSD imported two high profile features from OpenSolaris: DTrace and ZFS. Both are now well supported by FreeBSD. ZFS, in particular, is the focus of many FreeBSD developers, including those used by iXsystems, a company that supports the development of FreeNAS and sells commercial FreeBSD NAS devices. FreeBSD developers also work closely with the developers of Illumos, one of the open source Solaris branches, to improve both of these features.

Despite the advantages of ZFS, this is still a relatively small part of the overall system. ZFS and DTrace make up less than 4% of the code in the core, which is almost 10% of the code in the main system. If we assume that only 0.4% of FreeBSD is good, then the system would not have gained such popularity.

FreeBSD has no drivers


This is a problem that all operating systems face - even newer versions of Windows. Most of the time, users do not care about the total number of drivers, only if the drivers are already installed by default. There are some omissions in terms of driver support, but FreeBSD supports a wide range of network cards (including 802.11n chipsets), most AMD sound cards, Intel, and NVIDIA graphics processors.

Hardware support is a part of the implementation that requires constant improvement, because you can't just tell hardware manufacturers to wait a couple years for software developers to catch up with them. Providing support for new devices takes time to configure, although some manufacturers themselves provide drivers, for example, Nvidia provides drivers for their GPU and Intel for the latest network controllers. Other manufacturers provide assistance in developing FreeBSD drivers, including Broadcom, JMicron, HP, Mellanox, Chelsio, and Solarflare. If you know devices that are not supported by FreeBSD, it’s best to let developers and device manufacturers know about it. As a rule, the best push to solve a problem on the part of manufacturers is the message that their customers cannot use their products.

FreeBSD 4.x the best of everything


The 4.x release was the most stable and FreeBSD was proud that they were able to implement such a product. Many users continued to use it over the years. The 5.x series was released during the transition to multithreading optimization. This included replacing a single lock around the kernel with a number of smaller locks that are used by individual subsystems. This required a large piece of work, which could not but lead to some errors. 5.x was delivered with two implementations of thread processing, and this further complicated the situation. The first two issues in the 5.x series were marked “only to developers,” but 5.2 was aimed at a wider audience and did not meet the expectations of FreeBSD users. A number of large users decided not to change the 4.x series.

Series 5.x was a painful lesson for the project. In the 6.x series, the stability of the 4.x release was restored, and in the 7.x series, the performance of a single processor was restored. During the release of the 8.x series, one could see a series of third-party tests that demonstrated better FreeBSD scalability on multiprocessor systems than any other operating system.

All of these releases had a significant amount of improvements, such as an improved sound subsystem, ZFS, DTrace, UFS logging, and more, but stability and performance remained key objectives of the FreeBSD system.

Disadvantages of FreeBSD software


The FreeBSD collection currently contains over 26,000 pieces of software. It's difficult to compare this number with other repositories, because programs are differently divided (for example, the GCC port in FreeBSD installs programs and libraries that are divided between 6-10 packages in Debian, depending on the version of GCC), but most of the things you still can find there. One of the reasons why users choose FreeBSD is the fact that the port set provides a certain, relatively obscure piece of software that it needs, while other systems do not.

Most software in the port set runs natively on FreeBSD. Most open source software is OS-agnostic and requires minimal modifications to be compiled and run on FreeBSD. There are exceptions such as Valgrind, which require a detailed understanding of the system. Proprietary software may be a more serious problem. Some developers, such as Opera, provide FreeBSD with their source code.

Other software should work in emulation mode. For example, Linux binaries can work at the Linux ABI level, where Linux system calls are translated to their FreeBSD equivalents. The only flaw is a slightly increased load on the system calls; It is usually difficult to measure the performance difference between running Linux programs on Linux and FreeBSD: in some cases, programs run faster on FreeBSD than on Linux due to more efficient implementations of basic calls. For example, the Linux version of the Flash plugin can work using NSPluginWrapper at the Linux ABI level with its own web browser.

A similar solution exists for running Windows applications.

FreeBSD does not support virtualization


FreeBSD 9 runs as a Xen guest (domU) on both x86 and x86-64, including Amazon EC2. Thanks to the work done together with Microsoft, NetApp and Citrix, FreeBSD can be run on the Microsoft Hyper-V hypervisor. FreeBSD 11 will include Dom0 domain management support.

FreeBSD also supports VirtualBox both as a guest and as a host. You can find the VirtualBox guest add-ons, and then the hypervisor itself in the port set. FreeBSD 10 also works as the host operating system for the BSD hypervisor, giving you many opportunities to run FreeBSD virtual machines based on FreeBSD.

And finally, if you do not need full virtualization, then to perform isolated FreeBSD user spaces (or even Linux user spaces using Linux ABI levels) on a single FreeBSD kernel, you can use the container subsystem. The container can even be provided with their own independent network stack, etc., and thus one machine can be used to emulate a fleet of machines.

BSD license promotes mutual cooperation



Until the FreeBSD code developers file a copyright infringement lawsuit on you, you can use it freely. But, if you believe the claims of the developers themselves, this will not happen.

Some companies will almost certainly take our code, change it, and never give anything in return.


Consider as an example the case of the two largest Internet companies: Google and Yahoo! Previously, their internal infrastructure was based on the GPL operating system, while later versions already use FreeBSD. Since Google does not distribute their modified operating system, they can save for example GoogleFS in private ownership. In cases like this, where the software is developed for internal use, the license agreement does not require the company to disclose its improvements to FreeBSD developers.

There are, however, some connection problems: for example, you cannot use the library with the GPL license if you are already using BSD.

Over the years, quite a few companies have made significant contributions to FreeBSD. And this is caused not only by the feeling of altruism, because the support of any project that is developing rapidly is very expensive.

Source: https://habr.com/ru/post/306804/


All Articles