Contacts

Russian operating system or Windows? New Russian operating system for PC. Russian operating systems Operating system of the Russian Federation

On the Internet, patriots are trolled in the following style: “Here you are reading this message on a Chinese computer with American programs, this is not Orthodox”. Now, if only we had everything completely domestic... Moreover, now “for this bench” you can easily win a large government contract: for the sake of such a thing, many equipment manufacturers have already begun to produce it at contract factories among the birches dear to our hearts.

We do not count charlatans like the schoolboy who drew the screensaver and announced the creation of the BolgenOS operating system, but as an expense - but, it turns out, Russia is full of serious developments.

Not very Russian ROSA Linux

Here, for example, is ROSA Linux (read not as “rose”, but as “dew”, which is on the grass in the morning). It can hardly be considered completely Russian, because these are actually further branches of the development of foreign assemblies from Mandriva and Red Hat. The version for home users is called Rosa Fresh; The latest build was released in August 2016.

The advantage of this free assembly compared to the same Ubuntu is the ability to choose a graphical interface (KDE or Gnome), the presence of drivers “out of the box” for a large number of devices, including proprietary ones (say, NVIDIA video cards), and pre-installed software - such as Skype, Java, Flash, Steam, your own omnivorous media player, etc., as well as convenient tools for creating restore points.

Desktop of the ROSA 2012LTS operating system.

Astra Linux

Astra Linux is another Russian build of Linux (originally based on Debian), developed for security forces and intelligence agencies. It has the highest level of protection and is certified to work with information containing state secrets. To heighten patriotism, all releases are named after the hero cities of Russia.

Now relevant are “Eagle” - a version for everyday office, excuse me, clerical tasks, and “Smolensk” for working with information in the “Top Secret” category. Novorossiysk is being prepared for release - a mobile version of the OS for smartphones and tablets with ARM processors.

From a technical point of view, Astra differs from all other Linux systems by its own patented access control system, and also has a number of other data protection functions - for example, when a file is deleted, it is completely deleted and the space it occupied is filled with random masking data sequences (in In other OSes, by default, only the FAT entry is changed, and special utilities are used to ensure that the deleted file cannot be read by sector-by-sector reading of the drive).

General-purpose operating system Astra Linux Common Edition.

Software for intelligence agencies

“Zarya” is another special-purpose build of Linux (based on Red Hat), it is used exclusively in the Russian army and exists in the form of several assemblies - for workstations, for data centers, for specialized computerized complexes, etc.

There is also MSWS - “Mobile System of the Armed Forces” and GosLinux - OS for the Federal Bailiff Service (also based on Red Hat). There are statistics on the latter: it was installed on 660 servers and 16 thousand workstations, while the cost of a copy per computer turned out to be 1,500 rubles. As it is installed on more PCs by the end of 2016 (then it will be installed on half of FSSP computers), the average cost will drop to 800 rubles. In any case, this is several times cheaper than licenses for Windows and MS Office.

"Elbrus"

"Elbrus" is an operating system for computers with Russian processors with the same name. Since these processors, although compatible with x86, have their own unique architecture, we decided to develop a special OS - again, on the Linux kernel - that takes into account the characteristics of the CPU and makes the most of their advantages.

VK Monokube-PC is a personal computer based on the Elbrus-2C+ microprocessor with the Elbrus / MCST operating system.

Software from scratch

All of the above operating systems, unfortunately, are not completely Russian developments, since they are various variations on the theme of foreign Linux. However, we also have our own OS called “Phantom”, developed from scratch.

One of the key features of Phantom is persistence, which means that applications run without stopping and do not even “know” that the computer was turned off or rebooted - work continues exactly from the same moment. This is somewhat similar to the "hibernation" mode in other systems (where the contents of memory are written to disk as files and then loaded), but is guaranteed to work without driver and program failures, and everything happens automatically. Even if you suddenly turn off the computer, the data will not be lost and after turning it on again everything will be the same as a few seconds before turning it off.

There is only one problem with Phantom: application software needs to be written for it (or ported from Unix systems), but here the chicken and egg problem arises: until there is at least some penetration of the OS, no one will want to write programs for it, but for now no programs - no penetration.

To make both an OS and programs at the same time requires huge investments, which the small company Digital Zone, the author of Phantom, does not have. Therefore, the system exists in the form of an alpha version for 32-bit x86 processors and the prospects for its further development are very vague.

Actually, programs do not need to be able to write their state to a file, and in general, Phantom operates not with “files”, but with “objects”. According to the creators of the OS, writing programs for it is much easier and 30% cheaper.

Masking as Russian software

