Hello everyone, my dear friends and guests of my blog. Today, you can increasingly see that many people install Linux on their computer instead of the most popular Windows. Is it really better and more convenient to work on Linux? I propose to look into this in more detail and look at the main differences between Windows and Linux, and also consider all the advantages and disadvantages of these two giants.
At first I wanted to format the article in the form of a table to clearly show the comparison, but I decided that it would be more clear to dwell on each point in more detail.
Linux cost
The Linux operating system can be installed for free on your PC. There are still paid download options, but they are aimed at commercial companies. There is also no need to pay for Linux software. Many programs that are paid for on Windows can be installed legally and for free on Linux.
By the way, this is also a major factor why many organizations are switching to a free operating system. It’s one thing to buy a license for one machine, but when it comes to a hundred machines, not counting additional software, it can cost a pretty penny.
In addition, many organizations, due to sanctions, cannot even purchase licenses for Windows, can you imagine? That's what happened at our old job. By law, we could now purchase either domestic operating systems or use foreign systems only if they were free. It was then that the plan to switch to Linux matured.
How Windows differs from Linux
Kernel and drivers
The operating system kernel provides access to computer resources and also manages processes. Linux uses a monolithic kernel, meaning a single file contains most of the code needed to run the system. At the lower level, it receives signals from devices, and at the upper level it processes system calls - commands available to programs that meet POSIX standards. System calls complement the C, C++ libraries, and GNU project utilities, allowing you to execute code of any complexity.
The Windows kernel is hybrid and consists of many libraries. Thus, the main program Ntoskrnl.exe does not have direct access to the hardware; this role is performed by the HAL.dll library. And at the user level, instead of system calls, the functions of the NTDLL.dll library are used, to which C, C++, etc. libraries are also connected.
Linux drivers are mostly stored in the kernel, but kernel modules are often included that contain additional drivers, for example for Nvidia video cards. Windows drivers, as you might have guessed, are designed as libraries. In this regard, Linux loses; not all equipment is supported, and some devices only have a basic driver.
Linux settings are stored in the /etc , where each service and program has its own configuration file. In Windows, some services also have configuration files, but all basic settings are stored in a common database - the system registry.
File structure and permissions
Windows and Linux use different file systems. If ext4 became the standard for Linux, then NTFS became the standard for Windows. In general, they are similar, both have margins in partition size, directory depth and file name length. They also support encryption, and NTFS, among other things, can compress data to save space. This function is available in the more promising BTRFS, which should soon replace ext4.
Both systems log changes, which increases reliability. However, NTFS does not have full support for POSIX permissions, so it is not suitable for Linux installations. It is also worth noting that Windows does not support ext4 out of the box, and most distributions only mount NTFS upon request.
The main difference is the file structure. In Linux, all files and directories are located in the root directory / , all according to UNIX standards. The drives and their partitions are mounted in one location or another in the root directory. For example, the second drive can be found in the /mnt . Programs are stored in several directories at once, settings in /etc , executable files in /bin , etc.
In Windows, the user can see logical drives, the system drive C:, as well as other drives with other letters of the alphabet. Interestingly, Windows also supports mount points, and you can specify a folder instead of a letter. Programs are stored in separate directories, and it is often possible to choose the installation location. Among the disadvantages, it is worth noting case-insensitive names. You cannot create two folders with the names Folder and folder in one place; for the system they are one and the same.
Although Linux was originally created as a replacement for UNIX, a system for mainframe computers with multi-user access, Windows allows more flexible configuration of access rights. In Linux, by default there are only three categories of rights: user, group, and all others.
Windows can grant rights to multiple users and groups at once. Linux can also do this, but through an extension of the POSIX standard in the form of ACL access control lists. To do this, use the console utility setfacl and its graphical analogue Eiciel. Next, let's look at other fundamental differences between Linux and Windows.
Desktop environment
Windows uses the DWM window manager and the Explorer shell (not to be confused with the file manager), which are closely related to the GDI library, which in turn depends on the unified WDDM driver. This set of libraries and services is included in any copy of Windows, so program development is standardized. The downside of this solution is limited interface customization.
Linux can offer many desktop shells (GNOME, KDE, Cinnamon, etc.) with their own window managers, and this will be served by the XOrg protocol or modern Wayland. The system can look whatever you want, and popular shells have many settings to change the appearance. The other side of the coin is poor compatibility of programs written for different shells.
Software
It's hard to deny the fact that there are a lot more programs and games being released on Windows. On Linux you will not find many professional programs, from the Adobe package to various CAD programs.
Windows applications are mostly distributed in the form of installation files in .exe or .msi format, while Linux often uses repositories - file servers with a huge number of software packages and libraries. There are also different package formats, depending on the selected distribution. A single package base significantly complicates program development. For example, you cannot rewrite a program using a new library, because the old one is used by other applications.
They are trying to solve this problem in several ways. Third-party programs can be installed in the /opt , similar to the Program Files . Flatpak and Snap sandboxes have also become widespread, eliminating problems with dependence on system libraries, and the AppImage format (one program - one file).
The advantages of Linux also include a greater number of open source programs. This does not guarantee the absence of vulnerabilities, but it allows you to create and modify programs, which is especially important when developer support ends. Thus, many programs continue to be developed, but by different people.
If we talk about vulnerabilities, fewer malicious programs are written on Linux; an antivirus is usually not required to protect against them. But we should not forget that most attacks moved to the Internet. Therefore, even on Linux it would be a good idea to install an antivirus to protect against phishing sites.
Software development
Microsoft provides access to the MSDN library, which contains detailed documentation for developers. There should also be no problems with writing complex programs, such as games; the same libraries are used in all copies of Windows.
Linux makes it easy to write simple programs without a GUI, and accessing the hardware is much easier than in Windows. The devices are located in the /dev and can be accessed almost directly. However, complex applications with a graphical interface must be checked for functionality in all popular distributions, their packages must be supported in repositories, and so on. But for this you need to study numerous documentation, which is done at different levels.
A good example is Android, the system has practically monopolized the smartphone market, although it is based on the Linux kernel. And the whole point is that it was adapted for use on mobile devices and brought to a single standard.
So far, the diversity of Linux distributions has failed to attract major software developers. The labor costs for support and debugging are much higher than for Windows, and the income is an order of magnitude lower.
Distribution method
Windows does not have a free version, although there are ways (legal and not so) to fully use the system. Pre-installed systems are noticeably cheaper, which is why Windows is included on most laptops sold.
Most distributions are distributed free of charge, with the exception of some commercial products, such as the Red Hat server distribution. Linux is imaginary free; development is paid for by large corporations like Oracle and HP. A few laptops come with Linux, although recently it is increasingly being offered as an alternative to no operating system.
Market share, areas of application
Linux was created based on the POSIX standards for UNIX operating systems, which in turn were the basis for multi-user mainframes. As a home operating system, Linux takes up less than 2%, but about 80% of servers run Linux. What can we say if even Microsoft has its own Linux server distribution. Linux is also widely used in routers, televisions and other Internet of Things equipment.
Currently, Windows is popular only in the segment of home computers and workstations, where it occupies more than 80%. Windows for servers, although less popular with a share of about 20-30%, is ahead of Linux in terms of profit. Of course, these are not all the differences between Linux and Windows.
Installing programs
To install software on Linux, you need to go to a special Internet service, which functionally resembles the play market or windows store. Select a category, for example, text editors or graphic editors - the choice of categories provides for all the user’s needs - read the description, if this program suits you, click “Install”.
There is simply a huge catalog of application programs, and they are all in one place. Therefore, there is no need to go to distribution sites and look for information. Installation is also free.
Few people install licensed software for Windows; this is due to the wallet-conscious cost of the required program. Most Windows users go to torrents and download pirated versions of programs. As a result, you need to spend a lot of time to properly install and activate a hacked program. Very often, pirated software introduces viruses to the PC’s hard drive.
About Linux
Linux is a family of Unix-like operating systems that are built on the Linux kernel.
The kernel itself was written by Finnish Linux programmer Torvalds in 1991. Currently, Linux is not owned by any corporation and is distributed under the GNU - free and open source software.
L. Torvalds
This is why most Linux distributions (but not all), as well as utilities for them, are distributed free of charge and supported by a large community of developers from all over the world.
Linux distributions were originally created by developers for developers. That is why, in the beginning, they were used in servers and in the construction of supercomputers.
However, now a lot has changed - there are many really good, “folk” assemblies intended for home use (for example, Ubuntu). It should also be noted that Linux is widely used in mobile devices; for example, Android uses this particular kernel.
After studying the philosophies of these systems, let’s see how they fundamentally differ and highlight their advantages and disadvantages.
Individuality for each user
Linux is very easy to customize, to the point that everyone will have their own graphical shell. After all, different companies are developing different versions of this OS. Each such organization works for a specific target audience. Linux options in developer language are called distributions.
There are many Linux distributions in the public domain, each with a description of its functionality, and you can also choose the interface design before installation. By choosing Linux, you do not need to install an operating system on your hard drive, which will take up 30 gigabytes of space. The distributions also include software packages for different fields of activity.
About Windows
First, let's look at a few basic facts about these operating systems.
Windows is an operating system, the first version of which was introduced by Bill Gates in 1985.
Since then, many other versions have been released, which almost every personal computer user knows about - 95, 98, 2000, Me, XP, Win 7, Win 8, Win 10 , and most recently, in 2022, Windows 11 .
From the very beginning of its journey, Windows was positioned as proprietary (commercial) software with closed source code for computers that would be used at home by ordinary users.
This is interesting Bytes and bits