Comparison of windows and linux table is brief. About Linux - for curious Windows users.

Surely most of the users of the most popular OS in the world (talking about Windows, of course) have heard at least out of their ears about the mysterious alternatives - Linux and OSX (used in Apple computers). I will not undertake to evaluate the latter for the reason that it is corny with her not familiar, but the other two will receive the closest attention.
Windows of different versions occupies more than 90% of desktop PCs, while Linux-based operating systems - only about 3%, and this is with the complete freeness of most distributions and programs! Such an impressive difference is caused, firstly, by the very low awareness of people with the world of the OS in general (often pre-installed on a PC is considered the only possible option!) And, secondly, by completely different philosophies in this world. In short, the classic Linux distribution requires an administrator to have a very extensive knowledge of how to work with his device, while Windows only needs knowledge like "where to click" and "which items to check."
Let's explore these differences in more detail.

User friendliness and simplicity

First of all, it is worth noting the differences in the interface. Everyone knows the Windows Start menu (which they have now decided to remove for some reason), the desktop and Explorer. The overall composition of this OS has practically not changed since the 95th, and no one asked if users liked it.
With Linux, the situation is completely different: there is no stability in the interface, everyone is free to choose according to their taste and needs. Here, both perfect minimalism and completely three-dimensional effects coexist side by side, without interfering with each other. In principle, no general criteria can be determined "by eye". In other words, Linux is very different. By the way, with a high degree of probability, many readers of MirSovetov already use it, only indirectly. How? It's very simple: your router, smartphone (with Android OS) and even servers that allow you to view sites, most of them work on it.
Awesome WM window manager desktop with browser, console volume control and taskbar at the top In a modern OS, initial simplicity and intuitiveness is considered a very important factor. I will not try to splurge: Linux loses here with a bang. Even in the most "user-friendly" distributions (Ubuntu, Mint), problems may arise that require a deliberate decision and, first of all, an understanding of their actions. In Windows, the chances of such problems occurring are considerably lower and in most cases they are fixed by a trivial driver. It is difficult to compare the installation process of different operating systems, again because of the wide variety of Linux distributions: in the same Ubuntu and Mint, it is in no way inferior to "Window" (and even superior) in simplicity for a neophyte, but if you offer a beginner to install Gentoo, then a spectacle will be very sad. In any case, the winner in simplicity is obvious to the inexperienced user. This is Windows.
But let's say that you installed the system, customized it to your liking, found the drivers, studied everything inside and out to the best of your ability. We have worked with her for some time and are well acquainted with her. Suddenly there is a problem. Comfortable for you and feeling great on old version The OS program suddenly refuses to work with a new one, for example. Here we come to the next criterion for simplicity: How easy is it for a user who is well versed in all the details of the OS to cope with a non-standard problem? And in this case Windows already loses. No matter how professional the person is in communicating with her, the solution in most cases comes down to shamanism of the level "I'll try this, it will suddenly help!" and searching on the Internet for more successful "shamans". In Linux, you can easily find out the details of the problem by outputting them to the terminal, study and draw conclusions, which is often enough - for example, a library version conflict, which is very easy to fix. And if the problem turns out to be too complex, the user finds additional information and, expanding his knowledge, solves it with renewed vigor. Moreover, it is far from necessary to look for exactly such a case with exactly such a program (which the poor fellow with Windows does), because many errors turn out to be similar. For the sake of fairness, it is worth noting that in Windows, things with similar problems to each other are exactly the same, but the OS simply does not let you know about it.
We get the following conclusion: the choice of a person interested in a computer who is ready to spend considerable effort and time studying his operating system - Linux. Among the pleasant moments is an almost guaranteed and confident solution to problems in the future. But if preferences fall towards the principle "If only it works, but how - I don't care", then Windows becomes the best and most convenient candidate. Undoubtedly, it requires much less initial investment, but when problems happen ... you get my point.
Let me present an example from my life of solving (or rather, trying) the same problem on different operating systems, so that you can assess the prospects. One day I got a 3G modem for my laptop. Knowing in advance that Linux would need the wvdial program, I installed it and made the basic settings - login, password, dial-up number. After that I plugged in the modem, launched wvdial - and voila! I have internet. But when, away from fixed access points, I needed to use this modem on the same laptop, but with Windows, problems arose. The connected device was simply not detected, and the OS swore at the lack of a driver. In general, a standard situation, but where can I get it? The instructions clearly stated that everything should work "plug" n "play, and the driver will be installed from a hidden disk in the modem itself. This did not happen, and I was left without the Internet.
On Windows, everything is simple - inserted and worked ... Oops Now Windows lovers will say that the modem manufacturers are to blame, and few people know how to configure wvdial. I know. But I can customize it. And the modem working "plug" n "play" after basic setting under Linux, but not even recognized as a "flash drive" with a driver for it under Windows - a big minus of the latter for me.

