Linux operating system basic characteristics. Description of Linux. How multiple users work on the same machine

  • Date: 14.05.2021

Multi-user system

Linux was originally designed as a multi-user system. At the same time, it was not about the fact that several people can use a Linux computer in turn, but about a real multi-user system, when several people simultaneously run their applications on the same computer. Is this necessary when it comes to a desktop, personal machine? Now we can firmly say yes. First, application-specific settings and data are maintained independently and carefully for each user, which is essential in today's widespread application and data sharing. Secondly, for each user, independently the settings of his desktop are saved, each time he completes the registration procedure, he gets a familiar working environment.

The main part of the Linux operating system is usually called the kernel. The kernel includes the lowest level of operating system functionality, such as controlling hardware, running device drivers, managing filesystems, creating processes, managing memory, and other basic functions. The Linux kernel is a lot like the UNIX kernel. The Linux kernel has some very unique features:

the core is built on a modular basis

several kernels can be installed on one computer at once

Linux kernel development is managed centrally

The Linux kernel is not a monolithic entity, some parts of it can be loaded during operation, such parts are called modules. If some functions are not required at the moment, then the modules responsible for them are not loaded and do not occupy memory. Several kernels can be installed on one computer at once, but only one of them is running at a time. This feature allows you to test new versions of the kernel, build a more suitable configuration, and at the same time be able to very easily revert back to an old version that was guaranteed to work. Linux kernel development is still controlled by the legendary Linus Torvalds. This means that each version of the kernel is one single object.

Application interoperability

The Linux operating system is nowhere near as tightly integrated as the operating system. Windows system... Virtually every distribution consists of a kernel and hundreds, if not thousands, of individual software packages associated with that kernel. All programs were originally designed and engineered to allow close interaction, otherwise the system would not be able to work. But this does not mean that they should interact; there may be no integration between them. In some cases, this lack of mandatory low-level integration may seem like a disadvantage, but this quality gives higher-level software developers the freedom to choose low-level applications and the ability to replace them later. Because the Linux kernel and nearly all available applications are based on open standards, integration between the two is easy and they work together reliably.

User interface

Typically, the user communicates with the computing machine through a graphic monitor, mouse and keyboard. Almost all client computers work this way, although desktop appearance and functionality may vary. Under Linux manager graphical session is just one of the applications; it is not part of the operating system. This means that, firstly, you can choose a desktop manager (the most common choice is KDE or GNOME) and, secondly, you can work without a graphical environment at all, in alphanumeric mode.

Interaction with external infrastructure

A desktop computer rarely runs on its own; it must interact with the underlying infrastructure. It needs to be connected to local network, in access to servers and other shared resources. Linux supports all possible network protocols required for such interaction. The most important point when connecting a computer to the outside world is the problem of ensuring security. The Linux kernel has a built-in firewall that protects the computer from unauthorized access from the outside and ensures a safe end-user experience and data integrity.

Data storage method

The way of storing data in Linux is fundamentally different from the way it is used in Windows. The file structure in Linux is represented by a single tree, while different types of partitions, including partitions on remote devices, look the same. There are no letters assigned to discs. This approach allows, for example, to adhere to the same logical directory structure on all client machines. A significant difference in handling files is the existence of links in most of the file systems that Linux works with. In essence, links are pointers to files or entire directories. There are two kinds of links: hard links and symbolic links. A hard link is just another name associated with a file, while a symbolic link is a free-standing pointer. In the event that a file is deleted, the symbolic link to it is not deleted, but begins to point to the void. If the number of hard links to a file is more than one, then deleting one name will not delete the file. In reality, it will be removed only after the last hard link is removed.

Other differences

There are other features that set Linux apart from other desktop operating systems. Let's look at the difference in working with virtual memory and the notion of run levels, which is unique to Linux. Working with virtual memory in each operating system happens in its own way, sometimes it even depends on the version of the operating system. Feature of Linux is that virtual memory will not be used as long as it is possible to work in real RAM. Windows, for example, begins to move information from RAM to disk and in other cases, there is a practice of preemptive swapping. In many cases, this approach leads to a decrease in the speed of operations. Linux has also adopted a caching system, that is, storing recently used file information in RAM. As a result of this practice, a significant part of the RAM is constantly used. In the event that additional RAM required by applications, the system simply shrinks the cache area. The concept of runlevels is common across UNIX / Linux-like operating systems... The runlevel determines which system services are started when the system boots. Runlevels are numbered from 0 to 9. For example, runlevel 3 corresponds to the loading of all system services, except for graphics. At level 5, the graphical environment also starts. Level 1 corresponds to single user boot mode, in which only one console is available and virtually all services are disabled.

