I was encouraged to write this material
publication “The History of Programming Languages: how Fortran allowed users to communicate with the computer on“ you ”.
And then I remembered that almost 30 years ago I led the column “ENGINEERING AND COMPUTER” in the magazine “Technology and Science”.

The first publication in this section was an article in the magazine’s issue No. 7 entitled “Operating Systems: Why They Are to an Engineer.” And this article says that it is the operating systems that allow you to switch to “you” from a computer. But one does not contradict the other. After reading the article, I realized that for 30 years it has not lost its relevance, but it allows me to look at what happened 30 years ago in our country in the field of informatization, when there wasn’t
Linux yet, but there was UNIX / UNIX and already MS / DOS, and whether hopes were met. It seems to me that the country is again attacking the rake: then it was an EU computer from IBM, and today MS Windows from Microsoft. What else is remarkable? This series was illustrated by my colleague Blazhnov V.Yu. Below is the material of this article without cuts, along with illustrations.
Everything that can be programmed must be done by the machine; people should do only what they cannot yet write programs for.G.R. Gromov, (National Information Resources: Problems of Industrial Operation. M., Science, 1985, p. 166).
')
TODAY, we open the heading "Engineer and Computer". The first introductory article is about the UNIX system. The reader may have questions: why are the operating systems, not the device of modern computers, why are the operating devices, and not programming languages? And finally, why the UNIX system, and not any other! We will try to answer.
Since 1949, when the first electronic computer with a memorized program was launched, computers have made a truly tremendous leap to this day.
At the first computer, as well as on the first plane of the Wright brothers, people looked like a miracle. And today they are talking about the advent of the “computer era”, there are serious warnings that if a specialist does not study computer literacy, he will be behind the times and will not receive promotion. It becomes customary that we see on the engineer’s desktop either a display connected to a mainframe computer or a personal computer (PC), which serve as a typewriter, or a super calculator, or a reference system, or a drawing board, or an experimental installation management tool. In such an industrialized country as the United States, one terminal today accounts for 10 employees, for IBM computer users, this number is 6, and in the IBM firm itself, there are on average two employees in one terminal.
With the advent of the PC market, computer saturation becomes even higher. In leading US companies, one scientific and technical employee already has 1.5 displays or PCs. Company executives consider the display on the engineer’s desk a necessary piece of office equipment as necessary as a telephone.
In our country, these figures are not so impressive, but the preparation for the stage of large-scale introduction of computers in all spheres of life should be done now: in schools, higher and secondary specialized educational institutions, in production, in advanced training courses. During the years of the twelfth five-year plan, the output of computer equipment in our country will increase 2.3 times, only in universities there will be created about 130 thousand jobs equipped with PCs and displays.
What kind of knowledge about computing should a modern engineer have? Here it is appropriate to compare a computer with a car. Millions of people buy cars, and most of them sometimes have the most general information about the car, only those that are needed for the purchase: maximum speed, engine power, cabin capacity, fuel consumption, etc.
The same is true of computers. An organization that purchases a computer or a person who purchases a personal computer is primarily interested in the speed of the CPU, the amount of RAM and external memory, the number of connected displays, etc. An engineer working in a design bureau or in production doesn’t care much about how a computer is arranged, which chips are included in it, how a central processor or I / O channels work. For him, the main thing is that he was able to solve his problems on it.
Let us continue the analogy between a car and a computer. In order for a person to be able to drive a car, he must learn the rules of driving and the rules of the road. Without knowing the rules of driving, you will not move from a place, and driving without knowledge and observance of traffic regulations can lead to an accident.
Similar rules should be known to any person starting with a computer. A computer is a complex technical system consisting of a number of functional elements - logical, storage, indication, and others. Computers can not communicate and exchange information with the display and other external devices, enter and execute the necessary programs.
Computing machines, as well as the car, in addition to the “motor” (central processor), require “steering”, which would ensure the coordinated functioning of their units and make it possible for them to be used by humans. Such a "steering" for computers - operating systems (OS) - one of the most outstanding achievements in the field of computer technology, which made it possible to take a fresh look at the possibilities and scope of application of computers. Operating systems today are inseparable from computers, they are its natural extension, and sometimes it is difficult to determine where the machine ends and where the operating system begins.
Operating systems are developed by system programmers and are an organized set of programs that implement complex algorithms for controlling the operation of computers. These programs, in fact, hide from the user all the complexity of computers. To work with the machine, it is enough to know the capabilities of the OS provided to the user in the form of a certain language of interaction with it. Immediately make a reservation that the languages ​​of interaction with the OS and programming languages ​​have nothing in common. The language of interaction with the operating system is just a set of commands.
The user, typing them on the display keyboard, can force the machine to do what it needs to: run some program, prepare and print the document, exchange correspondence with other users, view information in the data bank, perform arithmetic calculations and, finally, enter, broadcast and debug a program written in one of the high-level programming languages ​​included in the OS.
The list of these commands of the operating system is the “driving rules” of the computer, and the rules and features of their application are the “rules of the road” in the system. Without knowledge of the former, you will not be able to work with a computer, and failure to comply with the latter can lead to a “accident”, for example, the destruction of a program you really need. Immediately make a reservation that the purpose of our seminar is not to study how the OS is arranged; this is the prerogative of the system programmers. In a series of subsequent publications, we will talk about the possibilities the operating system provides the user and how to use them in practice.
But why is the operating system, and not just high-level programming languages? There are several reasons. Today, almost 40 years after the start of computer operation, when in all universities, and now in schools, they give the fundamentals of computer science and computing technology and first of all they teach programming in at least one of the high-level languages, when the country has a wide network of courses on teaching the art of programming, when mass circulation and various publishing houses produce programming literature, when almost every published magazine has a section in which to teach programming, when a national program to achieve universal computer literacy, it is difficult to imagine an engineer who does not know at least one programming language high level or have had relevant literature at home (at least in children or grandchildren).
On the other hand, an engineer who has mastered programming, but does not know the operating system, is like a man who got lost on a dark night just because, taking a flashlight with him, he forgot to figure out how to turn it on. Without knowing the language of interaction with the OS, the engineer, even writing a program, will not imagine what to do with it: how to enter it into the memory of the machine, in what form, how to ensure its safety, how to execute it, etc.
And the third is perhaps the most important reason. Modern operating systems are very different from those of card-oriented systems that worked on computers 15, 10 and even 5 years ago. Modern operating systems are first of all interactive systems designed for user interaction with the machine through the display. Modern systems include various general-purpose software (so-called utilities) that can be used without any programming at all. Having mastered them and realizing all the advantages of using a computer, a person switches to programming much easier.

