Open source software is ... Basic system software. System software includes

Computers - our integral companions of life for the second decade. With their help, people have fun and work, chatting with friends around the world. Unfortunately, not all users realize the principles of working with a computer.

that's it
In particular, they rarely think about the importance of open source software. This is system software. What is meant by this concept and what is the importance of these programs? This article is devoted to the disclosure of this issue. In addition, we will consider the current classification of system software.

Even ordinary users need to know this, because when reading some informational articles they often cannot understand the essence of what is written there. This happens just because of ignorance of the general terminology. It should be noted that even specialized resources often sin with its distortion.

Introduction to the topic

Historically, all the programs we use are divided into two classes:

  • System applications (open source software is the basis of any operating system).
  • Application programs.

There is still a class of deeply specialized application software, but in everyday life only technicians and developers meet with it.

Application programs include office applications, programs for creating and editing images, as well as other tools that each of us deals with on a daily basis. It is easy to guess that this class is the most common and numerous.

system software includes
What is included in the concept of open source software? These are programs designed to manage DBMS (databases), created for user and computer interaction (DE - graphical shells), as well as specialized systems for collecting and processing information. The latter are used (including) on ​​board aircraft and military vehicles.

Drivers and more

Very often, system libraries and device drivers are distinguished, which in their purpose do not differ in anything from the ACT itself. This means that it does not make sense to consider them separately.

Thus, system software (System Software) can be called a set of programs and interfaces that serve to control and interact a computer with a person. Their main purpose is the translation of machine tools for display and analysis into textual or graphic forms more familiar to all of us. The composition of open source software (unlike application utilities) practically does not depend on the specific tasks solved by the user on the computer.

He can design at home on it, or he can sit on social networks all day. In each case, the computer software differs dramatically, while the composition of system applications does not undergo any changes.

What is system software for?

Now we’ll take a closer look at the purpose of this type of program. So, their main functions:

  • They create an environment in which application utilities (OSs) work.
  • They simplify and automate the development of new applications.
  • Maximize the accuracy and efficiency of the interaction between computers in local and global networks.
  • Diagnose (and repair) various program failures.
  • Responsible for performing auxiliary operations (copying, archiving, data transfer).

Accordingly, no computer can work without open source software in principle, since even the most primitive operating system is also a complex of special applications. Serving these programs can only be done by qualified users, and only the best programmers can do development, who in some cases should know the language of machine programming (there are only a few such specialists in the world). In a word, you definitely will not succeed in creating your OS in proud solitude.

computer software

Basic knowledge and skills

Despite the complexity of such programs, even ordinary users should be aware of the essence of their work, since the effectiveness of their interaction with a computer depends on it. For example, without knowing the principles of operation of programs that control the recording and reading of information from the surface of a hard disk, you will not be able to format the hard drive based on the type of data that you intend to store there.

As we have already said, their application is systemic in nature, which does not change almost never. Therefore, the development of open source software has particularly stringent requirements.

System Software Classification

Traditionally, the following types of programs are distinguished in this class:

  • Control components.
  • Components of analysis, processing and transmission of information.

As it is easy to understand, control programs synchronize the main processes, allowing all computer devices to function correctly. Their main functions are as follows:

  • Direct control of all the computing power of the system.
  • Work with data necessary for its functioning.

Most often, these utilities are constantly located in the computer's RAM. Relate to resident funds that make up the core of the entire OS. If the control programs that are necessary to carry out some important operation are loaded into memory immediately before the work, then they are called transitive. In any case, today these utilities are delivered exclusively as part of the operating system itself, and as a library of drivers.

system software
In contrast, information processing programs are launched separately. Most often they are supplied as part of installation packages of application applications. By the way, the installer (Windows installer, for example) also applies to system software.

Another classification option

Very often, experts say that computer software should be divided into basic and service. The basic ones are those programs that ensure the functioning of the computer itself. Accordingly, system software includes:

  • Operating systems and drivers themselves.
  • Graphical shells (DE) and other environments for executing programs.
  • File managers.

OS as a complex of open source software

We continue to consider system software. Operating systems are an integral part of it.

In general, the OS itself can be represented as a set of system programs that are responsible for receiving, processing, using information and managing all system devices. On the one hand, the OS acts as a “strip” between the user and his computer, on the other hand, he is responsible for the most efficient use of both the software and hardware of the latter.