Linux is a complete operating system that is a free clone of the UNIX operating system. In this article, we will try to do a technical Linux description.

When the computer boots, the Linux operating system takes control of the computer and controls the following components.

Basic description of Linux components

  • Processor - Since the Linux kernel allows multiple processes from multiple users to run concurrently (with support for multiple processors), the operating system needs multithreading controls. The Linux scheduler prioritizes processes and determines which process is running on a particular processor (if multiple processors are installed on the system). The scheduler can be configured to work on various types of systems. At correct setting more important processes get faster processor response. For example, the Linux scheduler on the desktop gives higher priority to the window moving task and lower priority to the background file copy task.
  • Memory - the Linux kernel tries to keep the currently running processes in RAM. Idle processes are moved to the paging file, which is a dedicated area on the hard disk that is used to store data and processes that do not move to RAM. When the RAM is full, the processes are moved to the paging file. If the paging file is full (but this should not be allowed), new processes are not started.
  • Devices - The Linux kernel supports thousands of hardware devices. At the same time, due to the inclusion of only up-to-date drivers in the running kernel, the kernel size can be kept at an acceptable level. Using loadable modules allows you to add support for additional devices to the kernel. Modules can be loaded and unloaded on demand as a result of plugging in or unplugging a device. (The kernel, which will be discussed later, is the heart of the Linux operating system.)
  • File Systems - File systems provide the structures in which files are stored on CDs, hard drives, floppy disks, DVDs, and other media. The Linux kernel supports many types of file systems (for example, Linux file systems: ext3 and reiserfs, and VFAT and NTFS file systems from the Windows operating system).
  • Security - Like UNIX, the Linux operating system was originally designed to provide concurrent multi-user access. To protect user resources, each file is assigned a set of read, write, and execute permissions that define access rights. In a standard Linux system, it has unlimited access to the entire system, special logins can control specific services (such as the Apache Web server), and users can be assigned permissions individually or as a group. Recent innovations, such as Security-Enhanced Linux, support tweaking and securing secure computing environments.

Shown above description is a description of the basic components of the kernel (kernel) Linux... The name from the Linux kernel (which was created and is still being developed under the direction of Linus Torvalds) spread to the entire operating system.

The kernel is a software component that interacts directly with the computer's hardware. Other components added to the kernel, such as administration tools and applications, are taken from other open source projects. The Linux kernel and the required components make up a complete operating system.

The next part in the article on describing Linux tells that many other components were created by other projects, so it is more correct to pronounce Linux like this: GNU Linux

The GNU Project provided many components that are now part of the Linux operating system. (GNU, Apache, KDE, GNOME, and other key open source projects in Linux operating systems are discussed below.) The following subsystems have been built from other projects.

  • The graphical user interface consists of a graphical framework (usually the X WindowSystem), window managers, panels, icons and menus. The graphical user interface allows you to use a combination of mouse and keyboard instead of simply entering commands from the keyboard (as was the case in the good old days). In the near future, the graphical X server will be replaced by Wayland on all Linux distributions. Ubuntu is developing its own graph. Mir server.
  • Administration tools include hundreds (possibly thousands) of commands and graphical utilities that allow you to add users, manage disks, monitor network health, install software, and ensure security and manage computer resources.
  • Applications - although none of Linux distributions does not contain all existing applications, but each contains thousands of games, office applications, Web browsers, media players, chat clients and many other applications available exclusively for the Linux platform.
  • Developer Tools includes exclusively tools for developing and creating libraries and applications to implement specialization interfaces.
  • Server capabilities allow the computer to Linux management provide services to clients on the network. In other words, in addition to installing Web browsers to view Web pages, you can turn your computer into a server that provides Web pages to other computers. However, popular server functions include Web servers, email, database, print, file servers, DNS servers and DHCP.