We should also remember the noise that arose around Sailfish OS after our minister Nikolai Nikiforov met with the leaders of the Finnish Jolla. A year ago, Jolla was purchased by Russian businessman Grigory Berezkin and even won the Ministry of Telecom and Mass Communications competition for import substitution in the OS segment for mobile devices.

Since then, nothing has happened, and there is nothing Russian, except for the buyer, in Sailfish yet. However, there is talk that a new mobile OS will be developed in Russia at Innopolis, aimed at export.

Many media outlets came out with headlines that this was the creation of a domestic mobile operating system. But on the Internet there are a priori no borders; all products must be global. On the contrary, we would like Russian developers to participate in the creation of a product that will be export-oriented, and ideally become a platform for the BRICS countries.

Nikolay Nikiforov

Minister of Communications and Mass Communications of the Russian Federation

And there is a certain logical trick here: Nikiforov considers the open operating system Sailfish one of the possible candidates to become a platform for further import substitution in the IT field. However, nothing is said about the fact that Sailfish will be developed in Innopolis. But it is said that the Open Mobile Platform company, suddenly owned by Berezkin, will only take the foreign Sailfish as a basis and modify it for ordinary Russian users. That is, this is not another “Linux for the public sector,” but an OS for the mass market.

Let's discard all these streamlined formulations: it is clear that under the guise of a Russian mobile OS they will show us exactly the remade Sailfish. It, in turn, is a Linux-like heir to the MeeGo and Maemo platforms, which were developed at Nokia and were “killed” by Stephen Elop, a Cossack sent by Microsoft, because they were competitors to Windows Phone. However, they managed to release one device, Nokia N9.

An error occurred while loading.

What Sailfish OS 2.0 looks like for Jolla device users.

Sailfish can run Android applications, so there will be no problems with the software, however, it is difficult to explain to the user why he should run Android applications not on Android, but on a smartphone with a different operating system.

The main advantage of Sailfish is the absence of dependence on Google and its services (it is for this reason that, for example, Samsung developed Bada and Tizen). The user is promised a little magic, like Apple, and programmers are promised ease of creating applications without problems with fragmentation. According to rumors, Yotaphone 3 will be released on Sailfish.

What's the result?

The bottom line is this: all “live” Russian operating systems are actually Linux builds redesigned for specific tasks. They fulfill their tasks of saving the state budget and ensuring the safety of data. The degree of patriotism is increasing. They give jobs to system administrators and software developers. That is, everything is fine.

I think that any of the readers of this article no longer considers the words “Operating system” and “Windows” to be synonymous, because knows at least one or more other systems. For many, this will be Android; for a significant number of people, Windows Phone and iOS are known; slightly fewer people have heard about OS X, FreeBSD and Ubuntu. All these operating systems are developed by Western (mainly American) organizations. At first glance, there is nowhere for a Russian person to cast his gaze... but no. We also have our own masters.

We are already accustomed to the fact that information technologies for Russia are not a subject of creativity, but a subject of passive study. Yes, we know the world-class antivirus from Kaspersky or the currently best text recognizer FineReader, also from a Russian company. Someone will remember Dr.Web. But in the general context, this is, if not a drop, then a small puddle in the sea that makes up our computer horizons. This illusion is wrong, because Not all active participants in the IT community are evaluated, but only those who actively promote themselves through advertising or sales managers. And who is left out of our horizons? Yes, tens of thousands of domestic developers of different levels of professionalism and different areas of problems to be solved.

It's no secret that the most important component of any computer (except for the hardware inside the case) is the operating system. But do we have anything domestic to look for here? It turns out there is. Here is a short list of real projects that have been launched and have been working for several years:

I decided to consider the first one (ROSU), because... I assume that it is the most convenient for former Windows users of all the ones I have tried. More precisely: the editorial office “for the people” - Fresh (i.e. “Fresh” ROSA).

https://pp.vk.me/c622330/v622330599/4a111/e-lkYhJxA2M.jpg

The main problem for the user of a new operating system is mastering the new logic of working with a computer (after all, ROSA is not a clone of Windows, but a completely different OS). For example, a person who decides to switch to OS X from Apple will have to resolutely reject the habits of the Windows driver, down to the “hot keys”. Here the Russian operating system has a minimum of problems: the bottom panel resembles the usual “Vendo” panel in its operating logic, and the menu structure (let’s call it “START”) will delight you with its simplicity and functionality.


https://pp.vk.me/c624419/v624419599/61c93/7xQG0ybJAO4.jpg