Software

I admit that some of the readers have already decided which philosophy is closer to them, thanks to the previous paragraphs. But one cannot live on philosophy alone, and an OS without programs is worthless. It's time to compare software for both systems!
In general, there is much more software for Windows, primarily due to the popularity of the platform. This stuff is scattered all over the Internet (although Microsoft is making attempts to centralize with its store, there will not be even half of all programs in the foreseeable future), it is updated separately and only everything is removed from one place, if you are lucky.
In Linux, the picture is different: the software is much less, it is often inferior in quality than commercial alternatives on Windows. So the only plus is free? No matter how it is. The most popular distributions are based on packaged software distribution systems, so that everything in the system, from the kernel to the most dreaded player, is installed, updated and uninstalled in the same place. As a result, the usual Windows chain "Found out the name of a program suitable for the task -\u003e Found a program -\u003e Downloaded and installed" is reduced to "Found out the name of a program suitable for the task -\u003e Installed". Only one step is missed at first glance, and the difference is often impressive. Especially when updating everything at once. But will even such a convenient system cope with the abundance of software for Windows? Now I will try to figure it out, having figured out the ways and means of performing the basic tasks of an ordinary user on both OS:

As we can see, most of the user's daily needs are easily met on Linux. The problem can arise only when a specific program is absolutely necessary. What can a decent designer do without the already mentioned Photoshop, for example? Installing Windows or buying a Mac, that's right. But there is another option: using Wine. One of the most striking "wonders" of a free OS, this collection of special libraries and interpreters allows you to run "windowed" software where it doesn't belong. Not everything works (especially right away), of course, but the chances are quite high. Even with games. If not for Wine, the story of Linux games would be very sad. They are there, but very few in comparison with Windows, especially noisy AAA projects. If you are a fan of "cool" resource-intensive games, then you don't even need to look in this direction. At least for now: developers (Valve, for example) are beginning to pay attention to an unusual consumer for them, so that soon everything can change.
Audiosurf feels great in Wine

Technical differences

For those interested in operating systems on technical level I want to compare these aspects as well. Let's start with the fun part: system requirements. Minimum Requirements all the same Ubuntu, the latest version at the moment, is only slightly less (in terms of RAM) than those of Windows 8. On the other hand, no one obliges to use such a voracious distribution: Lubuntu, for example, according to the developers, is capable of working even with a processor Pentium II. In the case of a desktop PC, this does not mean much, but on a laptop, a "light" OS guarantees a longer battery life - not bad, you see. But readers of MirSovetov should know that even with the most sophisticated three-dimensional interface that easily plugs Windows in the belt, a Linux-based OS will work faster than its competitor. The secret lies, firstly, in an architecture that is more economical in terms of resources, and secondly, in rational use random access memory... They try to use it to the fullest, caching as many resources as possible with hard disk... Why would she go for a walk? Let it be useful. Thanks to this, the work of applications is accelerated (after all, you no longer need to access the slow HDD) and the number of operations of the hard drive decreases, that is, its life is extended. Well, if some program needs memory, the most unclaimed cache will instantly disappear from there.
Almost 4 GB occupied, but about 3 of them are cache Everyone knows that Windows is picky about file systems. FAT, NTFS and ReFS (new from Microsoft) are all the choices available. I will not delve into the peculiarities of each, I will just say that the ideal is equally high level operating and large files, and small placers, does not exist. Anyway, now. When you try to achieve everything at once, usually neither one nor the other works. That is why Linux supports a very large number of different file systems, including the familiar Windows FAT / NTFS and ext2 / 3/4, and specialized XFS / ReiserFS, and many others. Some of them will be more useful on the server, the other - for storing movies, the third - for documents. Moreover, thanks to the mount system and hard / soft links, directories with different file systems can be kept side by side without even thinking about it. A big disadvantage is that you need to know the features of each FS and the system mentioned, and be able to use them. Windows is much simpler: installed, and that's it. No choice, no problem.
A little about mounting - a matter more aesthetic than functional. In Windows, any physical storage device ( hDD, flash drive, DVD with files ...) gets its own directory tree named with a proud letter of the Latin alphabet. On Linux, there is only one such tree, and disks are represented as branches. Actually mounting is the process of sending a command to the device of the form "Now your files will be available from this directory." Roughly speaking, imagine that the entire filling of the “My Computer” window can be scattered wherever you like, and not in a strictly dedicated “bag”.
Hard and soft links are a different story. The second ones can be compared with Windows shortcuts, the first ones have no analogues. In short, a hard link allows a single file, occupying unchanged disk space, to reside in any set of directories at once. The difference from a label and a soft link lies in the complete equality of all such "incarnations", that is, the inability to determine the original one. You can get rid of the file with hard links only by deleting all of them. By the way, this is a feature of the FS, not the OS. NTFS knows how to use links, you can work with them through the Windows command line. But what percentage of users can? And most importantly, why is the functionality hidden from them in the depths of the system?
Another big difference between the two systems is the approach to placing programs on disk. In Windows, it is customary for each application to allocate one folder in which all its files will be stored. On Linux, you can do this too, but this is the exception rather than the rule. The rule is storing like with like, that is, all executable files in one folder, all libraries in another, settings in a third, and so on. The global disadvantage of this approach is the high complexity of removing the software manually, by file. On the other hand, the batch manager does a great job without user intervention. The generality of the libraries implies the possibility for different programs use the same one, and not produce "clones". As a result, we get smaller software sizes, which have to be paid for with dependencies - a Linux-specific situation when almost every program requires some other software on the computer, and often more than one. A similar phenomenon for Windows is DirectX and .NET, which are required by a lot of software.
Lots of dependencies for gdm

