Few people use Linux. True or not? No. Indeed, it is difficult to estimate how many computer users have installed Linux on their machines. Linux can be downloaded for free and no company controls it. There are no sales figures that can be announced on TV or printed in newspapers. There are only approximate values ​​based on traffic to certain resources. Most people you know may not use Linux, others may have no idea how many people interact with Linux every day.

But it turns out that Linux has millions of users. Over the history of Linux, a large number of misconceptions, prejudices and myths have grown around this operating system that have nothing to do with reality. In this article, we will look at 7 myths about Linux and debunk them one by one.

This was true at the beginning of the development of this operating system. Back then the system could be controlled via a terminal, there were a lot of errors and problems, people needed to be technically savvy to solve them. Let's look at the history of computers. At first they were also available only to specialists. There were no programs, it was difficult to control computers and it all worked very poorly. But time passed, Xerox developed its graphical interface, Microsoft made Windows and it became much better; ordinary users can already use computers.

A lot has changed in Linux over the past few years, graphical interfaces everything is more polished and beautiful, supporting everything you need. A bunch of graphical tools have appeared to solve any problem; now you don’t even have to open a terminal to control the system. Through the efforts of companies such as Canonical, Novell, Red Hat Linux distributions are being created that are very easy to customize and suitable for use not only by professionals, but also by ordinary home users.

2. Linux is created by dudes in their bedrooms

Linux was founded when Finnish-turned-Finnish-American developer Linus Torvalds decided to create his own operating system while a student at the University of Helsinki. In his announcement, Linus described his operating system as just a hobby, and said that it would not be like that professional product, like GNU.

Much time has passed since then and Linux has remained a hobby for some and has become a profession for others. Red Hat company, which develops the same name Linux distribution For commercial use worth two billion dollars. They also pay money to developers from GNOME and other projects who contribute greatly to the development of open source software.

Since Linux is used by most of the world's top 500 supercomputers, traffic control systems, self-driving cars and the Large Hadron Collider, these companies are also involved in the development of this operating system.

Additionally, a large number of individual developers write patches to fix bugs or add functionality to existing projects. A large number of companies use Linux to solve their problems and many of them are investing in the future of this operating system.

As for Linus Torvalds, the Free Software Foundation pays him a salary to continue working on the Linux kernel. Just a hobby? Don't think.

3. Linux is difficult to use

Linux has a reputation as an operating system for programmers and system administrators. This statement comes from the first days of the development of this operating system. A system, after the release of which the bug tracker is filled with error messages, is hardly ready for use. But even at the time when Linux was just beginning to conquer the desktop, it was already used on most Internet servers.

Nowadays, you don't need programming skills to install or use Linux. The installation consists of downloading the installation image, writing it to a USB flash drive and rebooting the computer, then in most cases, like Windows, we simply click the next button. People for whom this is too confusing can buy a laptop with Linux pre-installed; such laptops are produced by System76 and ZaReason.

Moreover, you will find many applications for this system, many of them are simpler than their commercial counterparts. Some programs will look a little outdated, major design concepts change every few years, and developers simply don't have time to rewrite their products according to new trends. But in many ways, Linux is more attractive to first-time computer users, even compared to Windows.

4. Linux is very secure

You may have already heard that Linux is secure because it is completely open source. Having more people access your code does increase the likelihood of existing vulnerabilities being discovered. But there is no guarantee that they will be discovered, and if they are found, they will be closed. Some vulnerabilities may not be discovered for many decades.

This myth comes from the scope of use of this operating system. Since Linux has a small share of the desktop market it is unlikely to be developed malware for this platform. But this does not mean that this operating system is invulnerable.

Linux is widely used on servers by companies and governments. Attacks on these institutions will not result in a virus appearing on the computer. There is a slightly different goal here - to get your data, passwords and other important information A prime example of this was the Heartbleed vulnerability.

Sometimes the servers that distribute updates can be compromised. It happens that a discovered vulnerability in software is closed very quickly, but the update is not immediately accepted into the distribution.

Linux is a relatively secure operating system compared to Windows. But being open source doesn't make it invincible. For those who are very concerned about security, special distributions have been prepared.

5. Linux is not pretty