Specific features of Linux as an OS.

  • multitasking: many programs run at the same time;
  • multi-user mode: many users work at the same time on the same machine;
  • protected mode of the processor (386 protected mode);
  • process memory protection; a program crash cannot cause the system to freeze;
  • thrifty boot: Linux reads from disk only those parts of the program that are actually used for execution;
  • division of pages by record between instances of the executable program. This means that the processes-instances of the program can use the same memory when executing. When such a process tries to write to memory, the 4KB page being written to is copied to the free space. This property improves performance and saves memory;
  • virtual memory with paging (i.e., not the entire inactive process is pushed to disk from memory, but only the required page); virtual memory in independent disk partitions and / or files in the file system; up to 2 GB virtual memory; resizing virtual memory during program execution;
  • shared program memory and disk cache: all free memory is used for buffering disk exchanges;
  • dynamic loadable shared libraries;
  • dump of the program for post-mortem analysis: allows the debugger to analyze not only a running program, but also a program that has terminated abnormally;
  • POSIX.1 certification, compatibility with System V and BSD standards at the source level;
  • via iBCS2-matched emulator compatibility with SCO, SVR3, SVR4 by downloadable programs,
  • availability of the source code of all programs, including the texts of the kernel, drivers, development tools and applications. These texts are freely distributed. Currently, some companies supply a number of commercial programs for Linux without source code, but everything that was free remains free;
  • job management in the POSIX standard;
  • emulation of the coprocessor in the kernel, so the application may not care about emulating the coprocessor. Of course, if a coprocessor is available, then it is used;
  • support for national alphabets and conventions, incl. for the Russian language; the ability to add new ones;
  • multiple virtual consoles: multiple simultaneous independent consoles on one display work sessions switchable from the keyboard;
  • support for a number of common file systems (MINIX, Xenix, System V file systems); the presence of its own advanced file system up to 4 Terabytes and with file names up to 255 characters;
  • Transparent access to DOS (or OS / 2 FAT) partitions: The DOS partition looks like part of the Linux file system; VFAT support (WNT, Windows 95);
  • special file system UMSDOS, which allows you to install Linux in the DOS file system;
  • access (read only) to the file system HPFS-2 OS / 2 2.1;
  • support for all standard CD ROM formats;
  • TCP / IP networking support including ftp, telnet, NFS, etc.

What does the simultaneous execution of several programs look like.

The so-called virtual multiconsole makes it possible to organize the work of several consoles on one display. The broadcasting process starts on the first console. The Alt-F2 key combination follows the transition to the second console. The broadcast continues, but the first console on the display screen is replaced by a new picture of the second console. In which, for example, a text editor is launched. The Alt-F3 combination follows the transition to the third console, in which the debugger is launched, etc. There are usually 8 consoles in a system, but up to 64 can be installed. You can switch to any console at any time.

A separate console can run both text and graphical programs.

On one of the free consoles, you can run the X Window System. Open a window on the screen and play DOOM. It is possible through a network with a partner. And in other windows - database, mail, editor, broadcast, etc.

Thus, many consoles are running at the same time, and on one of the consoles there are also many X Window System windows.

In addition, the system simultaneously runs background processes that do not provide information to the display, but do their job, for example, transfer data via a modem, print to a printer, send mail over the network, etc. The background process can be initiated by both the user and the OS itself in accordance with the prevailing conditions (there is mail for sending, data for printing, the time has come for communication via modem, etc.).

Linux provides physical parallelization of computations on multiprocessor machines (up to 32 processors), but this is not directly related to the simultaneous execution of several programs. The operating system allows multiple tasks to be performed simultaneously on a single processor, switching the processor from task to task hundreds of times per second.

How multiple users work on the same machine.

The user gains access to the system as a result of registration. The system displays the login: prompt on the console, and the user enters his login and password in response. After checking the access rights, the system issues an invitation to enter commands for executing programs, accepts commands and executes them, for example:

Tty1 Console tty2 Console ______________________________ ________________________________ / \ / \ | tty1 eugene.mplik.ru login: root | tty2 eugene.mplik.ru login: eugene | | Password: xxxxxxxx | Password: xxxxxxxx | | | | | Linux 1.3.68 | Linux 1.3.68 | | | | | eugene.mplik.ru> cal 02 1996 | eugene.mplik.ru $ telnet elvis.ru 2 | | February 1996 | Connected to elvis.ru. | | Sun Mon Tue Wed Thu Fri Su | English-Russian, Russian-English words | | 1 2 3 | .e or. - exit | | 4 5 6 7 8 9 10 | .h - help | | 11 12 13 14 15 16 17 | tr> unix | | 18 19 20 21 22 23 24 | operating system; originally | | 25 26 27 28 29 | developed by Bell Laboratories | | | for mini-computers of the PDP-11 series and received | | eugene.mplik.ru> | of various classes and types. Especially | \ ______________________________ / \ ________________________________ /

It is common practice for a user to log on to different virtual consoles under different names. For example, to perform administrative functions on console 1, a user logs in as root, to run an application as eugene on console 2, to run a toy as games on console 3, and so on. The point of this approach is that different "users" have different identities in the system - access rights to resources, initial settings, files, etc.

If the machine is connected to the network, then it is possible to remotely register a user from machine A to machine B, even when these machines are located on different continents (the connection of machines on a planetary scale is provided by the Internet). User on machine A issues a command like

Telnet machine_B.firm_B.city_B.country_B

and in a second or two he sees an invitation on the screen

Machine_B login:

enters his username and password and ends up on the current console in machine B (if the password has confirmed access rights). From another console, it is possible to enter another machine or re-enter machine B.

While in machine B, the user can issue the command

Telnet machine_A.firm_A.city_A.country_A

and check in again in own car A from car B.

In general, registration is optional, and addresses do not have such a rigidly fixed form, for example:

Eugene.mplik.ru $ telnet elvis.ru 2345 Connected to elvis.ru. English-Russian, Russian-English dictionary e or. - exit.h - help tr> unix operating system; originally developed at Bell Laboratories for the PDP-11 series minicomputer and widely used on computers of various classes and types. Features of UNIX: portability of programs between UNIX implementations on different computers; focus on the interactive mode of operation and use, first of all, by programmers for developing programs; openness to making extensions. tr> .e Connection closed by foreign host. eugene.mplik.ru $

Besides the network connection, the machine can have dozens of terminals connected via serial ports. The terminal is a screen and a keyboard, i.e. a console to which the user can log in normally. Only in this case, the console is not virtual, but represented by a specialized separate device. The terminal can be a personal computer, for example, running under DOS PC 286, on which a program is executed that imitates the logic of the console operation (transparent input from the local keyboard to a Linux machine and transparent output to the local display of data from a Linux machine).

Network ...___________________________... | ____ | ____ ____ | | | | display | Linux | --- | ____ | with virtual | | / ___ / consoles | --------- | | _________ | ports / | \ / | \ / | \ communication lines / | \ ____ ____ ____ | | | | | | terminals | ____ | | ____ | | ____ | / ___ / / ___ / / ___ /

Connecting terminals located at a distance of more than two tens of meters requires the inclusion of intermediate matching devices, for example, modems, on the line. At the same time, the modem can provide connection switching, i.e. several different terminals can dial in turn to the computer's modem and provide registration of different users.

All of the above methods of registering users in the system work together. Thus, in one machine, tens and hundreds of users logged into the system through various communication channels can simultaneously perform thousands of tasks.

How fully documented Linux is.

Linux is as well documented as any other commercial operating system. There are books, manuals, reference books on Linux, and what is not available in a commercial system - full source codes of the OS with explanations and comments.

The volume of Linux documentation is constantly updated and expanded, dynamically tracking the development of the system.

Those who are accustomed to dealing with pirated software, suffering from lack of documentation, will face a completely opposite situation on Linux. The problem is not that there is little documentation in Linux, but that there is a lot of it, it is presented in various forms and is available from. In order to navigate this wealth of choice, it will take some effort.

The documentation is written in English. There are fairly complete versions of the documentation in German and Japanese. A Russian translation of the book Linux Installation and Getting Started - LINUX INSTALLATION AND FIRST STEPS is available on the Internet. A number of books on the Unix system, published in Russian, may come in handy. Some Unix publications exist in electronic form on Relcom's servers.