My choice

You can endlessly talk about the technical differences between different platforms. The general picture became clear, I think: they are not alike at all. Outwardly - yes, maybe, but not from the inside. And surely any reader by this moment is already asking a natural question - "What did I choose myself?"
This is Linux. For clarity, I would like to list the main reasons:
  1. Freedom of administration and configuration. After the rigid framework of Windows, the possibilities run wild! Do not like window frames - put others or even give them up. Inconvenient "hot keys" - all of them can be configured as you wish. Even the keyboard layout can be edited if necessary without problems and additional tools. Of course, you need to know what you are doing - everything is built on this.
  2. Work speed. After a well-tuned Linux box, Windows seems like a sloth's nightmare. How do you like the prospect of downloading the entire OS and basic programs (messenger, mail client, browser ...) in less than ten seconds? Shutdown in two or three? Just a much faster "tossing and turning" in the course of daily work? Easily achievable here!
  3. Tiled window managers and virtual desktops. Personally, I just hate it when the display is used irrationally. All these menus, stripes, crosses on top of the window annoy me terribly, most of the time they do not bring any benefit and only take up space. The tile manager gets rid of at least the strip with the name of the window and the buttons "Minimize", "Close" and "Expand", which is already a plus. Virtual desktops, on the other hand, are several additional "displays" on which you can place windows and full-screen applications, and then switch them at the touch of a button. For those interested - both of these concepts can be tested on Windows, but the sensations will still not be complete.
  4. Comprehensibility. Even if not immediately, but now I understand a lot in my OS and can solve most of its problems when they arise. On Windows, however, you can go crazy with a sharp jump in complexity between standard settings (crosses-menus) and advanced (registry, politicians), and even the latter do not give full control over the situation.
  5. Terminal. No matter how many people talk about the wonderfulness of the graphical interface, the good old console will always remain the most powerful OS tool for working with it. Even on Windows, full familiarity with command line opens up new horizons, and this "terminal" is just a ridiculous stub of the normal. Here is an example of the wide capabilities of the console: once I needed to get a processed copy of one site. In just a day (most of the time was spent on getting acquainted with the syntax and basic principles of programming, in which I was zero) a script of three commands was created, in which pages were loaded, processed, folded into a separate folder while maintaining the server structure, and even a simple one AI guiding this whole business and choosing new pages to jump. A script, if anything, is just a file containing a sequence of commands for the terminal.
  6. And many other, smaller and specific for me reasons in favor of Linux.

Afterword