Since Linux is a non-commercial product, its developers did not have to focus on creating visually appealing software. And that's a good thing, because Linux typically uses fewer resources to do its job.

In the early days, Linux desktop environments looked terrible, and many of them are still terrible today. But there are also projects aimed at creating beautiful desktops with open source code.

The modern GNOME desktop environment provides a beautiful desktop with smooth animations. KDE is an even more beautiful and more customizable desktop environment. ElemetaryOS's Phanteon environment is very similar to Apple's operating system, but is open source.

What looks beautiful to some may seem terrible to others. Many people can do without the bells and whistles of Windows 10 and Mac OS X. For them, the LXDE and XFCE environments still exist. Developers who love the terminal can use window managers like xmonad to make your desktop look like something out of a hacker movie.

6. Linux is not for gamers

Most games run on Windows, fewer are available on Mac, and even fewer are playable on Linux. But it is still possible to play on Linux.

In recent years, things have changed a lot in this aspect. Graphics drivers began to support this operating system and provide excellent performance. You can set up a digital distribution platform very easily Steam games. If you plan to use your computer only for gaming, you can choose Linux version specially designed for playing games. Many of these distributions come with open source games pre-installed.

Of course, you won't be able to play every new AAA game, there are also AAA games for Linux, you will have plenty to choose from.

7. You get what you pay for

This is not true at all. I have Linux installed on my computer and I did not buy it. This doesn't mean Linux is inferior to Windows because it costs nothing. Many say free software not as good as its commercial alternatives. Sometimes this is true, but not always so.

Many people prefer to use open source software instead of paid options. Even on Windows and MacOS, cost isn't always a factor. VLC can play any video, Gimp is great graphics editor, and Firefox is one of the best internet browsers.

Commercial operating systems are more polished and beautiful, but Windows is no better than ChromeOS or Android, both operating systems are based on Linux and are free. Some distributions Linux is better others, in the end Linux will be what you make of it.

Linux is not for me

But is this really so? Chances are, with the right approach, you could get everything you need using Linux. Yes, in some cases it's quite serious - either Linux does not support your hardware, or you need a program that is not here. But these are rare situations. What other misconceptions have you heard about Linux? What questions are you interested in? What myths about Linux need to be debunked? Write in the comments!

This note was born during numerous transitions from one system to another, during many years (on IT time scales) of their sharing, and also in the course of thinking about the topic: what system should I install on new car? The immediate impetus for it was correspondence with a number of authors and dreams of an ideal distribution, discussed not so long ago on. But first, a couple of disclaimers

I must warn you right away that the answer to the question posed as the title will not be found here. Because I don’t know him myself. But I vouch for the fact that I follow the behest of the great Roman historian. Because I love both systems and, moreover, I use both systems in everyday life - sometimes together, sometimes separately, depending on tasks, circumstances and just my mood.

And one more thing: not a word will be said further about the use of Linux or FreeBSD as servers or nodes local network and similar system administrator matters. And exclusively about user, that is, desktop, qualities. Anticipating the reaction of a certain category of readers, I am ready to tag the last phrase and repeat twice and thrice:) Subjective introduction

Soon it will be four years since FreeBSD and Linux alternate on my machines (home and work) with some frequency. Or they coexist peacefully in one, separately taken system unit. And during this time I noticed an interesting pattern.

During periods when my machine has only FreeBSD, work time mine is distributed approximately like this: 90% practical work (it doesn’t matter at all what nature it is in this moment), and 10% more or less unhealthy experiments on the system. As soon as some kind of Linux is nestled in a corner of the hard drive, the time share of experiments immediately jumps to 50%. And during the periods when I was building Linux from scratch, the experimental mode actually became permanent.

And I asked myself the question why? And for myself answered: FreeBSD is a solid and harmonious system, in which, after the complex initial settings there is no desire to add or subtract anything. It is no coincidence that the movement, which from time to time covers wide layers of Linux users, has not actually received development in the FreeBSD world: the famous work of Jens Schweickhardt (which also exists in) is more likely a description of an automated alternative to sysinstall, rather than manually building your own system from scratch.

Linux cannot demonstrate such internal harmony. And therefore the desire to change something in the already installed system, improve, add, clean, or even simply rebuild everything again, arises constantly, and can only be overcome by a lack of time.

