All existing operating systems. Operating system for a personal computer. Requirements for modern operating systems

All existing operating systems.  Operating system for a personal computer.  Requirements for modern operating systems
All existing operating systems. Operating system for a personal computer. Requirements for modern operating systems

Functions

Main functions:

  • Executing program requests (data input and output, starting and stopping other programs, allocating and freeing additional memory, etc.).
  • into RAM and their execution.
  • Standardized access to peripheral devices (input/output devices).
  • RAM management (distribution between processes, organization of virtual memory).
  • Controlling access to data on non-volatile media (such as hard drive, optical disks, etc.), organized in a particular file system.
  • Providing a user interface.
  • Saving information about system errors.

Additional functions:

  • Parallel or pseudo-parallel execution of tasks (multitasking).
  • Efficient distribution of computing system resources between processes.
  • Differentiation of access of different processes to resources.
  • The organization of reliable computing (the inability of one computing process to intentionally or mistakenly influence calculations in another process) is based on the delimitation of access to resources.
  • Interaction between processes: data exchange, mutual synchronization.
  • Protecting the system itself, as well as user data and programs, from actions of users (malicious or unknowing) or applications.
  • Multi-user mode of operation and differentiation of access rights (see: authentication, authorization).

Operating system components:

  • Command processor (interpreter)
  • Device Drivers
  • Interface

Concept

There are two groups of definitions of an operating system: “a set of programs that control hardware” and “a set of programs that control other programs.” Both of them have their own precise technical meaning, which is related to the question in which cases an operating system is required.

There are computing applications for which operating systems are unnecessary. For example, built-in microcomputers, contained in many household appliances, cars (sometimes ten in each), and simple cell phones, constantly execute only one program, which starts when turned on. Many simple game consoles - also specialized microcomputers - can do without an operating system, launching a program recorded on a “cartridge” or CD inserted into the device when turned on.

Operating systems are needed if:

  • A computing system is used for various tasks, and programs that solve these problems need to store and exchange data. This implies the need for a universal data storage mechanism; In the vast majority of cases, the operating system responds with a file system implementation. Modern systems also provide the ability to directly “link” the output of one program to the input of another, bypassing the relatively slow disk operations;
  • different programs need to perform the same routines. For example, simply entering a character from the keyboard and displaying it on the screen may require the execution of hundreds of machine commands, while a disk operation may require thousands. To avoid having to re-program them each time, operating systems provide system libraries of frequently used routines (functions);
  • it is necessary to distribute powers between programs and system users so that users can protect their data from unauthorized access, and a possible error in the program does not cause total trouble;
  • What is needed is the ability to simulate the “simultaneous” execution of several programs on one computer (even one containing only one processor), carried out using a technique known as “time sharing”. In this case, a special component, called the scheduler, divides the processor time into short segments and provides them one by one to various executing programs (processes);
  • the operator must be able to somehow control the execution of individual programs. For this purpose, operating environments are used - a shell and sets of utilities - they can be part of the operating system.

Thus, modern universal operating systems can be characterized, first of all, as:

  • using file systems (with a universal data access mechanism),
  • multi-user (with separation of powers),
  • multitasking (time sharing).

Multitasking and distribution of powers require a certain hierarchy of privileges for components of the operating system itself. The operating system consists of three groups of components:

  • kernel containing the scheduler; device drivers that directly control the hardware; network subsystem, file system;

Most programs, both system (part of the operating system) and application, are executed in the non-privileged (“user”) mode of the processor and gain access to the hardware (and, if necessary, to other kernel resources, as well as resources of other programs) only through system calls. The kernel runs in privileged mode: it is in this sense that the system (more precisely, its kernel) controls the hardware.

In determining the composition of an operating system, the criterion of operational integrity (closedness) is important: the system must allow the full use (including modification) of its components. Therefore, the complete operating system also includes a set of tools (from text editors to compilers, debuggers and linkers).

Core

The kernel is the central part of the operating system, managing the execution of processes, computing system resources, and providing processes with coordinated access to these resources. The main resources are CPU time, memory and input/output devices. File system access and network communication can also be implemented at the kernel level.

As the foundational element of the operating system, the kernel represents the lowest level of abstraction for applications to access the computing system resources needed to run them. Typically, the kernel provides such access to the executing processes of the corresponding applications through the use of inter-process communication mechanisms and application calls to OS system calls.

The task described may vary depending on the type of kernel architecture and how it is implemented.

Batch mode

The need for optimal use of expensive computing resources led to the emergence of the concept of “batch mode” for program execution. Batch mode assumes the presence of a queue of programs for execution, and the system can ensure that programs are loaded from external storage media into RAM without waiting for the previous program to complete execution, which avoids processor downtime.

Time sharing and multitasking

Already the batch mode in its developed version requires the division of processor time between the execution of several programs.

The need for time sharing (multitasking, multiprogramming) became even stronger with the proliferation of teletypes (and later terminals with cathode ray displays) as input/output devices (1960s). Since the speed of keyboard input (and even reading from the screen) of data by an operator is much lower than the speed of processing this data by a computer, using a computer in “exclusive” mode (with one operator) could lead to downtime of expensive computing resources.

Time sharing allowed the creation of "multi-user" systems, in which one (usually) central processor and block of RAM was connected to numerous terminals. In this case, some tasks (such as entering or editing data by the operator) could be performed in dialog mode, and other tasks (such as massive calculations) could be performed in batch mode.

Separation of powers

The proliferation of multi-user systems required the solution of the problem of separation of powers, which makes it possible to avoid the possibility of changing the executable program or data of one program in computer memory by another program (intentionally or by mistake), as well as changing the system itself by an application program.

The implementation of separation of powers in operating systems was supported by processor developers who proposed architectures with two modes of processor operation - “real” (in which the entire address space of the computer is available to the executing program) and “protected” (in which the availability of the address space is limited to the range allocated when the program starts for execution).

Real time

The use of universal computers to control production processes required the implementation of “real time” (“real time”) - synchronization of program execution with external physical processes.