In Russian there is a reference book on the POSIX standard: Belyakov M.I., Rabover Yu.I., Fridman A.L. Mobile Operating System: A Handbook. - M .: Radio and communication, 1991. - 208s. For a novice user, it is difficult, but useful for a programmer familiar with the conceptual foundations of Unix and open systems.

Descriptions in Russian of the Unix architecture, principles of building a network based on TCP / IP protocols and a number of related issues exist in the form of files on the servers of the Relcom network.

As for the original Linux documentation, the following basic, but not exhaustive, forms can be distinguished: books, HOWTOs, FAQ guides, INFO hypertext guides, MAN online guides, software package descriptions. Books are distributed in printed and electronic form, other forms, as a rule, are electronic, i.e. presented in the form of files as part of Linux distributions and software packages distributed over the Internet and on CDs.

Often, one and the same electronic document is available in the form of several files of the same content, but in different formats, for example, ascii, postscript, html. One format is convenient for viewing and searching for keywords on a text display screen, while others are suitable for laser print quality printing or for viewing on a graphics screen.

The comp.os.linux.answers group of the Usenet news network regularly publishes the latest versions of some Linux documents (at the same time they appear on Internet servers, from where they can be obtained in various ways, including by e-mail, for example, via [email protected]).

For example, here is a list of the (incomplete) HOWTOs:

  • Bootdisk HOWTO
  • CDROM HOWTO
  • Commercial HOWTO
  • Cyrillic HOWTO
  • DOSEMU HOWTO
  • Distribution HOWTO
  • Ethernet HOWTO
  • HOWTO Index
  • Hardware Compatibility HOWTO
  • INFO-SHEET
  • Installation HOWTO
  • Kernel HOWTO
  • Electronic Mail HOWTO
  • NET-2 HOWTO
  • News HOWTO
  • PCI HOWTO
  • PCMCIA HOWTO
  • Printing HOWTO
  • SCSI HOWTO
  • Serial HOWTO
  • Sound HOWTO
  • UMSDOS HOWTO
  • UPS HOWTO
  • UUCP HOWTO
  • XFree86 HOWTO

How Linux differs from other open source operating systems.

There are a number of other operating systems that are licensed for free copying. Of these, FreeBSD is the most popular in Russia.

Working in Linux or FreeBSD is not difficult for an experienced specialist. But for a newbie, Linux is easier to learn and easier to use.

Unlike FreeBSD, which historically derives from Unix code, the Linux kernel is rewritten.

Both OS are excellent quality systems. One is better in some way than the other, and vice versa. Both systems are actively developing, so they can quickly and repeatedly change their leadership role in any aspect.

Whichever choice you make - Linux or FreeBSD - it will be a good choice in either case.

Linux and FreeBSD have very different developmental concepts. Moreover, among operating systems, Linux is generally unique in its philosophy.

It is a system that users have made for users.

Linux is not just a free system that anyone can copy without restriction. It is a free open source system, and anyone, whether they are from Washington or Yekaterinburg, can become a co-author of Linux by contributing, no matter how big or small.

FreeBSD is more popular in the Linux world. By some estimates, in 1995 the number of Linux installations reached 10 million. The Linux Journal is published in print. There are dozens of different versions of Linux CDs for sale. Hundreds of Linux archives are available across WANs. The outgoing traffic of the Linux archive on the sunsite.unc.edu server is ten gigabytes per day. Several hundred users work around the clock with this archive at any given time, and dozens of mirrored copies of the sunsite Linux archive have been created to serve thousands of others.

Linux User Groups (user associations) are springing up like mushrooms in the USA, Europe, Japan, Australia. International Linux conferences are held regularly. November 30 - December 2, 1994 in Washington, the Linux section was held at the 6th OSW (Open Systems World) - an international conference on open systems. Sections Novell AppWare, Windows NT, Solaris, SCO Unix worked at the same time. Since then, Linux has been a recurring topic in international Unix forums. At Unix Expo 95, there was a fantastic interest in Linux, and the Linux booths - Red Hat, Caldera, DEC, Linux Journal - were hard to push through.