Such OS tools include text editors, with the help of which it is easy and simple to prepare, correct and reproduce various documents; email, through which you can share information with other users; the so-called file systems and database management systems, on the basis of which you can build information retrieval systems, and a number of others. Even without programming, you can use ready-made programs in your work. But even here, we can’t do without OS knowledge: how to enter a program into the memory of a machine, how to execute it, where and how to prepare basic data for it, where and how to save the results of the account, all these are “controls” of a modern computer.
And finally, why the UNIX system? Until recently, for each type of computer, its own operating systems were developed: RT OS for SM computers, DOS EC and EU EC for EC computers, MS / DOS and / M for PC, having different languages ​​of interaction, requests for system functions, directives input-output, that is, different computers had their own "control levers". If we consider that the change of generations of computers occurs every 5-7 years, that the engineer has to ask for help from both the large and personal computers, that the engineer can accumulate a large library of programs (for example, simulation modeling) that he would like to use on any computer and save when switching to a new machine, it is clear what horror it covers at the sight of such a variety of machines, and most importantly - operating systems. Often, even if several operating systems are designed for machines of the same type, they have significant differences in the language of user interaction with the system.
All this led (and even now often leads) to the fact that even a professional programmer, when switching from one system to another, requires serious retraining. An even greater overhead is associated with the transfer of user programs, without which the normal work of an engineer is no longer possible, into a new OS.
Sooner or later, standardization should relate to operating systems (as was already the case with a programming language and computer networks), and first of all, the language of interaction with the system.