The inclusion of real-time functionality made it possible to create solutions that simultaneously serve production processes and solve other problems (in batch mode and/or in time-sharing mode).

File systems and structures

Gradual replacement of sequential access media (punched tapes, punched cards and magnetic tapes) with random access drives (magnetic disks).

A file system is a method of storing data on external storage devices.

Existing operating systems

UNIX, operating system standardization and POSIX

Thanks to the competitiveness of implementations, the UNIX architecture first became a de facto industry standard, and then acquired the status of a legal standard - ISO/IEC 9945 (POSIX).

Only systems that conform to the Single UNIX Specification are eligible to bear the UNIX name. These systems include AIX, HP-UX, IRIX, Mac OS X, SCO OpenServer, Solaris, Tru64 and z/OS.

Operating systems that follow or rely on the POSIX standard are called "POSIX-compliant" (the more common usage is "UNIX-like" or "UNIX family", but this conflicts with the status of the "UNIX" trademark, owned by The Open Group and reserved for designations only for operating systems that strictly follow the standard). Certification for compliance with the standard comes at a cost, which means that some systems have not gone through the process but are considered essentially POSIX compliant.

UNIX-like operating systems include operating systems based on the latest version of UNIX released by Bell Labs (System V), on the developments of the University of Berkeley (FreeBSD, OpenBSD, NetBSD), based on Solaris (OpenSolaris, BeleniX, Nexenta), as well as Linux developed by in terms of utilities and libraries by the GNU project and in terms of the kernel by the community led by Linus Torvalds.

Standardization of operating systems has the goal of simplifying the replacement of the system or equipment itself during the development of a computing system or network and simplifying the transfer of application software (strict adherence to the standard assumes full compatibility of programs at the source text level; due to the profiling of the standard and its development, some changes are still necessary , but transferring a program between POSIX-compliant systems is orders of magnitude cheaper than between alternative ones), as well as continuity of user experience.

The most notable effect of the existence of this standard was the effective deployment of the Internet in the 1990s.

Post-UNIX architecture

The team that created UNIX developed the concept of unifying operating system objects, including in the original UNIX concept “a device is also a file” also processes and any other system, network and application services, creating a new concept: “anything is a file.” This concept became one of the main principles of the Plan 9 system (the name was borrowed from the science-fiction thriller Plan 9 from Outer Space by Edward Wood Jr.), designed to overcome the fundamental flaws in the UNIX design and replaced the workhorse UNIX System V on computers in the Bell Labs network in 1992.

In addition to implementing all system objects in the form of files and placing them on a single and personal space for each computer network terminal (namespace), other UNIX architectural solutions were revised. For example, in Plan 9 there is no concept of a “superuser”, and, accordingly, any security violations associated with illegally obtaining superuser rights in the system are excluded. To represent (storage, exchange) information, Rob Pike and Ken Thompson developed the universal encoding UTF-8, which today has become the de facto standard. To access files, a single universal protocol 9P is used, over the network working on top of the network protocol (TCP or UDP). Thus, there is no network for application software - access to local and remote files is uniform. 9P is a byte-oriented protocol, unlike other similar protocols that are block-oriented. This is also the result of the concept: byte-by-byte access to unified files, and not block-by-block access to devices that are diverse and change greatly with the development of technology. To control access to objects, no other solutions are required other than the file access control already existing in the operating system. The new storage system concept freed the system administrator from the exhausting work of maintaining archives and anticipated modern file version control systems.

Operating systems based on or inspired by UNIX, such as the entire BSD family and GNU/Linux systems, gradually adopted new ideas from Bell Labs. Perhaps these new ideas have a great future and recognition from IT developers.

New concepts were used by Rob Pike in Inferno.

see also

Notes

Literature

  • Gordeev A.V. Operating systems: Textbook for universities. - 2nd ed. - St. Petersburg. : Peter, 2007. - 416 p. - ISBN 978-5-94723-632-3
  • Denning P.J., Brown R.L. Operating systems // Modern computer. - M., 1986.
  • Irtegov D. V. Introduction to operating systems. - 2nd ed. - St. Petersburg. : BHV-SPb, 2007. - ISBN 978-5-94157-695-1
  • Kernighan B.W., Pike R.W. UNIX - universal programming environment = The UNIX Programming Environment. - M., 1992.
  • Olifer V. G., Olifer N. A. Network operating systems. - St. Petersburg. : Peter, 2002. - 544 p. - ISBN 5-272-00120-6
  • Stallings W. Operating systems = Operating Systems: Internals and Design Principles. - M.: Williams, 2004. - 848 p. - ISBN 0-1303-1999-6
  • Tanenbaum E. S. Multi-level computer organization = Structured Computer Organization. - M.: Mir, 1979. - 547 p.
  • Tanenbaum E. S. Modern operating systems = Modern Operating Systems. - 2nd ed. - St. Petersburg. : Peter, 2005. - 1038 p. - ISBN 5-318-00299-4
  • Tanenbaum E. S., Woodhull A. S. OS. Development and implementation = Operating Systems: Design and Implementation. - 3rd ed. - St. Petersburg. : Peter, 2007. - 704 p. - ISBN 978-5-469-01403-4
  • Shaw A. Logical design of operating systems = The Logical Design of Operating Systems. - M.: Mir, 1981. - 360 p.
  • Raymond E. S. The Art of UNIX Programming = The Art of UNIX Programming. - M.: Williams, 2005. - 544 p. - ISBN 5-8459-0791-8
  • Mark G. Sobell. UNIX System V. A Practical Guide. - 3rd ed. - 1995.

Links

  • operating system in the Open Directory Project link directory (dmoz).
  • Otstavnov M. E. Free software in school. Free software for school (2003).(inaccessible link - story) Retrieved April 16, 2010.

An operating system (OS) is system software that manages computer hardware and software resources and provides common services to computer programs. All computer programs, with the exception of firmware, require work.

Time-sharing operating systems schedule tasks for efficient use of the system and may also include accounting software to allocate CPU time, mass storage, printing, and other resources.