If you still have not been able to decide on your main operating system, let me present a simple analogy. Let Windows be an apartment in a nice, expensive high-rise building, and Linux - a country house (provided that you maintain it yourself).
The advantages of the apartment are clear: pay and live, it can even be equipped with furniture-software in advance. The repairs will be done by the utilities, they will take care of everything like that. The disadvantages are no less obvious: the apartment, in fact, is not yours in the full sense of the word. No one will allow you to make an extra window or door in the wall. To lay the wiring with a more profitable route - too. There is no talk at all about making an extension.
In other words, Windows embodies the principle “I need to work, not tweak and learn. Even though it’s inconvenient to work, I’ll be patient. And the problems should be solved by the support service ”.
A country house can also be bought (including furniture - Ubuntu and Mint here) or built from scratch according to a general plan (Gentoo, Arch and others). It is quite logical that the house you have chosen will be much more convenient for you personally than an apartment. But he will require extensive knowledge of his device, otherwise the simplest maintenance will become impossible. If a decision was made to build from scratch, then at least basic concepts of architecture are needed in order to assemble a simple panel dwelling. There is no knowledge - you will be left with a crooked booth or dugout, after which you will begin to scold the very idea and consider everyone who builds houses to be fools. You have the knowledge - you can build anything, even a huge mansion. And let the furniture for apartments not be compatible with it without modification, it will be much more convenient for you personally.
That is, Linux embodies the principle “I need first of all to have convenience and not to depend on stupid support. Let me spend a lot of time learning, but then I'll do it my own way. "

Based on this, first of all, I advise you to choose (just do not forget that it is far from necessary to "build a house" from the very beginning - you can familiarize yourself with the ready-made and form an opinion). Good luck and make no mistake.

The situation with the most popular operating rooms in Russia windows systems and Linux is very similar to the situation with other products - for example, with nvidia graphics cards and ATI. And until now, the debate about which is better - Windows or Linux does not subside. We will present you a different view of this problem - from the point of view of specific tasks solved by a particular OS.

Linux or Windows

Comparing these systems, one should take into account that they are completely different in their qualities. It's like comparing, for example, kefir and fermented baked milk or comedy and melodrama - someone will prefer one thing, someone else. Also these OS (operating systems) - they are just very different. Windows is a ready-made solution with a wide range of functions, Linux is a kind of constructor that can be customized to fit your needs. This is the main difference between Linux and Windows - in the ability to adapt this OS for completely different tasks. And Windows, in turn, is perfect for those who do not want to delve too deeply into the OS settings - everything is already configured there, but configured in a certain way, and it will be quite difficult to reconfigure, although it is possible.

Windows and Linux: comparison

First of all, Linux, unlike Windows, is a free operating system. Once installed, you can use many applications and programs completely free of charge to perform various tasks. As for the functional component, here today the systems are approximately equal, although not so long ago Windows could perform much more tasks. Another important difference between these systems: Linux, unlike Windows, is not an operating system per se. Linux is the kernel of the OS, on the basis of which a large number of special programsdesigned to perform various functions. Now let's compare these systems in terms of malware ( software). With Windows it is clear - viruses and spyware dark darkness is written under it. However, there is an opinion that no viruses have been created under Linux (as, by the way, under Mac OS). This beautiful fairy tale is actively fueled by fans of these operating systems, who simply idealize them. In fact, under Linux, as well as under Mac OS, a sufficient number of malware, although, in fairness, we note that there are several times less of them than for Windows.

Other differences between Linux and Windows

They relate, first of all, to the launch of individual applications for each of these OS and the ability to cope with the difficulties that arise when working with a particular OS. As you know, all major applications - games, video and audio players, programs for working with graphics and text files etc. etc. Written for Windows. That is why, in order to install something under Linux, you need to know the settings of this system very well. Likewise, you may have problems with drivers (launch programs) for various devices... This does not mean that these programs and devices do not work under Linux. They work, but you have to spend a lot of time to configure them. But fans will have to play a little tight. It is good if your favorite toy has different versions to run under Windows, Linux and Mac OS. If not, then you will have to study a lot of special articles on how to run this or that game under your OS - and it is far from the fact that it will work correctly. If we talk about such features as the security and reliability of the OS, then Linux has an advantage, however, in order to use it, you need to be quite familiar with the system settings, which will take a lot of time to learn. Below, I have presented for you the main characteristics of each of these systems in the form of a list.