Accordingly, there are more materials on Linux and they are more accessible. There is a rich selection of inexpensive Linux CDROMs. Thousands of megabytes of excellent quality software are purchased for several tens of dollars.

free software ... The abbreviation GNU opens recursively - GNU "s Not Unix, that is, what belongs to the GNU project is not part of Unix (because by that time even the word UNIX itself was already a registered trademark, that is, it was no longer free) In the "GNU Manifesto", which was written in 1985, R. Stallman as the main driving force that led to the emergence of the FSF and the GNU project, puts his rejection of individual ownership of software.

Just because software developed by the GNU Project is free does not mean that it is distributed without a license and is not legally protected in any way. Programs developed under the Open Source movement are licensed under the General Public License (GPL). To put it very briefly, the essence of this license is as follows. The software distributed under this license can be modified, modified, transferred or sold to others in any way, provided that the result of such processing will also be distributed under the license. copyleft... The last condition is the most important and defining in this license. It ensures that the results of the efforts of free software developers remain open source and do not become part of any conventionally licensed product. It also distinguishes free software from free software. In the words of the creators of the FSF, the GPL "makes software free and ensures that it stays free."

Almost all the software distributed under the GPL is almost free for users (in most cases, in order to get it, you only have to pay for the software CD-ROM or Internet traffic). This does not mean that programmers stop receiving remuneration for their work. The main idea of ​​R. Stallman is that you need to sell not software, but the work of a programmer as such. For example, a source of income can be the maintenance of software products or their installation and configuration for implementation on new computers and / or in new conditions, teaching, etc. high-paying job.

Within the framework of the Open Source movement, and in particular the GNU Project, a significant number of programs were developed, the most famous of which are the Emacs editor and the GCC compiler (GNU C Compiler) - the best compiler of the C language to this day. beneficial effect on the quality of software: all the best, all new ideas and solutions are immediately widely disseminated, and all errors are noticed and quickly eliminated. The mechanism of natural selection begins to work, which is suppressed in the version of the approach to software distribution that is practiced in commercial software.

But back to the history of Linux itself. I must say that the development of Linus Torvalds was only the core of the operating system. This kernel "fell on prepared ground" in the sense that a large number of utilities of various kinds had already been developed within the framework of the GNU project. But there was not enough kernel to turn GNU into a full-fledged OS. The development of the kernel was in progress (it was called Hurd), but for some reason it was delayed. Therefore, the appearance of L. Torvalds' development was very timely. It marked the birth of an open source operating system.

R. Stallman is, of course, right when he insists that the Linux operating system should be called GNU / Linux. But it so happened that the name of the kernel has become the name of the entire operating system, and we will do the same in this book.

Main characteristics of Linux OS

Due to the fact that the Linux source code is free and publicly available, a large number of independent developers have been involved in the development of the system from the very beginning. Thanks to this, Linux is currently the most modern, stable and rapidly developing system, which almost instantly absorbs the latest technological innovations. It has all the features that are inherent in modern fully functional operating systems. UNIX type... Here is a short list of these features.

Real multitasking

All processes are independent; none of them should interfere with other tasks. For this, the kernel implements the time-sharing mode central processing unit, alternately allocating time intervals for each process to execute. This differs significantly from Windows 95's "preemptive multitasking" mode, where a process must itself "give up" the processor to other processes (and can severely delay their execution).

Multi-user access

Linux - not only multitasking OS, it supports the ability to run multiple users at the same time. In this case, Linux can provide all system resources to users who work with the host through various remote terminals.

Here are some questions that plagued users when switching to Linux.
  • Many users - why?
  • What is the core?
  • Are there any other differences?
Many users - why? Linux was originally designed as a multi-user system. At the same time, it is not about the fact that several people can use a Linux computer in turn, but about a real multi-user system, when several people simultaneously run their applications on the same computer. Is this necessary when it comes to a desktop, personal machine? Now we can firmly say yes. First, application-specific settings and data are maintained independently and carefully for each user, which is essential in today's widespread application and data sharing. Secondly, for each user, independently the settings of his desktop are saved, each time he completes the registration procedure, he gets a familiar working environment.What is the core?The main part of the Linux operating system is usually called the kernel. The kernel includes the lowest level of operating system functionality, such as controlling hardware, running device drivers, managing filesystems, creating processes, managing memory, and other basic functions. The Linux kernel is a lot like the UNIX kernel.The Linux kernel has some very unique features:
  • the core is built on a modular basis
  • several kernels can be installed on one computer at once
  • Linux kernel development is managed centrally