The dominant desktop operating system is Microsoft Windows with a market share of about 83.3%. MacOS from Apple Inc. ranks second (11.2%), and Linux flavors are in third position (1.55%).

In the mobile (smartphones and tablets) sector, as of the third quarter of 2016, Google's Android dominates with 87.5% and a growth rate of 10.3% per year, followed by Apple's iOS with 12.1% and a decline in the market per year A share of 5.2 percent, while other operating systems account for only 0.3 percent.

Linux distributions dominate the server and supercomputing sectors. Other specialized classes of operating systems, such as embedded systems and real-time systems, exist for many applications.

Let's look at the OS usage statistics according to the data. Attention, the statistics show the aggregate data of all Platforms:

  • Desktop
  • Mobile
  • Tablet
  • Console

TOP operating systems in Ukraine:

In Ukraine, the leading operating system in use is, of course, Windows - 73.33% of all devices, from desktop to pocket-sized. And since mobile technologies are taking their toll, Android also took 13.19% in Ukraine. The operating system produced by Apple OS X ranks third - 5.38%, and even if we add the iOS figure - 4.46% - this will not allow it to overtake Android in popularity in Ukraine.

Belarus has the following OS statistics:

The first is Windows - 71.27%, the second is Android - 17.74% and the same situation with OS X - 4.2% and iOS - 3.55%.

OS rating in Kazakhstan:

Kazakhstan is more mobile. And although Windows is still first - 63.85%, Android has 23.08%, that is, almost 1/4. The iOS rating is also higher here - 7.83%.

Popularity of operating systems in Russia:

Windows first place - 68.58%. Second and third place Android - 15.88% and iOS - 7.11%

Statistics of operating systems in the world:

Taking into account the aggregate statistics of desktop and mobile platforms, as of July 2017, Android OS is in the lead - 41.24% of all devices. Second and third respectively Windows - 35.24% and iOS - 13.2%.

A little history

In the 1940s, the earliest electronic digital systems did not have operating systems. Electronic systems of this time were programmed using rows of mechanical switches or via jumpers on circuit boards. These are special-purpose systems that, for example, generated ballistic tables for the military or controlled the printing of payroll checks from data on punch cards. After general-purpose programmable computers were invented, machine languages ​​(consisting of strings of binary digits 0 and 1 on punched paper tape) were introduced to speed up the programming process.

In the early 1950s, a computer could only execute one program at a time. Each user used the computer exclusively for a limited period of time and received scheduled time with the program and data on punch cards or punched tape. The program will be downloaded to the machine and the machine will run until the program completes. Typically programs can be debugged from the front panel using toggle switches and panel lamps.

Later machines came with libraries of programs that would be linked to a user program to assist with operations such as input and output, and generating computer code from human-readable symbolic code. This was the genesis of the modern operating system. However, the machines still performed one task at a time. At the University of Cambridge in England, the work order was once a washing line (clothing line) from which ribbons were hung with different colored pins to indicate work priorities.

An improvement was the Atlas Supervisor, introduced with the Manchester Atlas, introduced in 1962, "considered by many to be the first recognizable modern operating system"

Macos

MacOS (formerly "Mac OS X" and later "OS X") is a line of open-kernel graphical operating systems developed, marketed and marketed by Apple Inc., the latter of which comes pre-loaded on all Macintosh computers currently shipping. MacOS has been Apple's main operating system since 1984. It is a UNIX operating system built on technology developed at NeXT in the second half of the 1980s until Apple bought the company in early 1997. The operating system was first released in 1999 as Mac OS X Server 1.0, and in March 2001 as a client version (Mac OS X v10.0 "Cheetah"). Since then, there have been six more different "client" and "server" editions of macOS until they were combined into OS X 10.7 "Lion".

Before its merger with macOS, the server version—macOS Server—was architecturally identical to its desktop counterpart and typically ran on Apple's line of Macintosh hardware. macOS Server included workgroup management and administration tools that provide simplified access to key network services, including Mail Transfer Agent, Samba Server, LDAP Server, Domain Name Server, and others. With Mac OS X v10.7 Lion, all server aspects of Mac OS X Server were integrated into the client version, and the product was renamed "OS X" (dropping the "Mac" from the name). Server tools are now offered as an app.

Linux

Ubuntu, a desktop Linux distribution. The Linux kernel began life in 1991 as a project by Linus Torvalds, then a university student in Finland. He posted information about his project on a newsgroup for computer students and programmers and received support and help from volunteers who were able to create a complete and functional kernel.

Linux is Unix-like, but was developed without any Unix code, unlike BSD and its variants. Because of its open-license model, the Linux kernel code is open to study and modification, which has led to its use on a wide range of computing devices from supercomputers to smartwatches. Although estimates suggest that Linux is used on only 1.82% of all "desktop" (or laptop) PCs, it is widely used for use on servers and embedded systems such as cell phones. Linux has replaced Unix on many platforms and is used on most supercomputers, including the top 385. Many of the same computers are also on Green500 (but in different orders), and Linux runs on top 10. Linux is also widely used on other small, energy-efficient computers, such as smartphones. The Linux kernel is used in some popular distributions such as Red Hat, Debian, Ubuntu, Linux Mint and Google's Android, Chrome OS and Chromium OS.

Microsoft Windows

Microsoft Windows is a family of operating systems developed by the Microsoft Corporation and designed primarily for computers based on Intel architecture, with an overall overall usage of 88.9% on Internet-connected computers.

Microsoft Windows was first released in 1985 as an operating environment running on top of MS-DOS, which was the standard operating system shipped on most Intel personal computers at the time. In 1995, Windows 95 was released, which only used MS-DOS as the boot system. For backward compatibility, Win9x can run real-time MS-DOS and 16-bit Windows 3.x drivers. Windows ME, released in 2000, was the last version of the Win9x family. Later versions were based on the Windows NT kernel. Current Windows client versions run on IA-32, x86-64, and 32-bit ARM microprocessors. Additionally, Itanium is still supported on the older version of Windows Server 2008 R2. In the past, Windows NT supported additional architectures.