Comparative characteristics of Windows and Linux

  • Windows - paid OS, Linux - free
  • Almost every application and device for a PC has drivers for running under Windows, Linux may have problems with this.
  • A huge number of malicious programs are written for Windows - viruses, Trojans, etc. For Linux there are several times less of them.
  • With some windows problems even a novice user can handle it, and in order to troubleshoot Linux crashes, you need to know the settings of this system well
  • Windows is more convenient to administer (manage), but Linux is more stable and secure
  • Windows is quite resource-hungry, while Linux is much less demanding on your PC's resources.
  • Almost any game can be launched under Windows; some games under Linux may require professional knowledge or the use of additional programs.
  • To work in Windows, the user does not need any special knowledge, since it is already "ready to use", in Linux, you need to delve into the settings, but you can customize it for your specific requests

Thus, each of the presented systems has both its strengths and weaknesses, and there is no unambiguous answer to the question of what to choose - Linux or Windows - everything is determined by the requests of a particular person. As you probably noticed, these systems are too different and fit different needs.

It just so happened that even on Habré, many have a very vague idea of \u200b\u200bthe OS Linux family.

The purpose of this article is to tell in the most popular language about the features and differences between Linux and Windows for those who have never dealt with it at all.

I have been using Archlinux freely for more than one year, loading Windows just "to play". This article talks about the things that I figured out empirically, poking around like a blind kitten. If at one time I would have come across just such information in this form, it would have saved me at least 2 years, during which I was switching from Windows to Linux.

The cornerstone principle of working with linux-systems is “From understanding - to action”, while in Windows - “I know where to press / where to put a tick - I do”. In other words, in order to do something, you need to understand how it works there, inside.

Thesis №1 - IT IS NECESSARY to master the work with the system from the text console!

"Pure" Linux (base system) in any distribution looks like DOS - black screen, text mode, a blinking cursor is waiting for input. When you come across this for the first time - you sit and think: "Damn, but what to write something?"

Modern user-friendly distributions give the illusion that the user doesn't need a console. Good uncles, they say, have already taken care of everything. Here's a wallpaper in FullHD-resolution, here's a program for setting parameters - just tick the boxes, just like in Windows ... To avoid unnecessary holivars, I'll digress here.

There are Linux users who never have a bug. Ubuntu is upgraded from one major version to another, starting from Ubuntu 1.0, and so on. Guys, do not write anything in the comments about the uselessness of the console for the user, go better and admire the rainbow that pink ponies poop in your world.

In my linux world buggy and breaks. No, it's okay if you just start the programs and use them. But then suddenly a moment comes when you desperately need, say, to change open firewood to proprietary ... well, or just update the system. And here, if the stars were unsuccessful, you get a broken system and a text console as the only method of interacting with it. And (what's the worst) - such garbage tends to happen regularly.

In my experience, at such moments, the Windows user acts as he is used to, obeying the usual ideology. First, there is an attempt to "fix". Windows ideology prescribes to find on the Internet a discussion of a similar problem and its solution, after which repeat all actions that led to the solution of the problem... As a result, the user thoughtlessly drives in commands that he does not understand. Sometimes it even helps, more often it doesn't: the contents of the commands need to be modified for specific conditions and a specific local machine, but there is no knowledge for this. As a consequence, the next logical step is to reinstall the system. Believe me, I know what I'm talking about - I broke and reinstalled Ubuntu more than 10 times ... of which about a third after the spontaneous death of the system during the upgrade, without correlation with the curvature of the arms.

Studying the structure of the system and working with it from the console is akin to the well-known "lose a day - fly in an hour". Eliminating the problem in this case is much faster than reinstalling, not to mention the fact that it becomes much easier to “not break” :) In addition, the difference completely disappears - you sit at the computer locally or through a remote SSH session. Believe me, this feeling is worth a lot.

Thesis number 2: user-friendly distributions are poorly suited for studying the system.

The developers of such distributions diligently create an interface graphical layer designed to reduce the interaction of the user and the system to mindless mouse clicks. Technically, this layer can be a completely enchanting heap of crutches - on bash "e, python" e, perl "e ... the most complete hell for a beginner trying to understand the logic of the system. In addition, sane documentation (if any) is lost among forum posts like "to get A, enter B in the console, and in the settings press the button C"

Technically minimalistic distributions with high-quality and detailed documentation are best suited for training. These are, for example, Gentoo and Archlinux. I personally recommend the latter, simply because it worked in my case. After a couple of years of troubles with Ubunta, just a couple of months with Arch propelled me 10 times further in my comprehension of Linux.