But this is only external “cosmetics”. Inside there are all the tools necessary even for a fairly advanced user: built-in players for a huge number of formats, a full-fledged office suite (analogous to MS Office), graphics, audio and video editors, an email client, two(!) browsers for fans from different camps (Firefox and Chromium) , a client capable of connecting to ICQ and QIP, utilities for burning bootable flash drives and disks. If necessary, we install Skype, TeamViewer and other useful programs through a convenient and concise program installer (most programs are installed and updated through this one tool without the need to update manually).


https://pp.vk.me/c622330/v622330599/4a11b/dmMw9LEA8S4.jpg

And even with all the massiveness of the pre-installed set of programs, ROSA manages to load and shut down faster than the products of the Redmond corporation. And the problem of viruses will only bother those who purposefully install them into the system. They cannot appear “suddenly” on the computer.

With all this, the system has many unique features for the Windows user. Just think about the ability to distribute WiFi Internet from your laptop in two clicks or the ability to mock the system with experiments after turning on the “freeze mode”, and then after a reboot see the system in a “pre-frozen” state.


https://pp.vk.me/c622330/v622330599/4a125/cm1N-A-A-Ok.jpg

In general, there are many advantages. You need to touch them to understand this. To do this, just boot into a full-fledged operating system directly from a CD or flash drive, without installing the system (unusual, right?). And if you like it, then install the system and during the installation browse the Internet or write an interesting article.

Another advantage of the Russian OS is the active and accessible Russian-speaking community

The lecture provides a historical overview of operating systems, both foreign and domestic (OS DISPAK, OS Elbrus, etc.). The main operating modes of users and tasks in the OS (batch, multiprogramming, time sharing) are considered.

    Introduction

    OS history

    UNIX dialects

    Domestic operating systems

    Features of operating systems for general purpose computers (mainframes)

    Memory allocation in a single-tasking OS with batch processing of jobs

    Batch OS with multiprogramming support

    Time-sharing mode and features of OS with time-sharing mode

    Key terms

    Brief summary

    Practice kit

    • Topics for term papers, abstracts, essays

Introduction

Operating systems have a long (more than 50 years) and very rich history. One should not assume that only foreign operating systems were and are used in Russia and the USSR. There are also known outstanding, original domestic works in this area; we will also consider them. As the OS evolved, more and more flexible and convenient modes of use were implemented.

OS history

Early mainframe computers (1940-1950), the first of which was the ENIAC computer (1947, USA), did not have operating systems. Memory access in these computers was carried out by real (physical) addresses, and access to external devices (for example, a punched card input device or a magnetic tape drive) was carried out by special commands, also by physical addresses. Such computers were very bulky, each of them occupied a large room in which users took turns working on the computer, using such an inconvenient interface as an engineering console. Each user, before leaving “the machine” (as they said then), stopped and “zeroed” it by pressing buttons on the remote control and gave way to the next user, who entered his program and data from punched cards or punched tape, entered its starting address using the toggle switches on the remote control and launched it using a special button. In case of any failure or error in the program, the situation had to be understood by studying the combinations of lights on the remote control, which reproduced the contents of the registers in binary form.

Of course, this way of interacting with a computer was very inconvenient. At least minimal automation was required. For this, in the 1950s - 1960s. - were created dispatchers- predecessors of the OS, system programs that controlled the passage of a package of tasks entered from punched cards. For example, like this dispatcher(named DM-222) was used on the M-222 computer in the mid-1970s, on which math-mechanics students, including the author of the course, skipped their student assignments. It looked like this: The student wrote his program (or corrections to it - the so-called “addition”) on special forms and submitted it to the punching machine, then received punched cards and gave the deck of punched cards with the program to the machine room operator. Within a few hours, he could expect to receive the results of his program—a deck of punched cards back and a printout of the results. In the computer room, the operator entered the next task from punched cards. Program- dispatcher copied the image of the entered deck of punched cards with the task for input tape, on which all task images were stored in the chronological order of their input, regardless of the resources required for them - time and memory size. Dispatcher carried out the launch of tasks in turn, according to the principle FIFO (First-In-First-Out)– in order of receipt. Selecting a task from the queue, dispatcher placed it in memory and launched it. At the end of the job (or when it was interrupted due to an error), a printout of the results was sent to the printing device. Then control was transferred to the next task. This mode of access to the computer was, of course, much more convenient than working from the remote control. Its disadvantages are that, firstly, the programs were skipped one by one (there was no simultaneous processing of several tasks), secondly, the resources required to complete the task were not taken into account in any way, and a program requiring only 1 minute to complete should was waiting for the completion of a large task that required, for example, five hours to complete, only because the latter was entered into the system earlier.