In the literature, the OS is also called basic system software. Why such terminology is adopted, we will consider below.

File management - the most important function of open source software

File managers are designed for more convenient access to physical data on disk, for displaying them in a graphical representation. Thus, they allow you to use only the logical name of the file, and not its immediate coordinates on the hard drive.

update software
Important! File systems and file managers do not exist on their own, as they were developed for specific operating systems and for solving certain problems. Thus, a number of specialists agree that these applications are also related to system software.

But there are several facts that determine the attitude to such programs from the point of view of independent information management tools:

  • Many operating systems (and for a long time and almost all of them) can simultaneously (!) Work with almost all file systems.
  • Some primitive (but still OS) systems can do without such applications at all.

What is a service open source software

This category includes programs that significantly expand the capabilities of the open source software, making it more convenient for the end user. They can also be classified, and there will be many points:

  • Drivers for devices that are not included in the OS at the stage of its creation.
  • Programs for computer self-diagnosis, which save the user from having to find the cause of errors and failures.
  • Oddly enough, but antivirus software also fits the definition of "service". Note that this was not always the case.
  • Applications for servicing hard drives allow you to copy and archive information, permanently delete or restore data, and optimize the process of writing files to disk.
  • Built-in archiving programs that significantly reduce the space occupied by information.
  • Utilities for managing network resources and the network itself.

Often this class of programs is called system utilities. Immediately, we note that antivirus programs do not call it that. Today, tools from Symantec, Touch Stone, as well as other large companies that supply software are widely known. The types of software for some cases we have examined, but some issues remain unsolved.

Open source software for working with network protocols

As the name implies, these system applications are responsible for accessing the Web. Note that all of the following applies more to those systems that are designed to perform some specific actions (file server, mail server). To update software of this order, it is often necessary to develop new versions of operating systems.

composition of system software
The key to understanding the operation of the whole algorithm is a special server program that receives requests from the network and sends the answers to them. Utilities that are designed to send requests are called clients. Note that the request is sent in the form of a standardized format, which is often called the protocol. The response is also sent in the form of a file of a certain format, which contains all the necessary information (package).

By the way, IE and Firefox, Opera and Google Chrome are also clients whose work is based on the principle just stated.

Programming and runtime environments

These programs belong to specific tools, but a general idea of ​​them is also necessary, since without this it is impossible to understand the operating principles of the OS and the computer as a whole. They are needed not only to create, but also to debug and run applications.

Experts say that for this case, the system software includes:

  • Tools for typing and editing text.
  • Translator or interpreter (for simple languages).
  • The linker, also called the linker.
  • Debuggers
  • Complete application libraries for running the program.

Note that an application is being created (with rare exceptions) for a specific OS. But the system tools that are designed for their development can work in a completely different system (this requires separate system libraries). This is very important, since it does not limit the developers themselves in choosing their preferred system for work.

What are translators

Since this definition is far from clear to everyone, we will consider this issue in more detail.

This most important concept refers to a program that translates a programming language that people understand into machine language. Of course, machine language can be understood by man, but there are only a few such specialists all over the world. The program itself, written in some programming language, is called the source module. An object module is called source information compiled for further use by a machine. The structure of this module includes the text of the program, already translated into machine language, as well as other information necessary for its correct operation and debugging.

All applications of this class are divided into compilers and interpreters. The former immediately translate the source module into machine text. The interpreter not only carries out the transfer, but also immediately tries to test the program. Based on this, he has one huge flaw: the slow execution of the program. That is why such tools are used only in the environment of the simplest and most primitive languages ​​that are used to teach the basics of programming.

The linker, or linker, handles object modules into bootable elements. Each of them can already be moved to RAM and executed.

Debugger and other components

The debugger performs the most important function, as it allows you to control the process of program execution, simultaneously searching for errors in it. Its basic set of functions includes:

  • Possibility of step-by-step execution of a loaded object module, with constant output of results.
  • Stop at the points set by the developer.
  • If there is such a need, the debugger can completely stop the program at a predetermined point.
  • Displays all used variables.

conclusions

programs
So to summarize. It turns out that the following components are included in the system software:

  • Directly OS (operating systems).
  • Graphical Shells (DE) and runtimes.
  • File managers and other file management tools.
  • Tools for developers.
  • All network utilities.
  • Some application programs.

So we reviewed the composition of the system software.

Source: https://habr.com/ru/post/K13025/


All Articles