However, this does not mean that I definitely think FreeBSD the best system for work. Because my work, among other things, consists of creating various notes near the computer. Plots that are carried out by those very unhealthy experiments on the system, the implementation of which is so favorable for Linux and for which FreeBSD is so not disposed.

However, I repeat, all this is purely subjective, because not everyone is engaged in writing notes near the computer. And so I’ll try to make a more objective comparison. First attempt at objectivism: “hardware”

What do most users require from an operating system as such? Firstly, of course, support for hardware, which, as you know, does not suffer from monotony on desktop PCs.

There is an opinion that Linux supports a wider range of hardware than FreeBSD. Indeed, for the latter we will not find, say, printer drivers from the manufacturer. Full support for modern video cards is implemented only if they are from NVIDIA (and even then, according to reviews, it is significantly worse than for Linux). There will probably be tension in this OS with the so-called. winmodems. This is on the one hand.

On the other hand, all happy owners of ATA RAID and Serial ATA controllers in Linux until recently had to resort to all sorts of tricks. Moreover, it is not always successful, especially if the disks attached to such controllers were intended to be used as boot devices. Actually, the situation can be considered normalized only in the latest kernels of the 2.6.X branch...

In FreeBSD, the 5th branch is more or less in parallel, on which controller of the IDE family does it sit? HDD: thanks to CAM (Common Access Method), it will be possible to somehow work with it in any case, and if it is also correctly identified, then there will be no obstacles to loading from it. And in the 4th branch I have never encountered problems with “same age” ATA RAID controllers.

Another example sound cards. All of them, which are based on more or less common chips, worked in FreeBSD without the slightest effort (of hand or thought). The same can be said about the “chipset” sound. In Linux, similar devices often required not entirely trivial manipulations with ALSA drivers, fortunately they are now built into the kernel. However, even in the latter case, you cannot do without some adjustment steps. But this is already the subject of the second attempt at objectivism.

And I would formulate the result of “hardware” objectivism as follows: maybe Linux supports a wider range of all kinds of equipment (including some exotic ones), but all the “hardware” that is supported by FreeBSD (and this is almost all standard and common “hardware”), is easier to use in most cases. And here we smoothly move on to the second exciting moment for the user, especially the beginner (and non-beginners have long made their choice) moment, whose name is Settings

I cannot explain the persistent (and carefully cultivated) opinion that FreeBSD is more difficult to install and configure than Linux as anything other than a misunderstanding. Because it has nothing to do with reality.

Let's start with installation. Installing FreeBSD regular means(using the sysinstall utility) is completed in half an hour, does not require access to the Internet (although it will not be superfluous) and ultimately gives a fully functional system with a Cyrillic console, a functioning dialup (or, if necessary, a connection to LAN), launched Xs and the minimum packages necessary to start practical activities (from precompiled binaries). All settings, both system-wide and for application packages, are reasonable (even if not ideal from the point of view of a particular user).

Of course, installing FreeBSD requires some prior knowledge. Which boils down to a) an idea of ​​disk layout in BSD style, the nomenclature of drives adopted here and the strategy for creating file systems. Not because these moments are so complicated; they are simply very different from everything that the user could know before (from experience with DOS/Windows or Linux). And besides, the disk layout and file systems on them are the only thing that the user cannot change after installation (without a total reinstallation, of course). However, this is not so scary: the default layout and file system scheme proposed in sysinstall is quite suitable for a desktop personal computer, although it is not ideal in a number of special cases.

Most of the installers I know from different Linux distributions differ from Free sysinstall in two opposite directions:

  • there are installers that are simpler although, in my opinion, this is the same simplicity that is worse than... you know what;
  • And there are installers that are more flexible, but they already require the user to have sufficiently deep knowledge and a clear understanding of the essence of the actions being performed.

Along with Free sysinstall, I would install (of all the ones I know) only the installer from Archlinux. Written, as its developer testifies, under the influence of the former, it provides much the same combination of simplicity and flexibility.

However (and this is the specificity of Linux as a system integrity), even in this case, the final workable system is not obtained. It will not be possible to do without manual finishing.