Server editions of Windows are widely used. Microsoft has spent significant capital in recent years to promote the use of Windows as a server operating system. However, the use of Windows on servers is not as widespread as on personal computers because Windows competes with Linux and BSD for server market share.

ReactOS is an alternative Windows operating system that is developed on Windows principles - without using any Microsoft code.

Other

There have been many operating systems that were significant in their time but are no longer there, such as AmigaOS; OS/2 from IBM and Microsoft; Classic Mac OS, the non-Unix predecessor to Apple's MacOS; BeOS; XTS-300; RISCOS; MorphOS; Haiku; BareMetal and FreeMint. Some of them are still used in niche markets and continue to develop as minority platforms for enthusiast communities and specialized applications. OpenVMS, formerly from DEC, is still being actively developed by Hewlett-Packard. However, other operating systems are used almost exclusively in academia, for teaching about operating systems, or for researching operating system concepts. A typical example of a system that performs both roles is MINIX, while, for example, Singularity is used purely for research.

Other operating systems failed to gain significant market share, but introduced innovations that influenced major operating systems.

Operating system DOS Disk operating system. DOS (Disk Operating System) is the oldest common OS for PCs. It exists in various versions and implementations. DOS versions differ in number and in the number of built-in computer tools. Newer versions of DOS are backward compatible with older ones. This means that newer versions can do everything that older versions can do, but not vice versa. As a result, programs written for later versions of DOS cannot run under earlier ones, but using the capabilities of later versions of DOS makes the programmer's task much easier. This statement, by the way, is true not only for DOS, but also for most other operating systems. It should be kept in mind that DOS implementations from different manufacturers also have slight differences. They are generally unimportant for most programs that do not affect system settings. However, in some cases it is necessary to distinguish between them, and for this purpose a prefix is ​​added to the name “DOS” indicating its manufacturer. The most common implementations: PC-DOS, MS-DOS, DR-DOS, Novell DOS, etc. The DOS operating system has a console user interface.

Windows operating system family

