· Performance on demand of programs of elementary (low-level) actions those enough which are the general for the majority of programs and often meet almost in all programs (input and output of data, start and a stop of other programs, allocation and release of additional memory, etc.).
· Loading of programs in random access memory and their performance.
· The standardized access to peripherals (the input-output device).
· Management of random access memory (distribution between processes, the organization of virtual memory).
· Management of access to data on non-volatile carriers (such as a hard disk, optical disks, etc.), organized in this or that file system.
· Providing the use rinter face.
· Network operations, support of a stack of network protocols.
• Parallel or pseudo-parallel performance of tasks (multitasks).
• Effective distribution of resources of the computing system between processes.
• Differentiation of access of various processes to resources.
• The organization of reliable calculations (impossibility of one computing process intentionally or by mistake to affect calculations in other process), is based on differentiation of access to resources.
• Interaction between processes: data exchange, mutual synchronization.
• Protection of the system, and also the user data and programs from actions of users (ill-intentioned or on ignorance) or appendices.
• The multiuser operating mode and differentiation of access rights (see authentification, authorization).
There are two groups of definitions of OS: «a set of the programs operating the equipment» and «a set of the programs operating other programs». Both of them have the exact technical sense which, however, becomes clear only by more detailed consideration of a question of that, why OS in general are necessary.
OS are necessary, if:
· The computing system is used for various tasks, and the programs solving these problems, need saving of data and an exchange of them;
· Various programs need performance of the same routine actions.;
• Between programs and users of system it is necessary to distribute powers that users could protect the data from unauthorized access, and the possible mistake in the program didn't cause total troubles;
• Possibility of imitation of «simultaneous» execution of several programs on one computer (even containing only one processor), carried out by means of the reception known as «time division» is necessary;
• At last, the operator should have possibility anyway to operate processes of implementation of separate programs.
Thus, modern universal OS can be characterized, first of all, as
• Using file systems (with the universal mechanism of access to data),
• Multiuser (with division of powers),
• Multitask (with time division).
The different task and distribution of powers demand a certain hierarchy of privileges of components of OS. As a part of OS distinguish three groups of components:
• A kernel, containing the scheduler; the drivers of devices which are directly operating the equipment; network subsystem, file system;