Of course, post-installation improvements are not prohibited in FreeBSD either. However, here it is aimed at achieving an ideal, rather than providing basic functionality. Which I would illustrate with a series of examples.

Let's start with the same Russification. Immediately after installing FreeBSD, the user, if desired, receives a fully Cyrillic console. True, in one and only version, with internal encoding kOI8R, input in it and screen output in DOS encoding, and even with not quite ideal fonts. But no further actions on basic Russification are required from him. And he can bring layouts and fonts in line with his ideal later. In Linux distributions that do not put much emphasis on user friendliness, manual editing of a couple of configs is probably unavoidable. I won’t dwell on the reasons for this (for those who understand the difference between the console in Linux and FreeBSD, they are obvious).

Of course, in user-oriented Linux distributions of domestic origin, the user receives a 100% Russified console out of the box. However, made in accordance with the ideas of the developers. Which do not have to coincide with the ideas (and, most importantly, the needs) of this particular user. And in this case, he will have to spend significantly more effort on correction than when Russifying any Source Based distribution from scratch. In confirmation of this, let us recall the numerous articles devoted to the rollback in Red Hat (and Fedore Core) from the “progressive” UTF encoding to KOI8, albeit a “homeless” one, but quite suitable for many, many...

Russification of the console is closely related to the style of initiation files adopted in this system. And here the linear BSD style from the user’s point of view looks simpler than the System V style initiation adopted in Linux, based on the concept runlevels, the translation of which as “execution levels” can completely confuse a novice user.

Gentlemen, administrators of industrial servers, will object to me that the System V style allows you to flexibly connect and disconnect various starting services. I won't argue. However, how often does a desktop user face such a task? Much more often, its goal is to kill once and for all the numerous services that the distribution's maintainers considered vital for its happiness...

It is no coincidence that many modern Linux distributions tend to use the BSD boot style, examples of which, in addition to the classic Slackware, are CRUX and Gentoo. And in Archlinux, the concept of runlevels generally loses its meaning, although the corresponding words can be found in the /etc/inittab file; in practice, runlevels do not play a role at system startup. But there are no attempts to introduce the “progressive” style of System V into BSD systems. Do not consider grouping of scripts as such various services in a single subdirectory in /etc in FreeBSD 5th branch.

As for the Russification of X X, as you know, it is also in Africa X. And the actions of entering paths to files with Cyrillic fonts, correcting the keyboard layout and installing a switch from Latin to Cyrillic will be inevitable, no matter what operating system X is installed on top of.

The second illustrative example is setting up the sound. In FreeBSD, this requires (for the vast majority of common chips and chipset audio) adding one (and the same in all cases) line to the kernel configuration and recompiling the latter. After which you can simply forget about the sound - it will work always and everywhere.

By the way, you can do without recompiling the kernel; the sound support module is assembled (like almost all modules) in FreeBSD without fail; you just need to load it manually or ensure it loads at system startup.

In Linux: let's start with the fact that the same chipset audio (and with the gradual extinction of cards like SB AWE128, it is becoming preferable for all users without pretensions to audiophilia or composing) certainly requires ALSA drivers. Fortunately, they are now built into the kernel and are included in default kernels as modules in most distributions. If not, then recompiling the kernel will not be difficult.

However, the matter is not limited to recompiling the kernel. You also need to install the appropriate ALSA toolkit (and, as a rule, means of compatibility with the old OSS sound system), activate the corresponding daemon and, using not entirely obvious means, ensure its “self-healing”. And after all this, you will again encounter surprises. For example, with the reluctance of peaceful coexistence between ALSA and the arts ( sound system KDE). Of course, it may be argued that these are KDE problems, but FreeBSD does not have them at all.

By the way, about additional installation of tools (and other programs)... For this you need a Package Management System

Here, until recently, the championship, of course, belonged to FreeBSD. Its port system provided an incomparable combination of simplicity and flexibility, always leaving the choice of whether to build packages from source or install them from binaries. A combination of these methods is not forbidden. Of all Linux's riches in this regard, only Debian's apt, assimilated into the depths of many rpm-based distributions, could be compared with ports. However, although apt assumes the ability to build your own packages, its main method is to use precompiled binaries, assembled in accordance with the maintainer’s ideas about their dependencies.