This is one of the most popular operating systems for PC today, created by Microsoft. As a historical note, we note that at first the same company created the so-called Windows operating environment, which was essentially a graphical add-on over DOS. However, it contained some “open interfaces,” that is, standard graphical tools that could be used to write other programs. It was quite convenient, and soon there were many applications that used the Windows operating environment. ■ In 1995, Windows turned into a full-fledged operating system called Windows 95. Then its “successors” appeared - Windows 98 and Windows ME. However, all these systems trace their “ancestry” to the DOS operating system. Each new version is backward compatible with earlier versions. Windows has a flexible and attractive graphical user interface built into the core of the system itself. In addition, during the existence of the Windows family, a very large number of programs have appeared that work under their control. Although Windows 95/98/ME systems seem to be multitasking, i.e. they can run several programs at the same time, we do not recommend abusing this feature. This is especially true for music, video and graphics programs, since system resources in Windows 95/98/ME, as a rule, are distributed among running programs inappropriately to their needs. The consequence of this is usually a significant slowdown of the system, up to the inability to work in any of the running programs, as well as errors and crashes of some of them. In addition, an error and freeze of one of the programs can often cause the entire system to freeze, which means loss of data in all programs running at that moment. ■ Since Windows was not stable enough, Microsoft began developing a completely new operating system in 1993. This system did not use the DOS kernel - its kernel was written anew using completely new technologies. The system got its name Windows NT from the phrase “new technologies”. A graphical user interface was also built into the core of this system. Despite the fact that the Windows and Windows NT systems were very similar in appearance, and they had almost the same names, compatibility between them could not be achieved. Often, programs written, for example, for Windows 95 or Windows 98, could not be run normally under Windows NT, and vice versa. However, the creation of Windows NT was a big “step forward”: this operating system is much more stable than Windows 95/98, it has much better multitasking, etc. In this regard, Microsoft decided to achieve compatibility between the operating systems of both lines , and then stop the development of the DOS - Windows 95 - Windows 98 line. It was assumed that Windows 98 would be the last in this series, but not everything turned out to be so simple. ■ In 1999, Windows 2000 was released, which continued the line of Windows NT. In this system, much attention was paid to stability and security, however, it was not possible to ensure compatibility with programs for Windows 95/98. ■ In order not to lose its rating among its users, Microsoft decided to release another operating system of the DOS line - Windows 95 - Windows 98. This system was called Windows ME (Millenium Edition). However, it did not become widespread among users and is recognized as the most unsuccessful creation of Microsoft. This system is characterized by extreme instability in operation and major problems when working with various peripheral devices. ■ At the end of 2001, Microsoft still managed to achieve relative compatibility between its two lines of operating systems. It stopped developing the Windows 95/98/ME line and released a new operating system that continues the Windows NT/2000 series. This system was called Windows XP. The system has absorbed the best features of its predecessors. Linux operating system All operating systems of the Windows family are commercial products and have a fairly high cost. However, there are other solutions besides using commercial operating systems. Thus, the Linux OS has recently become popular, the undoubted advantage of which is that it is free. At the same time, the reliability of this system is not inferior to the Windows system, and many users claim that it even exceeds it. In addition, if in the past it was possible to say that Linux is inferior to Windows in terms of ease of use, now the situation has changed. Many users find, for example, the KDE graphical environment, which is used as a user interface in Linux, more convenient than the graphical environment of Windows systems, although this, of course, is largely a matter of taste and habit. Linux OS usually comes in various distributions, each of which is quite easy to install. These distributions can be downloaded for free from the Internet or purchased for little money on CDs. Unlike a Windows or DOS distribution, which usually contains only the operating system itself and a few simple programs like a calculator and notepad, a Linux distribution traditionally already contains professional office suites, powerful editing tools and many other programs. Therefore, such distributions usually occupy three or more CDs. One of the most common Linux distributions is the distribution that was previously released by Red Hat and is now called Fedora Core (FC). At the end of 2003, the Fedora Core 1 distribution was released, which was the “successor” of the Red Hat Linux 9.0 distribution. ■ Another popular Linux distribution is called Mandrake. Traditionally, it is considered the most user-friendly. This distribution has a very convenient installer, as well as original graphical tools for configuring the operating system. At the time of writing these lines, the latest version of this distribution is version 10. Several Russian companies produce Linux distributions aimed at the Russian user. There are three most popular Russian distributions: ■ Linux XP, which is produced by Linux Online. This is the “youngest” of the Russian distribution kits, the first version of which was released at the beginning of 2004. Despite its “youth”, it quickly gained popularity. The distribution includes many useful programs and well-implemented support for the Russian language; ■ ASP Linux is a Russian distribution with a fairly long and successful history. Previously, the distribution kits of this company were called Black Cat Linux. They have always been characterized by the absence of problems with the Russian language, as well as a good selection of default settings, which allows even an untrained user to start working almost immediately, without wasting time on additional system settings. In March 2004, ASP Linux version number 9.2 was released; ■ ALT Linux is another Russian distribution, which at the time of its birth was based on the Mandrake Linux distribution. Like its “progenitor”, it is characterized by a large number of convenient graphical utilities for configuring the system. In any case, the distribution is only a convenient “tool” so that the user can quickly start working in the Linux operating system. Various graphical environments can be used as a graphical user interface in Linux. Typically, users prefer to work in KDE or Gnome graphical environments. More advanced users can work with Linux from the "terminal" - command line interface. Working on the command line is somewhat reminiscent of working in DOS, but the set of possible commands in Linux is much larger, and the command line interpreter itself offers more flexible capabilities. Linux OS is very good at multitasking. Here the user can launch as many parallel processes as he likes, and they will act without interfering with each other. If one of the processes generates an error or freezes, it can be forcibly terminated, and this will not affect other processes in any way. Other operating systems The OS/2 WARP (colloquially known as half-axis) operating system, which was created and supported by IBM, has long been considered one of the best GUI operating systems. It had a fairly user-friendly interface, good multitasking, and stability. For example, as in Linux, an error in one program here, as a rule, was unable to stop the system. In addition, there were built-in execution tools for programs written for DOS and Windows. However, despite all its advantages, OS/2 WARP was not as widespread as Windows and Linux, and in the late 90s, IBM stopped developing and supporting OS/2 WARP. The UNIX operating system is a commercial system that was once the “prototype” of the Linux system and has much in common with it. However, Linux today is much more developed, so home computer users practically do not use the UNIX system in their work. Sometimes it can be found, for example, on servers. The FreeBSD operating system is a free product. It resembles Linux, but the work in it is organized somewhat differently. FreeBSD is most often used with a command line interface, although it can also run a graphical environment such as KDE. Note that usually FreeBSD users “out of principle” prefer another environment - Vanilla, optimized specifically for this operating system. FreeBSD can also run programs designed for the Linux operating system if you first install a special compatibility module in it. In general, however, FreeBSD is much more difficult to install and configure than Linux or Windows, and is therefore much less commonly used. The BeOS operating system was created specifically to run various multimedia applications under its control: programs for multi-channel music mixing, non-linear video editing, etc. At first it was a commercial product, produced by a company under the short name Be. A new hardware platform for this system was even developed, but after a short time it was decided to develop the BeOS operating system for the existing PC hardware platform. In 1996, a version of this system was released called BeOS 5.0 Personal Edition, which came free of charge. At the same time, a paid version of BeOS 5.0 Professional Edition appeared. Then the development of this OS was suspended due to its low popularity. However, in 2003, it turned out that the developments had been sold to another company and a new version of this operating system called Zeta was planned to be released. The QNX operating system is a very expensive commercial product, but there are also free “home” versions of it. This system is a real-time operating system (RTOS), i.e. the response time when executing applications is negligible compared to the time it takes to transmit user commands. QNX is very compact - it takes up little disk space and does not require much space to operate. However, today it is not very convenient to use, especially for untrained users. Therefore, it can be found extremely rarely on home computers, and very few applications have been released for it. Sun's Solaris operating system is not intended for home computer users at all. The manufacturer of this commercial product targets it for use on large servers. Operating system Lindows OS. In fact, it can hardly be called a separate OS; rather, it is Linux with slightly modified settings, a large number of original graphical system configuration utilities, and included tools for launching some programs written for Windows. However, these tools are often included in regular non-commercial Linux distributions. In addition, Lindows OS uses the original installer. Unlike Linux, Lindows OS is a commercial product, although it costs much less than, for example, Windows. The listed operating systems do not complete the list of operating systems existing today. We briefly talked about them so that the user knows that his favorite Windows or Linux is not the only possible solution, and in the process of exchanging information with other users (even if using the same PC hardware platform) completely different situations may occur .



Operating systems: purpose and main functions

Operating System Concept

Operating system (OS) is a set of programs that ensure the interaction of all hardware and software parts of the computer with each other and the interaction between the user and the computer.

The OS ensures the holistic functioning of all computer components and also provides the user with access to the computer’s hardware capabilities. The operating system is a basic and necessary component of computer software; without it, a computer cannot operate in principle.

OS composition

The OS structure consists of the following modules:

    base module (OS kernel)- manages the operation of programs and the file system, provides access to it and exchange of files between peripheral devices;

T.e. translates commands from a program language into a “machine code” language that a computer can understand

    command processor- decrypts and executes user commands received primarily through the keyboard;

T.e. asks the user for commands and executes them. The user can give, for example, a command to perform some operation on files (copying, deleting, renaming), a command to print a document, etc.

    peripheral drivers- software ensures consistency between the operation of these devices and the processor (each peripheral device processes information differently and at a different pace);

T.e. special programs that provide control of the operation of devices and coordination of information exchange with other devices. Each device has its own driver.

    additional service programs(utilities) - make the process of communication between the user and the computer convenient and versatile

those. Such programs allow you to maintain disks, perform operations with files, work in computer networks, etc.

Purpose of the Operating System

