Software is programs, rules, and documentation for an information processing system.
In fact, software is understood to mean
- Computer programs
- Procedures and functions that are included in the computer program
- software documentation required for the operation (use) of the programs
- a set of data processed by a computer program
The software is one of the types of computer system software. This system includes hardware, mathematical, linguistic, organizational and methodological support. Computer science and software engineering are academic fields of computer science.
Software classification
The method of execution of the program is divided into:
- Interpretable;
- compiled.
The degree of portability of the program is divided into:
- platform-dependent;
- cross-platform.
By the way of distribution and use of the program are divided into:
- nonfree (closed);
- open;
- free.
Programs are divided by their purpose into: nonfree (closed); open; free:
- system programs;
- applied;
- instrumental.
By types of programs they are divided into: system; applied; instrumental:
- Component: a program considered as a single whole that performs specified functions and is used independently or as part of a complex of other programs;
- complex: a program consisting of two or more components or complexes that perform interrelated actions, independently or as part of another complex.
System software
System software is a set of programs that allows you to manage the components of the entire computer system or parts of it. For example, to manage the hardware components of the computer: processor, RAM, graphics card, network equipment.
System software is a layer between hardware and computer programs. While application software solves specific practical problems of users, the system software ensures the operation of programs on the computer, giving them special service functions, completely abstracting from the hardware and firmware of the computer system, taking everything under its control. To the system
The software includes operating systems, utilities, database management systems, and linking software.
Firmware
Firmware is programs that are, so to speak, “sewn” into a computer device. For example, the basic I/O system (BIOS) is such a firmware in the operating system. In some very simple computing systems, there may be a lot of firmware that interacts with devices and programs on the operating system.
Utilities
Utilities are auxiliary computer programs as part of the general software. Utilities perform specialized typical tasks of working with the operating system and hardware, making it easier to set up and change many computer parameters with minimal user participation.
Software utilities can be included in the operating systems, included with specialized equipment or installed separately.
Application software
Applications are programs designed to perform specific user tasks and are designed to interact directly and closely with the user.
Tooling software
Tooling software designed for use in the design, development and maintenance of other programs. The toolkits can be divided into the following:
- Software development tool
- Development environment
- SDK
- Version control system
- Bug tracking system