Nowadays, the situation has changed and Source Based Linux distributions widely use port-like systems that developed under the strong influence of their FreeBSD prototype: Gentoo ports, Sorcery from Sorcerer, CRUX ports, Archlinux Building System from the distribution of the same name. They sometimes surpass their ancestor in versatility, flexibility, globalization of configuration or transparency of the device, use and modernization. In addition, over the decade of its development, FreeBSD ports have become a very bulky and difficult-to-see structure, keeping it up to date is a separate task. Far from always being solved with the help additional funds such as portupgrade (which itself is no longer part of the base system, but of the ports system).

And here it is appropriate to say a few words about another widespread legend: that assembling from source code using port-like control complexes always leads to a “cleaner” (that is, free from unnecessary components) system. This is not always the case.

Firstly, the very nature of ports (and their clones) often involves some redundancy of installed components. A textbook example is cvs-up, which requires both the base system and FreeBSD ports for updating: in binary form it is a lightweight, compact package that does not burden even a user with a modem connection. When assembled through ports, it pulls along the modula distribution kit (since it is written in it), which will not be useful to anyone in the future except adherents of this programming language.

What has always surprised me about FreeBSD ports is the situation with the build of my favorite editor, joe. Which certainly required GNU make version 3.80 as a dependency, although its own make is included in FreeBSD Distributions and compiling it using Joe’s hands is not a problem.

In general, the “cleanliness” of installing a package very much depends on the specific implementation of the port. I recently discovered a news report about a new window manager called edo small, as they said, compact and fast. It was also found in FreeBSD ports, from where I decided to collect it. As a result, this little one:) WM pulled along with it (as a dependency dependency) none other than MySQL...

However, if you think that this behavior of ports is a feature of FreeBSD, and the creators of their Linux clones took into account the mistakes of the past, then I assure you that this is not always the case. Moreover, in Linux the situation is aggravated by the features of the base system, or more precisely, by the inconsistency in the development of its individual components.

Anyone who has ever built Linux from Scratch knows that some versions of Base Linux packages tend to be built only with certain (not necessarily the most recent) versions of utilities such as autoconf and automake, categorically refusing to do so with other versions of them (even if more fresh and progressive).

Developers of Source Based Linux distributions sometimes get around this complexity by forcing such “slimy” packages autoconf and automake from “last year” into the list of dependencies, despite the fact that the base package itself includes their currently current versions. As a result, for example, in Gentoo, when performing bootstrapping or an emerge system, you can be surprised to see how the system climbs onto the Internet for a bearded autoconf, like Karl Marx, although its latest version has just been deployed from the stage1 tarball. And if we remember that many people believe that a truly stable Linux kernel can only be compiled with gcc version 2.9.X, which results in the presence of two compilers in the system, then what kind of “purity” of the assembly can we still talk about?

However, achieving a reasonable balance between deploying precompiled packages, installing them from a ported system, and doing custom builds yourself is a completely different topic. In the meantime, I’ll risk formulating a couple more “lenses”:

  • FreeBSD, contrary to popular belief, is much easier to configure and local administer. Even without taking into account the fact that there is only one, and there are many Linuxes;
  • on the contrary, the FreeBSD ports system currently (unlike the recent past) does not have significant advantages over similar tools from Source Based Linux distributions.

If you carefully calculate the above pros and cons of both operating systems, you can come to the conclusion that the score between them is equal. Perhaps with a slight positional advantage for FreeBSD, but so slight that it is quite reasonable to settle for a draw. However, each OS is installed, configured and expanded with applications not for its own sake, but for practical use. And therefore you should consider comparing their user qualities

Here, to begin with, I will risk expressing a seditious opinion, from the point of view of fanatics of any of the systems under discussion (however, fanatics will consider any opinion that does not coincide with their own to be seditious). Namely:

For a user who gives priority to working in graphic mode, there is practically no difference between FreeBSD and Linux.

Because such a user spends most of his time in Xs, and it makes absolutely no difference to him what operating system these Xs are running on top of. It only seems to him that he is working on Linux or FreeBSD (NetBSD, OpenBSD I’ll risk expanding this list). In fact, it works in KDE (Gnome, XFce, WindowMaker add as necessary). And if he did not have to first install and configure his operating system, he would have a chance to never know which POSIX-compatible system he was working on: he would be faced with the same interface elements, the same configuration tools and applications .