In the 1960s - 1970s. Classic operating systems were developed, which became more and more complex. Their file systems and other OS components became increasingly complex. The most famous of the operating systems of this period: among foreign ones - ATLAS, MULTICS, OS IBM/360, among domestic ones - DISPAK OS for the BESM-6 computer. Classic operating systems were characterized by the following main features:

    multi-programming – simultaneous processing of several tasks;

    batch processing (batch mode) – processing a batch of jobs entered from punched cards or terminals, taking into account their priorities and required resources

    time sharing - parallel work of several users from terminals (teletypewriters or displays), who controlled the passage of their tasks, entered them in text editors, compiled, executed and debugged;

    process management – ​​parallel (or alternate, if the computer was single-processor) execution of user processes; the ability to explicitly launch a parallel process.

The development of each operating system for each new computer model required many years of hard, highly skilled work. Moreover, each OS was initially developed in a low-level language - assembly language. Therefore, back in the 1960s. the idea of ​​developing mobile (portable) OS– operating systems that could be used on several families of computers by porting their code (perhaps with minor changes) from older models to newer ones. Note that the term mobile used here in a different understanding, different from the one to which we are accustomed today ( mobile phones and operating systems for them).

First mobile OS was developed in 1970 by Brian Kernighan and Dennis Ritchie at AT&T and was called UNIX. Even its very name contains a kind of opposition MULTICS (multi - many, uni - one) - the latter is known for its complexity. With this name, the authors emphasized the main idea of ​​UNIX - unification And simplification representations of files and operations on them (in UNIX, a file is a sequence of bytes), user programs and processes. The UNIX source code was also unified and independent of the target hardware platform, which was written entirely in a specially developed new C language (the main authors of C, like UNIX, are B. Kernighan and D. Ritchie). The use of a high-level language for the development of UNIX was a revolutionary step in the history of the OS and made it possible, firstly, to significantly speed up and simplify development, and secondly, to port UNIX to many computer models (for which, of course, it was necessary to develop a compiler from the language Si). The UNIX system was first used in 1970 on the PDP-10 minicomputer. PDP computers from the early 1970s. it is customary to classify minicomputers. Although this name from a modern point of view is not entirely legitimate: such a computer occupied... two small cabinets, compared to the mainframe computer of the 1960s, which occupied an entire room. The RAM capacity of minicomputers was only about 32 kilobytes (!). However, the UNIX OS successfully ran on them (there were other OSes, for example, RSX-11), there was a Pascal compiler, a convenient file system and a program for working with them were implemented, and mathematical program libraries were available.

In the early 1980s, personal computers appeared. The operating systems for them actually repeated in their development the operating systems for general-purpose computers: they used similar ideas and methods. However, the first personal computers were less powerful than mainframes, both in terms of memory, speed and capacity microprocessor. Intel's first widespread microprocessor was 8-bit, and an 8-bit CP/M operating system was also developed for it. In 1975, Microsoft was created, and its first development was the 16-bit MS DOS operating system for personal computers with Intel 8086 processors (or x86 for short). The MS-DOS command language has clear UNIX influences, but MS-DOS provides much less command language capabilities.

In the early 1980s. Apple released Lisa and Macintosh personal computers with the MacOS operating system. Its characteristic feature was the implementation of convenient graphical user interface (GUI) in the form of windows, menus, “icons” and many other GUI elements to which we are now so accustomed. MacOS became the first OS with advanced GUI support (for comparison, MS-DOS provided the ability to work directly in the command language).

In the late 1980s and early 1990s, influenced by MacOS, Microsoft developed the Windows graphical shell on top of the MS-DOS operating system. The first version of Windows was thus not yet an operating system; it was launched by the command win from the MS-DOS command language. However, many of the modern Windows-specific GUI features that have become native to Windows users were already present in it. Then Windows 3.x and Windows for Workgroups (already operating systems) were released, in 1995 - Windows 95 (with advanced multimedia capabilities, a large set of built-in drivers for various devices and support for the Plug-and-Play mechanism for connecting a new device without stopping computer) and Windows NT with advanced network capabilities and increased reliability. It was Windows NT that became the basis for the subsequent development of Windows. Currently, the most popular Windows models are Windows XP (support for which by Microsoft is already ending - the system was released in 2001), Windows 2003 Server, Windows Vista, Windows 2008 Server and Windows 7.