There are several reasons for this:

  1. The technical minimalism of the system makes it much easier to understand.
  2. High-quality, detailed documentation facilitates the learning process.
  3. Getting out of the "graphic comfort zone" is very helpful!

The last point is worth highlighting. Ubuntu, with its graphical interface, doesn't add any motivation to poking around in the console. Another thing is when initially there is only a console and the strongest motivation “to configure this graphical interface” - there is simply nowhere to go, you have to master the documentation and acquire knowledge.

Windows and Linux: fundamental differences

1. File system

  • In Linux, logical disk volumes are not assigned letters. Instead, one of them is designated as root, and the rest are connected to the specified folders within it. All paths start with a forward slash, without any C drives:
  • All system files dumped at the root file system, and categorized by type / purpose. Relatively speaking, all settings are in / etc, executable files in / bin and / usr / bin - and to all this stuff, an ordinary user (not an administrator) has read / execute access only, and even then not always (when it comes to system services )
  • File extensions in linux are completely optional. Whether a file is executable is determined by a special mark - like the “hidden” or “archive” mark in Windows. Executable files without extension in linux are the norm!
  • There is no special mark on linux that the file is hidden. Instead, names with a period at the beginning are used, and already file managers allow you to turn off the display of such files. That is, the file /home/user/.bashrc is hidden. The period in this case is part of the filename!
  • A regular user has full access only to your personal folder, which is usually / home /% username%. Similar to the D: drive in Windows, a separate disk partition is often attached to the / home folder. Thus, all user data is located on a separate partition (or generally on a physical hard drive).
  • All user (non-system) programs, if necessary, save some of their data or settings, do this only in the home folder of the user from which they are launched - simply because only in it they have the right to write.
  • The very concept of a “file” in Linux is a bit different, broader. There is a so-called. “Device files”. For example, / dev / sda is usually a hard drive (although there may be a flash drive), and / dev / sda1 is the first partition of that hard drive. From here, such cunning maneuvers are possible as dd if \u003d / dev / sda1 of \u003d / home / user / backup - the command will copy the entire first partition of the / dev / sda disk byte by byte to the backup file in the user's home directory. There is a so-called. “Symbolic links” - in the file manager they look like a regular file, in fact they link to another file and do not take up disk space. That is, there can be one executable file and a bunch of symbolic links to it in different places.

2. Batch manager and the concept of "package", software installation.

  • Programs are installed only from the administrator account. During installation, all files related to the program (for example, Firefox) are "smeared" over the root file system - settings common for all users will go to / etc, executable files to / usr / bin, and icons and various resources like graphics and sounds - to / usr / share / firefox. In this situation, the user, in principle, cannot know where he has what exactly lies. The package manager is responsible for this. For example, the "Firefox" package includes a bunch of files. When installing a package, the package manager will decompose them on the file system, and when uninstalling, it will remove them accordingly.
  • Another important function of a package manager is to satisfy package dependencies. For example, Firefox requires the libjpeg library to run. This means that during installation, the package manager will automatically install the libjpeg package, and during uninstallation, it will remove it if it is not required by any other package.
  • The package manager usually has a database of all available packages, and it has tools to search that database. Therefore, installing programs on linux is incredibly simple - with the first command we search for the exact name of the package by keywords in the database, with the second we put it. No need to go to sites, search and download something. If I need to put skype in Arch, I dial pacman -S skype and press ENTER, and in a minute I have skype installed. I need Firefox - I'm writing pacman -S firefox... Etc. In another distribution, the command and syntax will differ, you may need to specify the repository address - the principle itself remains unchanged.
  • Never, never even try to download and run anything through a browser like in Windows! Only if you fully know what you are doing - but then why are you reading all this?) Downloading and running the file is part of an ideology completely alien (even hostile) to Linux. Programs must be installed through the package manager. Dot.
  • Never use the “configure && make && make install” method to install a program. Every time this happens, a dozen innocent kittens die a painful death in the world. This set commands will build the program from the source, and then scatter its files across the file system without the knowledge of the package manager. This is a violation of the normal logic of working with the system. Don't do this))
  • I will add, perhaps, here is something else. Very often you can see insistent advice “do not work from under the administrator”, and there is a reason for this not entirely obvious to Windows users. The fact is that typing a command in the console is fraught with the danger of typos and accidental clicks. The situation is quite real when you are going to delete a folder, start writing a path to it and accidentally touch ENTER. Linux is not in the habit of asking, “Are you exactly such a fool? y / n "- it just does. Therefore, under the root, you have to type commands very carefully. In Windows, of course, there is no such problem.