So, in a comparative aspect, we can only talk about working in console mode using the system and user utilities of the basic set.

And here I can’t help but utter an ode to the FreeBSD text console and its management tools. Which include only two commands: vidcontrol and kbdcontrol, the purpose of which clearly follows from the names. And which allow you to configure absolutely everything in the console - from the density of characters on the screen (the so-called resolution) to the color of borders, unique for each virtual terminal.

A Linux user first has to figure out which of the two console management packages - kbd or console-tools - is used in his distribution. Of course, now they are almost identical in their capabilities, but each has its own set of commands with slightly different syntax. And some settings (for example, text and background colors) require him to use commands that are not included in any of the packages. And some things (for example, the same colors of borders) will still remain inaccessible to him.

The same applies to the basic commands of both systems. FreeBSD Distributions is a monolith, closely tied to the kernel, which includes everything a user might need to administer and use the system (and administering a local desktop is a user task, just like word processing or file manipulation).

Of course, Linux also has the same set of classic Unix utilities (more precisely, like FreeBSD, their analogues). However, these are precisely disparate packages that were developed within the GNU Project, essentially independent of the operating system. And because of this, they are not so closely integrated with it and with each other.

So, in console mode, FreeBSD remains the leader? In my opinion absolutely. But only if we are talking about a purely text console. If you turn your attention to the so-called. graphical console (implemented via Frame Buffer), then everything looks a little different.

To begin with, the FreeBSD graphics console (the so-called Raster Mode) is limited to a single resolution of 800x600 (here we are talking about real pixel resolution, not character density). And even then, on some chips this mode does not work at all, on others it looks quite bad. Actually, I couldn’t achieve normal results in Raster Mode on any of the video cards at my disposal.

In Linux, the graphical console is simply pleasing to the eye. Even with Frame Buffer support for abstract VESAcompatible cards, you can vary resolutions from 640x480 to 1280x1024, with color depth changes in standard range. This ensures not only comfortable viewing of images, but also very decent (in my opinion, more than decent) video playback. For cards that have well-implemented native drivers in the Linux kernel (Matrox, ATI, chipset video from Intel), the ability to set non-standard screen resolutions is added to this.

Naturally, no one uses the console to work with images, and very few to watch videos. Why do I attach such importance to the graphical console? Yes, because imperceptibly, but the era of liquid crystal displays is coming, marking the death of the purely text mode (but not the console mode as such). Why will be easily understood by those who have seen the standard text mode of 80x25 characters on an 18-inch LCD monitor with a physical matrix resolution of 1280x1024. And I’m afraid to even imagine how it would look on a screen with an aspect ratio of 16:9...

Finally, there is one more question that is important for the user: Performance

The idea that FreeBSD is faster than Linux is just as traditional as the idea that it is more difficult to configure. However, is everything so clear?

Firstly, loading speed is considered as one of the main criteria, the correlation of which with the execution speed of applications is somewhat questionable. I remember that out of a considerable number of operating systems that I have seen in my life, MS DOS loaded the fastest:)

Secondly, even if we consider loading speed one of the performance criteria, only FreeBSD 4th branch shows superiority over Linux. The fifth branch loads exactly the same as any Linux distribution that uses the devfs device file system. Of course, in the noble Linux family you can select representatives that take even longer to load, but these are very user-friendly systems, burdened by... an abundance of starting services (in particular, the kudzu hardware auto-detector).

Based on my purely user experience, I would say that the difference in performance on user tasks between Linux and FreeBSD is usually not visible organoleptically. With two exceptions, the first of which is file operations.

It is obvious that the performance of file operations in each OS is influenced by two factors: the implementation of interaction with the disk subsystem (for a desktop, specifically with the ATA interface) and the organization of the supported file system(systems). And this is where FreeBSD finds itself at a disadvantage compared to Linux.

It was mentioned above that due to CAM in FreeBSD (we are talking about the 5th branch) universalism is achieved in working with disk controllers I got the impression that it does not care at all which specific controller the disk is on (as long as it is recognized by the BIOS but this is only necessary to load the kernel from it). However, you have to pay for universalism. And, it seems that in this case the payment comes in the form of a decrease in the performance of disk operations although I did not find reliable information on this issue, based on general considerations , it looks like the truth.