The OS is designed to solve the following tasks:

    computer hardware maintenance;

    creating a working environment and user interface;

    execution of user commands and program instructions;

    organization of input/output, information storage and

    file and data management.

According to the definition, all tasks solved by the OS can be divided into two groups:

    providing the user or programmer, instead of real computer hardware, with an extended virtual (i.e., not really existing) machine, which is more convenient to work with and easier to program;

    increasing the efficiency of using a computer by rationally managing its resources in accordance with some criterion.

Operating System Features

Main functions:

    Performing, at the request of programs, those fairly elementary (low-level) actions that are common to most programs and are often found in almost all programs (data input and output, starting and stopping other programs, allocating and freeing additional memory, etc.).

    Standardized access to peripheral devices (input/output devices).

    RAM management (distribution between processes, organization of virtual memory).

    Controlling access to data on non-volatile media (such as a hard drive, optical disks, etc.), organized in a particular file system.

    Providing a user interface.

    Network operations, support for the network protocol stack.

Additional functions:

    Parallel or pseudo-parallel execution of tasks (multitasking).

    Efficient distribution of computing system resources between processes.

    Differentiation of access of different processes to resources.

    The organization of reliable computing (the inability of one computing process to intentionally or mistakenly influence calculations in another process) is based on the delimitation of access to resources.

    Interaction between processes: data exchange, mutual synchronization.

    Protecting the system itself, as well as user data and programs, from actions of users (malicious or unknowing) or applications.

    Multi-user mode of operation and differentiation of access rights.

Evolution of operating systems and basic ideas

The predecessor of the OS should be considered utility programs (bootloaders and monitors), as well as libraries of frequently used routines, which began to be developed with the advent of universal computers 1st generation(late 1940s). Utilities minimized the operator's physical manipulation of the equipment, and libraries made it possible to avoid repeated programming of the same actions (carrying out I/O operations, calculating mathematical functions, etc.).

In the 1950s and 60s, the main ideas that determined the functionality of the OS were formed and implemented: batch mode, time sharing and multitasking, separation of powers, real time, file structures and file systems.

The need to accelerate the development of the domestic software market, ensure maximum independence from foreign developments in the field of high technology and preserve information sovereignty was first discussed at the highest level in 2014, when US and EU sanctions sharply increased the risks associated with the use of foreign software in business and government organizations . It was then that the Ministry of Telecom and Mass Communications of the Russian Federation became seriously concerned about solving this strategically significant, in the opinion of officials, issue, along with stimulating demand for national products and developing appropriate measures to support domestic developers. As a result, restrictions on the admission of foreign software in state and municipal procurement, as well as rules for the formation and maintenance of a unified register of Russian programs, were approved at the legislative level in the shortest possible time. All this has had a positive impact on the software market in Russia, which has recently been replenished with many interesting projects and developments. Including in the field of operating systems.

"Alt Linux SPT" is a unified Linux-based distribution for servers, workstations and thin clients with built-in information security software, which can be used to build automated systems up to class 1B inclusive and personal data information systems (PDIS) up to class 1K inclusive. The OS allows you to simultaneously store and process confidential data on one personal computer or server, provide multi-user work with restricted access to information, work with virtual machines, and also use centralized authorization tools. The certificate issued by FSTEC of Russia confirms the product’s compliance with the requirements of the following governing documents: “Computer equipment. Protection against unauthorized access to information. Indicators of security against unauthorized access to information" - according to security class 4; "Protection against unauthorized access to information. Part 1. Information security software. Classification according to the level of absence of undeclared capabilities” - according to the 3rd level of control and technical conditions. Technical support for Alt Linux SPT users is provided by the Free Software and Technologies company through its partner developer Basalt SPO.

Developer: Basalt SPO company

The Viola platform is a set of enterprise-level Linux distributions that allow you to deploy corporate IT infrastructure of any scale. The platform includes three distributions. This is a universal “Viola Workstation”, which includes an operating system and a set of applications for full-fledged work. The second is the server distribution "Alt Server", which can act as an Active Directory domain controller and contains the most complete set of services and environments for creating a corporate infrastructure (DBMS, mail and web server, authentication tools, work group, virtual machine management and monitoring, and others tools). The third is “Alt Education 8”, focused on everyday use in planning, organizing and conducting the educational process in institutions of general, secondary and higher education. In addition, the Basalt SPO product series includes the above-mentioned certified Alt Linux SPT distribution kit and the Simply Linux operating system for home users.

Developer: National Center for Informatization (part of the Rostec state corporation)

A Russian project to create an ecosystem of software products based on the Linux distribution, designed for complex automation of workplaces and IT infrastructure of organizations and enterprises, including in data centers, on servers and client workstations. The platform is presented in the “OS.Office” and “OS.Server” versions. They differ in the sets of application software included in the distribution kit. The office edition of the product contains the operating system itself, information security tools, a package of programs for working with documents, an email client and a browser. The server version includes an operating system, information security tools, monitoring and system management tools, an email server and a DBMS. Potential users of the platform include federal and regional authorities, local governments, companies with state participation and state corporations. It is expected that the OSi-based ecosystem will in the near future become a full-fledged alternative to Western analogues.

Development of the research and production association "RusBITech", presented in two versions: Astra Linux Common Edition (general purpose) and Astra Linux Special Edition (special purpose). Features of the latest version of the OS: developed means of ensuring information security of processed data, a mechanism for mandatory access control and control of the closedness of the software environment, built-in tools for marking documents, recording events, monitoring data integrity, as well as other components that ensure information protection. According to the developers, Astra Linux Special Edition is the only software platform that is simultaneously certified in the information security certification systems of the FSTEC of Russia, the FSB, the Ministry of Defense of the Russian Federation and allows the processing of restricted access information containing components of state information in automated means of all ministries, departments and other institutions of the Russian Federation secret information classified no higher than “top secret”.

ROSALinux

Developer: LLC "NTC IT ROSA"