In the early 1990s. The first version of Linux OS (UNIX-type OS with open source kernel codes) appeared, which gradually gained significant popularity, but is mainly used on servers. Most clients (users) in the world prefer Windows or MacOS on their computers (note that, for example, in the USA and Canada, Macintosh computers are more popular than Windows machines with Intel processors or their equivalents.

Let's also not forget that in response to such a seemingly simple question: "Which OS is the most popular in the world?" Even Microsoft employees don't answer "Windows". The fact is that the most popular computer devices in the world are not desktop or laptop computers, but cheaper and more compact mobile phones, for which the specialized OS of the family still holds the lead Symbian, which, in particular, is used in most mobile phones of the largest company Nokia. The Symbian operating system is actively catching up with the new Google Android OS in the OS market for mobile devices. So, operating systems of the Windows family are only in second place in terms of their prevalence.

UNIX dialects

One of the most widely used operating system families since the 1970s. is UNIX. There are hundreds of UNIX dialects. All of them have a number of common features, including powerful command languages ​​and developed system libraries. However, they are all somewhat different from each other. In fact, most major IT firms have developed or are developing their own UNIX dialects. Among them, the most famous are the following.

    Berkeley Software Distribution (BSD), currently FreeBSD (University of Berkeley) is one of the most famous UNIX dialects, developed at the University of Berkeley, USA. It was the first to implement network sockets. It was this dialect that was used as the basis for the first version of Sun's Solaris OS (Solaris 1.x) when it was created in 1982. One of the authors of this dialect is Bill Joy, one of the four legendary creators of Sun.

    System V Release 4 (SVR4) is a UNIX dialect developed by AT&T. It is most characterized by advanced capabilities of parallel multi-threading programming. This dialect was the basis for the second version of the Solaris OS (Solaris 2.x) from Sun in the early 1990s.

    Linux (RedHat, SuSE, Mandrake, Caldera, Debian, Fedora, etc.) is a UNIX-type OS with a freely distributed kernel with source code. The first version of Linux was developed in the early 1990s. Currently, Linux dialects are actively used as server OS(OS that manages the operation of all kinds of servers), and also as a basis for developing an OS for mobile devices.

    Solaris (Sun Microsystems, now Oracle / Sun) is one of the most famous and developed UNIX dialects. It has a convenient graphical shell, developed means of parallelism and synchronization of processes, convenient network capabilities (in particular, the classic network file system NFS), a number of new original file systems (in particular, ZFS - a file system with large file sizes and the ability to encrypt information). Solaris 10 OS is currently distributed.

    IRIX (Silicon Graphics) is a UNIX dialect developed by Silicon Graphics (SGI), USA, a well-known manufacturer of graphics workstations.

    HP-UX (Hewlett-Packard) is a UNIX dialect developed and used by one of the largest "sharks" in the IT world - Hewlett-Packard.

    Digital UNIX (DEC) is a dialect of UNIX developed in the early to mid-1990s. by Digital Equipment Corporation (DEC), later acquired by Compaq. The first version of UNIX to support 64-bit processors.

Domestic operating systems

When analyzing the history of the development of the IT field, one should keep in mind the special conditions in which these developments developed both in the USSR (Russia) and in the USA, starting from the 1950s. – “Cold War” and “Iron Curtain”. As a result, all these developments, both in the field of hardware and in the field of software, were strictly classified (according to the author, in the USSR - even more strictly than in the USA, since we still had the opportunity to learn about the work of American specialists from magazines). This situation led to the fact that similar ideas sometimes arose and were implemented on both sides of the Iron Curtain at approximately the same time, with an almost complete absence of information about each other’s work. However, there were some positive aspects to this: significant funds were allocated for this work by the government and line ministries, and very strong development teams were created and developed with these funds (primarily in the field of hardware, operating systems and compilers). In the late 1980s - early 1990s, during the well-known transition period in the USSR and Russia, when groups began to be created to work on outsourcing projects, financed by US firms, American specialists were simply amazed to discover the strongest research and industrial in Russia groups in the field of IT, proposing and implementing a lot of their ideas, keeping abreast of the latest developments, and with their theoretical level, developments in the field of data structures and effective algorithms, sometimes ahead of the best American teams. The author of these lines was lucky enough to become the leader of one of these groups, which worked for many years with the Sun company within the walls of the Faculty of Mathematics and Mechanics of St. Petersburg State University. All of the trends described have significantly influenced the development of hardware and operating systems. Domestic developers, knowing almost nothing about the similar work of their American colleagues, created their own original systems, including the OS. For example, the idea of ​​multi-threading was implemented in the Elbrus OS back in the late 1970s, and in popular foreign operating systems (UNIX, Solaris, Windows NT) multithreading appeared only in the late 1980s - early 1990s. Unfortunately, there was also a significant lag between Soviet and Russian IT specialists and the Americans - primarily in the development of hardware components and computer production technology, as well as in the field of graphical user interfaces (GUI).

Among the advanced original domestic developments in the field of computer hardware and OS of the 1960s - 1970s. First of all, we should highlight the BESM-6 computer and its operating systems: OS DISPACK, OS DIAPAK, OS IPM and its system and application software. The developer of BESM-6, OS DISPAK and OS DIAPAK was the Institute of Precision Mechanics and Computer Science of the USSR Academy of Sciences under the leadership of Academician Sergei Alekseevich Lebedev, the founder of all our domestic computer technology. The developer of the IPM OS is the Institute of Applied Mathematics of the USSR Academy of Sciences. The BESM-6 computer and its software should be recognized as unique. Many academic and university teams not only of the USSR, but also of foreign countries participated in their development - just remember such systems as ALGOL-GDR - the implementation of the ALGOL-60 extension with developed mathematical libraries, carried out by our colleagues from Germany, as well as the implementation of Pascal for BESM -6, developed by specialists from the Polish Academy of Sciences. Operating systems for BESM-6 supported batch (taking into account the priorities and resources of tasks) and dialog modes of interaction with a computer, page organization of virtual memory, work with external devices and telecommunication channels, and work in local networks. Dozens of terminals were connected to each BESM-6, operating under the control of the dialogue systems DIMON, JIN, etc. (this is with the BESM-6 RAM capacity of only 32 pages of 4096 bytes and speed of up to 1 million operations per second). The operation of BESM-6 and its OS was distinguished by high reliability. Head of OS DISPAK development – ​​V.F. Tyurin.

Another advanced domestic development of the 1970s - 1980s. was the development of multiprocessor computing systems (MCC) "Elbrus-1" and "Elbrus-2" . The author of the course and his team took an active part in the development of the Elbrus system software for 15 years. The ideological inspirer of the Elbrus project was S.A. himself. Lebedev, then it was led by Academician Vsevolod Sergeevich Burtsev, and after him - corresponding member. USSR Academy of Sciences Boris Artashesovich Babayan. It should be recognized that Elbrus had foreign prototypes and long before its appearance, academic foreign works were written that laid the scientific foundations for similar computer architectures, for example, . The commercial prototype of Elbrus was the well-known series of computers from Burroughs (USA): B5000 / B5500 / B6700 / B7700. However, the developers of Elbrus and its operating system managed to propose and implement a number of their own original ideas and methods. The basic principles of Elbrus, like its predecessors, were: tagged architecture(each word of memory, except data, contained tag – code of the data type stored in this word, by which the equipment monitored the correct execution of the operation), dynamism and hardware support for typical (sometimes very complex) sequences of actions used in the implementation of high-level languages ​​- for example, entering a procedure using a pointer to it, with setting display registers that refer to local data areas accessible to the procedure. OS "Elbrus" supported the creation of processes and operations on them, similar to those that were later called in foreign developments multi-threading; was implemented mathematical(virtual) memory with support for page distribution of virtual memory (on disk) and segment distribution of physical (RAM) memory. Dynamism was expressed in the fact that there was no static linking; all programs and modules were loaded into memory only dynamically, on the first call. Also dynamically, at the first request, upon interruption, each array of mathematical memory was allocated. Such principles were advanced for their time; the use of tags significantly increased reliability. However, from a modern point of view, the Elbrus ideology apparently cannot be considered flexible and effective, since all hardware operations and corresponding OS actions were implemented in a general form, and there was practically no possibility of optimizations, for example, for more quickly calling a procedure when there is no need to access its arguments, for quick access to a static memory area, etc. The principles of "Elbrus" are described in more detail in the monograph .

There were other interesting domestic developments of new computer architectures and their operating systems, primarily original specialized computers for various applications and their operating systems (mainly, in their class and purpose, they were real-time systems).

However, in the early 1970s, a new stage, unexpected for most users and specialists, began in the development of domestic computer technology and its system software. The USSR government made an unprecedented decision to create, as the main one for a fairly long period of time (as originally planned, for 20-30 years, which turned out to be a utopia), a domestic series - Unified Computer System (US Computer System)- by copying American computers of the IBM 360 series. Accordingly, all the basic system software, including the OS, was also adapted for use in the USSR (or used in its original form - with messages in English, etc.). This decision caused big problems with financing for developers of domestic computer architectures. This also caused great difficulties for users and software developers, since not everyone had a good command of the English language (nowadays the situation is much better in this last respect). For example, wrapper systems appeared that provided a Russian-language interface: with their help, all tasks for the EU were written using Russian-language mnemonics, then converted into the English Job Control Language (IBM 360 job management language), and all messages issued as results were translated into Russian. This was an interesting approach, but it didn't catch on. Documentation for the IBM 360 was gradually translated into Russian, and Russian-language reference and educational literature on ES computers appeared. Unfortunately, domestic analogues of IBM 360 equipment - machines of the ES computer series - turned out to be much less reliable than their prototypes. Over the course of several more years, another government decision was made - on a similar copying of the American minicomputers of the PDP 10 and PDP 11 series, under the general name "Minicomputer System" (SM COMPUTER). Computers of this series SM-1, SM-2, SM-3 and SM-4 were released. There were other similar works on copying foreign computer architectures and producing domestic analogues on this basis. In fact, we can say that, thanks to this approach, the life of foreign operating systems in the USSR and Russia was extended by at least 15-20 years, which is simply unprecedented. Copying IBM 360 and PDP machines, on the one hand, made it possible for Soviet programmers to master new advanced operating systems, programming languages, and program libraries; on the other hand, it threw our domestic computer technology even further back. One of the classics of computer science, Professor Edsger Dijkstra (E. Dijkstra) in 1977 at a scientific seminar in Leningrad at the USSR Academy of Sciences, not without irony, noted that “the Russian decision to copy the IBM-360 can be considered a serious victory for the United States in the Cold War.”

Of course, the history of domestic operating systems did not end there. For example, a domestic freely distributed operating system based on Linux is currently being developed. Among domestic programmers, many are very high-level specialists in operating systems.

Features of operating systems for general purpose computers (mainframes)

Batch mode. Let's start a more detailed examination of operating systems with the features of the OS for mainframes.

One of the main operating modes of the OS is batch mode– mode of skipping and simultaneous processing of user tasks(jobs) – programs entered from external media or from a terminal, taking into account their priorities and the resources they require. In this case, the OS tries to save as much time as possible by skipping a batch of jobs by forming them in an optimal way - for example, running a short job on the processor while a longer one performs I/O.

Already in the very first operating systems, another basic feature was implemented - automatic transfer of control from one task to another upon completion or termination of the previous task. To do this, the OS uses resident(permanently located in memory at fixed addresses) monitor– a program that alternately transfers control from task to task as they are completed. The monitor operation algorithm is as follows. When the computer starts, control is transferred to the monitor, which selects the next task and transfers control to it. At the end of the job, control returns to the monitor, etc.

Memory allocation in a single-tasking OS with batch processing of jobs

Rice. 2.1. Memory allocation in a simple batch processing system

It is very simple: the operating system occupies a permanently adjacent memory area (for example, at smaller addresses), the rest of the memory area is given to the user program. This operating system is single-tasking– processes, executes and stores in RAM only one user task (program) at a time. When the current job finishes, the OS loads the next job into the free memory area. Of course, this mode of operation is not convenient or efficient enough, since when a task is executed, interruptions for I/O and other pauses are possible, during which the OS could allow other upcoming tasks to be executed.

Batch OS with multiprogramming support

More advanced operating systems support the mode multiprogramming – simultaneous processing and placement in memory of several user tasks at once. The memory distribution in such a system is depicted in rice. 2.2.

Rice. 2.2. Memory allocation in a batch processing system with multiprogramming support

In such a system, the OS still occupies a contiguous memory area at smaller addresses, but following the OS area there are several adjacent memory areas occupied by user programs. Their number and size may vary.

Features of an OS with multiprogramming support are as follows.

UsageI/O programs supported by the operating system. In single-tasking mode (see the previous paragraph), such a need did not arise: each successive task had full control of all computer resources, including I/O devices. When the latter was executed, the processor was idle. In multiprogramming mode, there is already a need to implement special routines for input/output that could be called by the user or the operating system when necessary. Calling an I/O subroutine in one of the user programs means that the OS can provide the processor to another user task during its execution.

Memory management. Since there can be several tasks in memory, and the number and size of their areas can vary, the operating system faces the task of memory allocation for user jobs– allocating memory for a loaded user job and freeing it after each job completes. When solving this classical problem, a number of problems arise: storing lists of free and used memory, implementing an optimal algorithm for searching and allocating a free memory area, implementing memory release, fragmentation- fragmentation of free memory into small areas due to inaccurate matching of the sizes of free and required memory areas, etc. All these problems and generally accepted algorithms for solving them are described in detail in the classic monograph by D. Knuth and will be discussed in detail in the course.

CPU scheduling– implementation in the OS of algorithms for selecting the next task from a set of tasks loaded into memory and allocating a CPU time slice to the next selected task. Unlike single-tasking mode, in multiprogramming mode the operating system must therefore make a choice at certain points in time which of several tasks loaded into memory to run. Algorithms for planning and dispatching processes are discussed in detail later in this course.

External device management and I/O buffering. In single-task mode, a user program loaded into memory for printing could execute a special machine command, which would output the next line to the printing device, which did not cause problems and did not lead to any confusion, due to the monopoly of “ownership” of the computer for the next task. However, in multiprogram mode the situation is different. If you keep the same printing mode, then fragments belonging to different jobs may be output to the printing device, which is unacceptable. To group and separate the output information of various tasks from each other in a multiprogram OS, output buffering (spooling)– storing a buffer of its output for each task (in the form of a memory area or a file), accumulating the information output by the task in the buffer and outputting it completely to the device (printer) when the task is completed.

Time-sharing mode and features of OS with time-sharing mode

When terminals appeared as part of computer systems (first teletypes, then displays), it became necessary to implement them in the OS time sharing mode– the ability for users to simultaneously work with their tasks from terminals, enter tasks into the system, launch them (if there is a free processor), control tasks from the terminal, pause them, debug, visualize their results on the terminal. Let's look at the features of an OS with time sharing mode.

Storing jobs in memory or on disk. In a time-sharing OS, processor resources are distributed among multiple jobs residing in memory or on disk. A job is loaded into memory (as long as there is free memory) if it is a batch job and is selected for execution by the operating system, or if it is activated by the user from a terminal. The processor is allocated only to those jobs that are in memory.

Pumping and swapping (swapping) - Loading jobs from disk into memory and unloading them from memory to disk. In a time-sharing system, it is possible that some task controlled from the terminal is inactive (for example, it is performing I/O, or the system is waiting for a response from a user who is currently on a break from work). In this case, the OS may decide to temporarily swap out a job memory image from RAM to disk in order to free up memory for other jobs. When the job is reactivated, it is (if possible) reloaded into memory ( swapped in). This strategy is called pumping and pumping.

Supports interactive interaction between the user and the system. When the OS finishes executing a user command, it searches for the next control statement entered from the user keyboard.

Providing interactive access to user program data and code. In a time-sharing OS, the user can enter, run, edit, debug his program from the terminal, control his job (pause, then resume), view its intermediate results, memory and register status, view the final results on the terminal when the job completes .

It should be taken into account that in a time-sharing OS, both batch and interactive (dialog) jobs are processed, so the system must ensure their dispatching - switching at the right time from a dialog job to a batch one, or from one dialog (batch) job to another.

Time-sharing mode, along with batch mode, was the main one in operating systems of the 1960s - 1970s.

There were other interesting domestic developments of new computer architectures and their operating systems, first of all - original specialized computers for various applications and their operating systems (mainly, in their class and purpose, they were real-time systems).

However, in the early 1970s, a new stage, unexpected for most users and specialists, began in the development of domestic computer technology and its system software. The USSR government made an unprecedented decision to create, as the main one for a fairly long period of time (as originally planned, for 20-30 years, which turned out to be a utopia), a domestic series - Unified Computer System (US Computer System)- by copying American computers of the IBM 360 series. Accordingly, all basic system software, including the OS, was also adapted for use in the USSR (or was used in its original form - with messages in English, etc.). This decision caused big problems with financing for domestic developers computer architectures. This also caused great difficulties for users and software developers, since not everyone had a good command of the English language (nowadays the situation is much better in this last respect). For example, wrapper systems appeared that provided a Russian-language interface: with their help, all tasks for the EU were written using Russian-language mnemonics, then converted into the English-language Job Control Language ( job management language IBM 360), and all messages produced as results were translated into Russian. This was an interesting approach, but it didn't catch on. Documentation for the IBM 360 was gradually translated into Russian, and Russian-language reference and educational literature on ES computers appeared. Unfortunately, domestic analogues of IBM 360 equipment - machines of the ES computer series - turned out to be much less reliable than their prototypes. Over the course of several more years, another government decision was made - on a similar copying of the American minicomputers of the PDP 10 and PDP 11 series, under the general name "Minicomputer System" (SM COMPUTER). Computers of this series SM-1, SM-2, SM-3 and SM-4 were released. There were other similar works on copying foreign computer architectures and the production of domestic analogues on this basis. In fact, we can say that, thanks to this approach, the life of foreign operating systems in the USSR and Russia was extended by at least 15-20 years, which is simply unprecedented. Copying IBM 360 and PDP machines, on the one hand, made it possible for Soviet programmers to master new advanced operating systems, programming languages, program libraries, on the other hand, it threw our domestic computer technology even further back. One of the classics of computer science, Professor Edsger Dijkstra (E. Dijkstra) in 1977 at a scientific seminar in Leningrad at the USSR Academy of Sciences, not without irony, noted that “the Russian decision to copy



Did you like the article? Share it