3. Graphical user environment

  • The entire graphical environment of the user is a collection of application programs. Historically, for a Windows user, concepts such as "Desktop", taskbar, system tray, volume control, clock and calendar, Start menu, access to network settings from the tray are an integral part of Windows. In Linux, all of the above is implemented in separate programs. Moreover, for each task from the above list there is far from one program. As the volume control I can put volumeicon written in C or volwheel in python
  • The graphical environment is based on the following programs:
    1. X server, or simply "X". A program that receives data from the user (from input devices) and basic window management, their minimization and expansion. It is called a “server” because it provides “network transparency”: for Linux it makes no difference whether a user logs into a graphical session, locally or remotely. A kind of RDP as a basic functionality, in other words.
    2. Window manager, also known as WM. It is engaged in drawing elements of the window interface, plus (depending on the trickiness) provides a number of other functions. Some WM allow you to set the desktop background, some add the functionality of the "system menu". Sometimes the simplest window manager (TWM) is installed with the X-server. Terrible as a sin of God, straight from the 70s.
    3. Window decorator - sometimes the functionality for decorating windows, the ability to change themes is taken out in a separate program
    4. Composite Manager - also happens as a part of WM, or as a separate program. Its task is to transfer the rendering of the interface to the video card. Technically, the principle is simple - each rendered window is a separate texture in the memory of the video card. And video cards have been able to handle textures, add effects and distortions, project onto a plane in space, change translucency and superimpose them on top of each other for many years.
    5. Interface elements: taskbar, tray, network manager, system menu, program for setting the desktop wallpaper
    6. Basic application software - file manager, terminal emulator (to console commands write in a beautiful translucent window)
  • Preconfigured “bundles” of matched elements of the graphical environment, programs from the list above, are called “Desktop Environments”, or DE. The most famous DEs are Gnome and KDE, the heaviest and most "fat" ones. There are also XFCE and LXDE. Installation is often implemented by installing a so-called meta-package - the package itself does not contain files, but as dependencies it requires the installation of the entire set of programs that make up DE: WM, a decorator / composite manager, file manager etc
  • It is also possible (and often reasonable) to assemble an environment for yourself from “pieces” to your liking - select WM separately, separately a file manager, and so on.
Summarizing

After a little self-education, getting a graphic from a text-console system takes place in one command. In my case, I type:
pacman -S xf86-video-ati xorg-server openbox tint2 nitrogen lxterminal xcompmgr wicd-gtk volumeicon.
This is the command to install all the listed packages:
xf86-video-ati this is an open-source driver for my video card
xorg-server this is "X"
openbox it is a lightweight WM with a system menu (like "Start")
tint2 this is a taskbar with a tray where applications will be minimized
nitrogen allows you to set the desktop background
lxterminal - my favorite terminal emulator
xcompmgr this is the simplest compositing manager, adds translucency and shadows
wicd-gtk this is a manager network connectionsthat hangs in the tray
volumeicon - volume control

After that, already from the graphical environment, through lxterminal I install everything else that is necessary for life: browser (s), file manager, video and audio codecs, player, libreoffice, gimp, etc.)

Security, freedom, free, open source, popularity, amount of software, all these are the main differences between Linux and Windows, which most often cause users to switch to this operating system. Everyone knows about them, or almost all users. But what if you dig deeper, how exactly are these systems different? What are the fundamental technical differences?

In this article we will look at how windows differ from linux from a technical point of view, try to figure out why Linux is considered more secure, and also understand the essence of the differences.

1. System core

The core component of every operating system is its kernel. And even so, there are huge differences between operating systems. The Linux kernel is monolithic, it consists of a single file, and modules can be used to extend its functionality.

All programs communicate with the kernel through system calls, they are standardized, so the same programs can run on different Linux platforms, for example, x86 and ARM, without rewriting.

All drivers are built into the kernel, but most of the programs are in user space, including the graphical shell. The monolithic structure gives you more security, because if you turn off module support at the stage of building the kernel, it will be impossible to execute your code at the kernel level.