A mobile operating system had to appear, functioning on all types of computers — large and personal — and having a unified interaction language. Such an OS has now become the UNIX system, which, from the beginning of the 1980s, is confidently reaching the level of the “de facto standard” of the global computer industry as a whole by the number of applications. In Japan, for example, the UNIX system is considered as the main contender as the standard operating system for the fifth generation computer.
Compatible with the UNIX system, operating systems are created or are being created in our country. These are the instrumental mobile operating system INMOS for SM computers, the mobile operating system MOS for EC computers, the interactive mobile unified operating system DEMOS for computers CM, EC computers and PCs. In the twelfth five-year plan, UNIX-type mobile operating systems will be implemented for all types and classes of domestic computers.
Thus, the prerequisites have been created so that the user, having mastered the unified “steering”, or rather, the language of interaction with the UNIX system, can successfully work on different computers, smoothly moving from one machine to another.
However, explaining the phenomenon of the UNIX system only by the need for standardization would not be entirely correct. As a rule, operating systems are created by large teams of professional programmers who are far from the problems of ordinary computer users, so they are primarily concerned with how to “squeeze” the maximum capacity out of the computer, and lastly, do the user need these capabilities and how does he will apply.
A successful exception to this rule was the UNIX operating system, which from the very beginning, unlike other systems, was designed to meet the needs of the average user. A significant role in the simplicity and visibility of the UNIX system was played by the fact that two people actually participated in its development. Taking into account the accumulated experience, as well as a number of new and fruitful ideas, allowed the authors to create a fundamentally new operating system that fully meets the principle of “everything ingenious is simple.” It became the antithesis of the OS / 360 operating system (read EU OS), which for many system programmers, not to mention ordinary users, remained a “thing in itself” because of eclecticism and bulkiness. Despite the fact that UNIX OS, like any other OS, is a complex software system, it is often called the “system for housewives” - so simple is the language of interaction with it.
BASIC mode of operation of the UNIX system - dialogue. Unlike traditional systems (such as the European Union's OS), you will not find a task management language in the UNIX system, which created additional difficulties for an engineer on his thorny path to mastering computers.
To use UNIX OS in your daily work, you do not need to be proficient in any programming language, the system has a wide range of general-purpose programs (utilities) that can be of great help to you. Having mastered the "steering" of the system, you will get a good helper in her person who will give you the opportunity to develop, edit and reproduce various documents; will become your electronic secretary, remembering nothing and reminding you about current affairs in time; will help in carrying out engineering calculations and creating a data bank. The available UNIX OS tools will allow you to exchange correspondence with other users and hold newsgroups. In order to start working with the system, it is enough to master 5-10 simple commands.
However, in the era of the technological revolution, an engineer cannot do without programming. Those programs that are used today in the design of new cars, subway lines, residential neighborhoods, control the technological process, tomorrow may be hopelessly outdated: more accurate calculation methods have appeared, new materials have changed, urban design requirements or conditions for laying the metro have changed, scientists have created a new technology. What should an engineer do under these conditions? Run to the programmer, who has his own affairs, for a long time to explain to him the essence of the problem and eventually get a program that does not do what the engineer needs? And all this despite the fact that on the engineer’s table there is a “clever” PC that will help him write and debug the program.
TODAY is the time when programming was the prerogative of professionals, when an engineer separated the back of a programmer from a computer. And here you can draw an analogy with the car. Imagine a situation where every car owner hires a professional driver. You say: "Absurd!".

But not absurd, having a computer at hand, knowing clearly the formulation of the problem, to address a person far from your perspective? The UNIX system will also provide an invaluable service to the engineer. It includes programming systems in the C, Fortran, and Pascal languages, and has simple and convenient means of preparing and debugging programs.
We hope that the UNIX OS study course will help you to deepen your knowledge of computer technology and successfully apply them in practice. As part of the course, we will focus on the domestic mobile operating system MO S EU.
In the series of publications it is planned to consider issues related to the organization of user interaction with the system, preparation of documents, creation of information and reference systems, e-mail, programming in Fortran, Pascal and C languages. It is also planned to consider the issue of transferring previously developed programs in FORTRAN and Pascal languages ​​for EU OS into the UNIX system for their further use.
. , ,
That's all. 30 !
PS .