The ROSA Linux operating system family includes an impressive set of solutions designed for home use (ROSA Fresh version) and use in a corporate environment (ROSA Enterprise Desktop), deployment of infrastructure IT services of an organization (ROSA Enterprise Linux Server), processing of confidential information and personal data ( ROSA "Cobalt"), as well as information constituting a state secret (ROSA "Chrome" and "Nickel"). The listed products are based on the developments of Red Hat Enterprise Linux, Mandriva and CentOS with the inclusion of a large number of additional components - including original ones created by programmers of the scientific and technical center for information technologies "ROSA". In particular, OS distributions for the corporate market segment include virtualization tools, software for organizing backups, tools for building private clouds, as well as centralized management of network resources and data storage systems.

Developer: Calculate company

Calculate Linux is available in Desktop, Directory Server, Scratch, and Scratch Server editions and is designed with home users and SMBs in mind who prefer to use open source software instead of proprietary solutions. Platform features: full-fledged operation in heterogeneous networks, a mechanism for roaming user profiles, tools for centralized software deployment, ease of administration, the ability to install on portable USB drives and support for binary repositories of Gentoo updates. It is important that the development team is accessible and open to any comments, suggestions and wishes of the user audience, as evidenced by the huge number of ways to get involved in the Calculate Linux community and platform development.

"Ulyanovsk.BSD »

Developer: Sergey Volkov

An operating system that is built on the freely distributed FreeBSD platform and contains the necessary set of application programs for home users and office tasks. According to the only OS developer Sergei Volkov, Ulyanovsk.BSD is fully adapted to the needs of Russian-speaking users. “Our assembly is as lightweight as possible and is ideal for use both on home computers and on workstations of employees of various organizations, as well as for use in educational institutions,” says the author of the project, without going into details of how exactly the product he compiled differs from the original. The credibility of the project is added not only by the presence of a commercially distributed distribution and paid technical support, but also by an entry in the Russian software registry. This means that the Ulyanovsk.BSD software platform can be legally used by government organizations as part of projects to introduce import-substituting technologies.

A certified and secure operating system that allows you to process information in accordance with Federal Law No. 152 “On Personal Data” and implement systems for processing restricted access information that is not related to state secrets. ICLinux includes remote administration tools, has a built-in firewall certified for compliance with the RD ME for security class 3, supports RDP, X-Windows System, SSH, Telnet, VNC, VPN, NX, ICA and other protocols. The platform’s assets also include compatibility with the authentication tools of the Aladdin R.D. company. and a modular architecture that allows you to flexibly customize the operating system to suit customer requirements.

"Alpha OS" (Alfa OS)

Developer: ALFA Vision company

Another Linux clone, equipped with a user interface a la macOS with a set of familiar office applications and filled with deep philosophical meaning. No joke, on the developer’s website in the “About the Company” section, it says: “ The operating system is a special phenomenon, a point at which technological, aesthetic and humanitarian concepts converge. A peak that is visible from all sides. For it to shine and become what it should be, a wide variety of meaningful experiences are needed. And we have it" There is so much expression in these words, what a presentation of information! Agree, not everyone can present their product to a wide audience so expressively. Currently, Alpha OS is presented as a desktop version for x86-compatible systems. In the future, ALFA Vision intends to roll out mobile and server editions of the OS to the market, as well as a distribution kit for devices based on ARM processors.

A software platform developed specifically for computing systems with SPARC and Elbrus architecture. A special feature of the system is the radically redesigned Linux kernel, which has implemented special mechanisms for managing processes, virtual memory, interrupts, signals, synchronization, and support for tagged calculations. " We have done fundamental work to transform the Linux OS into an operating system that supports real-time operation, for which relevant optimizations have been implemented in the kernel. During real-time work, you can set various modes for processing external interrupts, scheduling calculations, exchanges with disk drives, and some others", explains the MCST company. In addition, a set of tools for protecting information from unauthorized access is built into the core of the Elbrus software platform, which allows you to use the OS to build automated systems that meet the highest information security requirements. The system also includes archiving, task scheduling, software development and other tools.

"EdOS"

An operating system based on the Linux kernel, designed to ensure the security of processed data. "Red OS" complies with domestic information security requirements, has pre-configured configurations for each hardware architecture, uses GOST 34.11-2012 algorithms in the ssh and NX protocols, and also supports access control lists. In addition, the OS supports network authentication using plug-in authentication modules (PAM, Pluggable Authentication Modules) and includes a specialized distributed audit subsystem that allows you to monitor critical security events in the corporate network and provides the IT administrator with the necessary tools for prompt response to incidents IB.

GosLinux (“GosLinux”)

Developer: Red Soft company

GosLinux OS was created specifically for the needs of the Federal Bailiff Service of the Russian Federation (FSSP of Russia) and is suitable for use in all government bodies, state extra-budgetary funds and local governments. The platform is built on the CentOS 6.4 distribution, which includes developments from Red Hat Enterprise Linux. The system is presented in two editions - for servers and workstations, contains a simplified graphical interface and a set of pre-configured information security tools. The OS developer is the Red Soft company, which won the competition in March 2013 for the development, implementation and maintenance of automated information systems of the Federal Bailiff Service of Russia. In 2014, the system received a certificate of conformity from the FSTEC of Russia, confirming that GosLinux has an estimated trust level of OUD3 and complies with the requirements of the governing document of the State Technical Commission of the Russian Federation for the 4th level of control over the absence of undeclared capabilities. The GosLinux OS distribution for government agencies is located in the national fund of algorithms and programs at nfap.minsvyaz.ru. Currently, the GosLinux platform is being actively deployed in all territorial bodies and divisions of the Federal Bailiff Service of Russia. The OS was also handed over for trial operation to representatives of the authorities of the Nizhny Novgorod, Volgograd and Yaroslavl regions.

Developer: Almi LLC

Product website:

Another Linux build on our list that definitely doesn't suffer from a lack of praise from developers. " Unique, ideal, simple, combining the convenience of the Windows operating system, the stability of macOS and the security of Linux“- such phrases raising AlterOS to the skies are stitched up and down the official website of the product. What exactly is the uniqueness of the domestic platform is not stated on the site, but information is provided about three editions of the OS: AlterOS “Volga” for the public sector, AlterOS “Amur” for the corporate segment and AlterOS “Don” for servers. The system is reported to be compatible with many software solutions in demand in the business environment, including 1C and Consultant Plus, as well as domestic cryptographic protection tools (for example, CryptoPro). Special emphasis is placed on the absence in the version of the platform for government organizations of software that interacts with foreign servers - everything is done according to the canons of maximum import substitution, the developers say.

Mobile Armed Forces System (MSMS)

Developer: All-Russian Research Institute of Control Automation in the Non-Industrial Sphere named after. V.V. Solomatina (VNIINS)

A secure general-purpose operating system designed for building stationary and mobile secure automated systems in the Armed Forces of the Russian Federation. Accepted for supply to the RF Armed Forces in 2002. WSWS is based on the Linux kernel and components, supplemented by discretionary, mandatory and role-based models for restricting access to information. The system operates on hardware platforms Intel (x86 and x86_64), SPARC (Elbrus-90micro), MIPS, PowerPC64, SPARC64 and is certified according to the information security requirements of the Ministry of Defense of the Russian Federation. The security measures implemented in WSWS make it possible to create automated systems based on the platform that process information that constitutes a state secret and has a secrecy level of “SS” (top secret).

"Zarya"

Developer: Federal State Unitary Enterprise "Central Research Institute of Economics, Informatics and Control Systems" ("TsNII EISU", part of the "United Instrument-Making Corporation")

A family of software platforms based on the Linux kernel, which represent an alternative to foreign operating systems currently used in law enforcement agencies, the public sector and defense enterprises. The Zarya desktop operating system is compatible with most traditional office applications and programs. The Zarya-DPC server platform allows you to organize an application server or database server. To build data centers, it offers a standard set of server software, virtualization tools, as well as the ability to work on so-called “big hardware,” including mainframes. For embedded systems operating without human intervention, which must process information in real time, a special OS “Zarya RV” has been developed. The system corresponds to the third class of protection against unauthorized access and the second level of control over the absence of undeclared capabilities. The platform was developed by order of the Russian Ministry of Defense and is expected to be in demand by law enforcement agencies, the defense complex, as well as commercial structures working with state secrets and personal data.

Operating system for terminal stations. It is based on Linux and contains only the necessary set of tools for organizing workspaces using thin clients. All features beyond this scope are excluded from the distribution. Kraftway Terminal Linux supports many application-level network protocols (RDP, VNC, SSH, NX, XWindow, VMWare View PCoIP, etc.), allows you to configure access rights for forwarding USB media, provides the ability to use network and local printers, and contains configuration recovery tools OS during reboot, as well as tools for remote group management of terminal stations and administration of workstations. A special feature of the system is its high security. Kraftway Terminal Linux also supports user authentication hardware: eToken PRO and eToken PRO Java USB keys from Aladdin R.D. CJSC, as well as RuToken S and RuToken EDS from Active-Soft CJSC. The OS can be updated by the administrator via a local network or from a USB drive. It is possible to configure auto-update both from the customer’s local server and from the Kraftway server.

WTware

Developer: Andrey Kovalev

Another software platform for deploying workplaces in the IT infrastructure of an enterprise using inexpensive terminal solutions. The WTware distribution includes services for downloading over the network, tools for working with printers, barcode scanners and other peripheral equipment. COM and USB port redirection is supported, as well as smart card authentication. To connect to the terminal server, the RDP protocol is used, and to quickly resolve issues that arise when setting up the operating system, detailed documentation is included in the distribution kit. WTware is distributed under commercial terms and licensed by the number of workstations. The developer offers a free version of the OS for the Raspberry Pi minicomputer.

KasperskyOS

Developer: Kaspersky Lab

A secure operating system designed for use in critical infrastructures and devices. The Kaspersky Lab platform can be used in automated process control systems (APCS), telecommunications equipment, medical devices, cars and other gadgets from the world of the Internet of Things. The OS was created from scratch and, due to its architecture, guarantees a high level of information security. The basic operating principle of KasperskyOS comes down to the rule “everything that is not permitted is prohibited.” This eliminates the possibility of exploiting both already known vulnerabilities and those that will be discovered in the future. At the same time, all security policies, including prohibitions on performing certain processes and actions, are configured in accordance with the needs of the organization. The platform will be supplied as pre-installed software on various types of equipment used in industrial and corporate networks. Currently, Kaspersky Lab's secure OS is embedded in an L3 routing switch developed by Kraftway.

A real-time operating system (RTOS), written by AstroSoft programmers from scratch, without borrowing anyone else's code, and designed primarily for the Internet of Things and embedded devices. In addition, it is suitable for robotics, medical equipment, smart home and smart city systems, consumer electronics, etc. For the first time, the MAX real-time OS (the abbreviation stands for “multi-agent coherent system”) was demonstrated to a wide audience in January 2017. The platform not only implements all the classic functionality of products of this type, but also has a number of unique capabilities for organizing the interaction of many devices, making it possible to simplify the creation of mechanisms necessary in embedded systems: redundancy, hot-swappable equipment, etc. One of the features of MAX is support for shared memory at the device level. This mechanism ensures automatic synchronization of information between nodes of a distributed system, resistant to failures of individual components. RTOS "MAX" is included in the register of domestic software. In addition, the product is registered with the Federal Service for Intellectual Property (Rospatent) and is currently undergoing certification by the Federal Service for Technical and Export Control (FSTEC of Russia) for the fourth level of control of undeclared capabilities (NDV).

As a conclusion

There are two approaches to creating Russian software. The first is to write the source code of products from scratch, entirely by domestic specialists. The second option involves the creation of national software based on the modification of borrowed source codes. This is precisely what Russian software companies working in the field of software import substitution adhere to. Our top 20 operating systems with the “Made in Russia” label are a clear confirmation of this. Whether this is good or bad is a big question, a subject for a separate discussion.