This is the main, but not obvious, difference between Linux and Windows. Windows has a completely different type of kernel. It uses a hybrid kernel, which consists of many small parts - dll libraries, each of which is responsible strictly for its own function.

But this is not all, system calls are not used; instead, user programs are forced to access the documented libraries user32.dll, gdi32.dll, kenel32.dll, advapi32.dll. These libraries call functions from ntdll.dll, which is directly linked to the kernel.

The hal.dll library manages the drivers and connects them to the kernel separately. The display is controlled by the graphics subsystem of the kernel, which includes all work with graphics, including the shell. The ability to use a user-mode kernel makes it easy to adapt the system to any type of program, such as win16 or POSIX. But this flexibility comes at the price of performance.

2. File system structure and disks

What is very different operating linux system from windows the structure of the file system you will notice immediately. Linux provides a filesystem more realistically as it really is. The structure of the file system begins from the root, or, in other words, the main directory of the system partition, and all other disks are connected there in the necessary subdirectories.

Files are sorted into directories based on type, for example, executables are in / bin /, settings are in / etc /, and resources are in / usr /. It turns out that one program is divided across the entire file system, but this does not cause difficulties due to the package manager.


Storage devices in Linux are named alphabetically and partitions with numbers. For example, the first hard drive will be named sda, the second sdb. And the sections on the first one will be numbered - sda1, sda2, sda3 and so on. Partitions can be freely mounted to any desired folder, for example, as a home directory or / var /.

Windows creates an additional abstraction. Although disks and partitions are named in a similar way as in Linux, all this is hidden by the operating system. The user is provided with such an abstraction as the C :, D :, E :, F: and so on. Each of them is a section on a hard disk, and the system hides more detailed information from the user. This is for the best for newbies. As far as file distribution is concerned, one program is in one folder, with all executables, settings and resources.

3. Configuration and data storage

In Linux, all settings are stored in regular files that are located in the file system. Global configuration files are located in the / etc / folder. They apply to all users who use this computer. User program settings are located in hidden subdirectories of the user's home directory.

Such storage is quite convenient, since configuration files can be easily transferred to another computer, and decentralization increases the reliability of the system. Each program creates its own configuration file, with its own syntax, and they are edited mainly by hand. Almost all settings can be done through a graphical interface, but graphical utilities often create very confusing configurations. Handcraft always looks better.

This is also an important difference between linux and windows. Windows stores all application, system and driver settings in a special database called windows registry... All settings are separated by branches and keys, and programs can access them very quickly.


This provisioning method gives the default security settings, the ability to remotely change and easily change them using graphical programs. But there are big drawbacks here: the settings cannot be transferred to another computer, the centralized settings system can be damaged and this will damage the entire system.

In addition, the programs very quickly overwhelm the registry and it starts to take up too much, so it bootstrap it takes a long time. It is difficult to say which technology is better, but this is also the difference between linux and windows and only you can choose what to use.

4. User management and rights

Linux was originally designed as a multiuser system. Files have three access categories - the owner user, the user group and everyone else. There are also three access parameters - read, write and execute. Using a combination of these simple parameters, access control to all files in the system is carried out, and since in Linux everything is a file, it means to everything.


Windows was designed to be used by only one user, initially this caused a lot of security problems. But then the user system was modified to a multi-user system, which, in addition to the owner, the group and the rest, includes detailed ACL lists access. We can say that the difference between windows and linux here is not so great.

5. Program management and updating

Let's continue comparing windows and linux. Managing programs and updating them is a huge difference between windows and linux, so everything is implemented differently.

There are software package repositories on Linux. There is, if not everything, then almost everything required programs, drivers and system components. You will hardly need to download programs from the Internet, although there is also such an opportunity.

Using centralized repositories provides greater security and reliability, as well as the ability to update. Once a new version the program appeared in the repository, you can update it. The update process is performed with one command for the entire system at once, when it is convenient for you.

There are no repositories in Windows, you have to search for all the necessary programs on the Internet and install them manually. Each program will update itself when it sees fit, including the system. To update the system, a reboot is required, and Windows can be very persistent in the matter of installing updates.

conclusions

In this article, we tried to figure out how windows differ from linux. Moreover, we did not dwell on such well-known things as freedom and gratuity, but tried to reveal exactly the technical details, as far as possible in such a small article. If you are just faced with the choice of an operating system, I hope this comparison of windows and linux was useful to you.