This is the first side of the question. The second is the FreeBSD file system, which is UFS and (by default in the 5th branch) its improved upgrade UFS2. Traditionally, in this OS, both are used in a partially synchronous mode (noasync mode), when changes to file metadata are written to disk immediately, and changes to data blocks are cached in random access memory.

Linux uses a different model for working with ATA disks: different types controllers may (or may not) have their own support in the kernel. This excludes the use of clearly unsupported devices, but for supported ones, apparently, provides greater performance. File systems (and Linux supports several varieties as native ones) by default, all (except perhaps JFS) are used in a completely asynchronous mode (async mode), when both data and metadata are cached in RAM.

As a result of the combination of these factors, file operations are performed significantly faster on Linux than on FreeBSD. Actually, I always suspected this, but it only showed how significantly the FreeBSD 5th branch lags behind in this regard; even the SoftUpdates mechanism, designed to improve both the reliability and performance of file manipulations, cannot save the situation. By the way, in FreeBSD 4 branch such a lag was not previously observed, which indirectly confirms the negative impact of working with the disk subsystem (which aggravates the degradation of synchronous operations) it does not use the CAM model (at least it was not used when I used it used). But in Linux, with its exclusively asynchronous use of file systems, according to my observations, there is almost no dependence of the speed of working with files on the performance of disk hardware.

The second of the promised exceptions relates to swapping operations. Which are performed significantly differently in Linux and FreeBSD. To establish what, just look at the output of the top command in both OSs under an average user load. In Linux, you can see that with enough RAM, the percentage of swap space used tends to zero. For example, on my Linux laptop (512 MB of memory), at the time of writing these lines, with KDE loaded, Quanta html editor, konsole, two copies of konqueror and mplayer running (mpeg and RealAudio playback), swap is not used at all. On a desktop with FreeBSD (1 GB of memory), with the same load, the used swap area almost never drops below 10%.

This is due to the fact that Linux resorts to swapping only when RAM is full, while in FreeBSD, memory pages that have not been accessed for a certain period of time are swapped out to disk in any case (even if there is too much RAM). In essence, RAM in this OS acts as a kind of cache for the swap area (more precisely, for virtual memory in general). Which is effective when its volume is limited and was justified in ancient times, when processors were slow and memory was scarce. Nowadays, this model of using swapping in some situations leads to slowdowns. Example KDE with a large number of desktops and periodic switching between them, where such slowdown is visible to the naked eye.

All this leads to greater objective (as determined by tests) and especially subjective performance of Linux compared to FreeBSD. Although I must again emphasize that we are talking specifically about the desktop sphere: on a heavily loaded server, the FreeBSD caching mechanism can manifest its strengths, and the speed relationships between these systems may, in some cases, turn out to be directly opposite. Let’s summarize

At the very beginning of this note, I did not promise to give a definite answer to the question posed in its title. More precisely, he promised that he would not be there. And indeed, I don’t see a definite answer for myself. But I’ll allow myself to make some notes for him.

What impresses FreeBSD is a) ease of installation, b) logical configuration and c) ease of administration on a local scale. However, the same features (at least most of them) are now characteristic of the best (in my opinion) modern representatives of the Linux family (CRUX and Archlinux, to some extent Gentoo). Although, for obvious reasons, one cannot expect from them the internal harmony and integrity of FreeBSD in the near future.

At the same time, I am aware of the archaic nature of the FreeBSD file system, which is especially evident in comparison with modern implementations of ReiserFS and XFS for Linux. And almost a month's use of a FreeBSD desktop and a Linux laptop, machines with almost equal nominal performance, as they say, head to head, convinces me of the higher performance of the latter. But what has more weight for the user is something everyone must decide for themselves. Although, sadly, Linux currently seems best choice for desktop use.

However, I emphasize at the moment, because the release of FreeBSD 5.3 can significantly change the situation. However, no matter what happens, I would like to see the future as mutual influence of both operating systems, mutual assimilation of all the pluses and elimination of the minuses. That’s why I would end my lengthy narrative with a slogan in the spirit of Soviet times:

Demon with a penguin brothers forever!

We pass the microphone to him.

No, seriously, don't do this. You may think that this will instantly solve all your problems and you will find yourself in a nirvana of eternal happiness and a fun terminal - but this is not so. It’s fashionable to say so, but in reality everything will only get worse.

But let's start with a short introduction.

Part one: I had one friend...

... and this friend, let's call him Sasha, had one netbook. This is a typical netbook, no better or worse than other netbooks that were bought a long time ago and were used mainly on rare trips and business trips. On board, as befits all netbooks, there were 2 gigabytes of RAM, and on the case there was an Intel Atom sticker, as everyone understood, Inside, not Outside.

This netbook served Sasha faithfully for a long time: on it he watched videos, played simple toys and edited office documents.

But recently, something has gone wrong: everything began to slow down and lag, even if only one single tab with an important document in Google Doc was open in the browser or just one single entertaining “sup-dvach-I-lamp-nyasha-shy” " on YouTube.

"What is the problem?" - Alexander asked exactly this question. And first of all, he decided to ask his programmer friends: the people were smart, developers, lords and gods modern technologies. “Surely they will suggest something useful,” Sasha thought.

Part Two: Linux Propaganda

Sasha’s IT specialist friends, like any other IT specialists, found the problem right away: the vile Windows 7 was to blame for everything.

They, of course, still used Windows, but only 6.5 days a week, the rest of the time they worked on, as they said, “Divine Linux”, while, however, the only commands they knew were apt-get install, cd and sudo.

“Alex, get off that proprietary piece of shit and install Debian – everything will work.”

And Sasha believed. He fell for Linux propaganda. But Linux didn't help him. And that's why.

Part three: and everything was illuminated

After a not so simple installation, he finally sighed and was happy: a fresh “Gnome” was shining before his eyes. Everything, of course, at first glance was funny and incomprehensible, but Alexander himself was not very far from an IT person, so he didn’t think that it would be difficult to understand the interface.

And so it happened: after ten minutes he already found out where the “Control Panel” was located and was able to launch the browser.

Slowly driving in address bar vk.com, Alexander went into his audio recordings, chose his favorite song from his favorite artist and clicked “Play”.

But nothing happened.

“Google help, install drivers,” said friends.

2 hours 42 minutes - that’s how long he scrolled through domestic and foreign forums, sites with questions and blogs with instructions. None of the instructions and pre-suggested commands helped him. There was no sound. And no one could help him. There was a community, of course, but it was not possible to fix the problem that arose specifically in his device.

After some time, Sasha needed to leave, and he closed the lid of the netbook. The computer went into sleep mode, but when Sasha returned, instead of the working screen, he saw... and he saw nothing. The netbook froze tightly, the noise of the cooler was heard, but it did not respond to any manipulations - only holding down the power button helped.

“Google help, you have crooked hands,” said friends.

After several hours of googling and a dozen read logs and tried solutions, the computer still froze when going into sleep mode.

Part four: well, to hell with it, the main thing is that now everything flies!

Google Docs still slows down, YouTube lags even with one open tab And minimal quality video.

Everything is as it was. Alexander gained only 3 things from switching to Linux:

  1. Bugs, lags and hardware brakes.
  2. Inability of your favorite software even under Wine and its vague analogues.
  3. Any problem with the system is now solved or not solved only by hours of Googling and smoking manuals.

But what he didn't get was the only thing he needed - increased system performance.

But no. Doesn't fly.

Part last: final

Linux is a great OS. I would even say one of the best. I have been developing software for more than 5 years, and 2 of them have been under Linux. Linux is needed by me and other professionals who themselves felt that they needed it. We can say that the entire OS here is an IDE. So this is perfect for us.

But everyone else doesn't need it. This is a pretty unpopular opinion, but it's true. A computer that has not flown under Windows will not fly under Linux.

And everyone else will get absolutely nothing out of this except a lot of wasted time. They will not gain any profit for themselves. They will only be nervous and angry at themselves and at the world, solving yet another problem with a computer that has long needed not Linux, but a trash can.

Please don't recommend Linux to people who don't really need it. Stop wasting their time. Don't become part of the pointless Linux propaganda.