The Linux kernel is not a monolithic entity, some parts of it can be loaded during operation, such parts are called modules. If some functions are not required at the moment, then the modules responsible for them are not loaded and do not occupy memory.Several kernels can be installed on one computer at once, but only one of them is running at a time. This feature allows you to test new versions of the kernel, build a more suitable configuration, and at the same time be able to very easily revert back to an old version that was guaranteed to work.Linux kernel development is still controlled by the legendary Linus Torvalds. This means that each version of the kernel is one single object.Application interoperability or one big application? The Linux operating system is nowhere near as tightly integrated as the Windows operating system. Virtually every distribution consists of a kernel and hundreds, if not thousands, of individual software packages associated with that kernel. All programs were originally designed and engineered to allow close interaction, otherwise the system would not be able to work. But this does not mean that they should interact; there may be no integration between them.In some cases, this lack of mandatory low-level integration may seem like a disadvantage, but this quality gives higher-level software developers the freedom to choose low-level applications and the ability to replace them later.Because the Linux kernel and nearly all available applications are based on open standards, integration between the two is easy and they work together reliably.User interface, what to look for? Typically, the user communicates with the computing machine through a graphic monitor, mouse and keyboard. Almost all client computers work this way, although desktop appearance and functionality may vary.Under Linux, the graphical session manager is just one of the applications, it is not part of the operating system. This means that, firstly, you can choose a desktop manager (the most common choice is KDE or GNOME) and, secondly, you can work without a graphical environment at all, in alphanumeric mode.How desktop system interacts with external infrastructure? A desktop computer rarely runs on its own; it must interact with the underlying infrastructure. It needs a local network connection, access to servers and other shared resources. Linux supports all possible network protocols required for this communication.The most important point when connecting a computer to the outside world is the problem of ensuring security. The Linux kernel has a built-in firewall that protects the computer from unauthorized access from the outside and ensures a safe end-user experience and data integrity.How is the data stored? The way of storing data in Linux is fundamentally different from the way it is used in Windows. The file structure in Linux is represented by a single tree, while different types of partitions, including partitions on remote devices, look the same. There are no letters assigned to discs. This approach allows, for example, to adhere to the same logical directory structure on all client machines.A significant difference in handling files is the existence of links in most of the file systems that Linux works with. In essence, links are pointers to files or entire directories. There are two kinds of links: hard links and symbolic links. A hard link is just another name associated with a file, while a symbolic link is a free-standing pointer. In the event that a file is deleted, the symbolic link to it is not deleted, but begins to point to the void. If the number of hard links to a file is more than one, then deleting one name will not delete the file. In reality, it will be removed only after the last hard link is removed.Are there any other differences? There are other features that set Linux apart from other desktop operating systems. In this section, we'll look at the difference in working with virtual memory and the notion of run levels, which is unique to Linux.Working with virtual memory in each operating system happens in its own way, sometimes it even depends on the version of the operating system. The peculiarity of Linux is that virtual memory will not be used as long as it is possible to work in real RAM. Windows, for example, begins to move information from RAM to disk and in other cases, there is a practice of preemptive swapping. In many cases, this approach leads to a decrease in the speed of operations. Linux has also adopted a caching system, that is, storing recently used file information in RAM. As a result of this practice, a significant part of the RAM is constantly used. In the event that additional RAM is required by applications, the system simply reduces the cache area.The concept of runlevels is common across UNIX / Linux-like operating systems. The runlevel determines which system services are started when the system boots. Runlevels are numbered from 0 to 9. For example, runlevel 3 corresponds to the loading of all system services, except for graphics. At level 5, the graphical environment also starts. Level 1 corresponds to single user boot mode, in which only one console is available and virtually all services are disabled.

Leave your comment!