Programs are ordered sequences of commands. The ultimate goal of any program is to manage hardware. Even if at first glance the program does not interact with the hardware, does not require any data input from the input device and does not output data to the output devices, its work is still based on the control of computer hardware devices.
Software and hardware in the computer work in unbreakable communication and continuous interaction. Despite the fact that we consider these two categories separately, we must not forget that there is a dialectical connection between them and that their separate consideration is at least conditional.
The composition of the software of a computer system is called a software configuration. There is a relationship between programs, as well as between physical nodes and blocks – many programs work relying on other programs of a lower level, i.e. we can speak about an inter-program interface.
The possibility of existence of such an interface is also based on the existence of technical conditions and protocols of interaction, and in practice it is provided by distribution of software on several interacting levels.
Software levels are a pyramidal structure. Each following level leans on the software of previous levels. Such division is convenient for all stages of work with computing system, starting from installation of programs to practical operation and maintenance.
Note that each level above increases the functionality of the entire system. For example, a computer system with basic level software is not capable of performing most of the functions, but allows you to install the system software.
Basic level. The lowest software level is the basic software. It is responsible for interacting with the basic hardware.
As a rule, the basic software is directly included in the basic hardware and is stored in special chips, called permanent storage devices (ROM – Read Only Memory. ROM). Programs and data are written (“flashed”) into the ROM chips at the production stage and cannot be changed during operation.
In those cases when change of base software during operation is technically expedient, instead of microcircuits of ROM apply reprogrammable constant memory devices (ROM -Erasable and Programmable Read Only Memory, EPROM).
In this case change of the maintenance of ROM can be carried out both directly in structure of computer system (such technology is called flash-technology), and out of it, on the special devices named programmers.
System level of software. The system level is transitional. Programs working at this level provide interaction of other programs of a computer system with programs of the basic level and directly with hardware, i.e. perform “intermediary” functions.
Operating parameters of the whole computer system depend on the software of this level in many respects. So, for example, when connecting new equipment to the computer system at the system level, a program should be installed that provides for other programs to interact with this equipment.
Specific programs that are responsible for interaction with specific devices are called device drivers – they are part of the system-level software.
Another class of system-level programs is responsible for user interaction. It is thanks to these programs that he gets an opportunity to enter data into the computer system, manage its work and get the result in a convenient form.
These software means are called the means of providing the user interface. Convenience of work with the computer and productivity of work on a workplace directly depends on them.
A set of system-level software forms the core of the computer’s operating system. We will consider the full concept of the operating system later, and here we will only note that if the computer is equipped with system-level software, it is already prepared for the installation of programs of higher levels, the interaction of software with the equipment and.
Most importantly, to the interaction with the user. That is, the presence of an operating system kernel is a necessary condition for the possibility of practical work of a person with a computer system.
Service level. The software of this level interacts both with programs of the base level, and with programs of the system level. The main purpose of service programs (they are also called utilities) is to automate the work on checking, setting up and setting up a computer system.
In many cases they are used to extend or improve the functions of system programs. Some utility programs (as a rule, they are maintenance programs) are initially included in the operating system, but most of the utility programs are external to the operating system and serve to expand its functions.
There are two alternative ways of developing and operating the service programmes: integration with the operating system and autonomous functioning. In the first case, service programs can change the consumer properties of system programs, making them more convenient for practical work.
In the second case they are weakly connected with the system software, but give to the user more possibilities for personal adjustment of their interaction with the hardware and software.
Application level. The software of an applied level represents a complex of applied programs by means of which concrete tasks are carried out on the given workplace.
The range of these tasks is extremely wide: from production to creative and entertaining and training. The huge functional range of possible applications of computer facilities is determined by the presence of application programs for different types of activities.
Since there is a direct interrelation between applied software and system software (the first one is based on the second one), it can be stated that the universality of a computer system, availability of applied software and the breadth of computer’s functionality directly depend on the type of the operating system used, on what system means contain its core, on how it ensures the interaction of the triune complex: man-program-equipment.
Classification of application software
Text editors. The main functions of this class of application programs are to enter and edit text data. Additional functions are to automate the input and editing processes.
Text editors call up and use system software for input, output and storage operations. However, it is typical for all other types of application programs, and in the future we will not specifically point to this fact.
From this class of applied programs usually begin acquaintance with the software and on it develop primary skills of interaction with computer system.
Text processors. The main difference between word processors and word processors is that they allow you not only to enter and edit text, but also to format it, that is, to design.
Accordingly, to the basic means of word processors belong means of maintenance of interaction of the text, schedules, tables and other objects making the final document, and to additional – means of automation of process of formatting.
The modern style of work with documents means two alternative approaches – work with paper documents and work with electronic documents (on paperless technology).
Therefore, speaking about formatting of documents by means of word-processors, it is necessary to mean two essentially different directions – formatting of the documents intended for the press and formatting of the electronic documents intended for display on the screen.
Techniques and methods in these cases essentially differ. Accordingly, word processors differ also, though many of them successfully combine both approaches.
Graphic editors. This is an extensive class of programs designed to create and (or) process graphic images. This class distinguishes between the following categories: raster editors, vector editors and software for creating and processing three-dimensional graphics (3D editors).