System software
System software is software designed to provide a platform for other software. Examples of system software include operating systems (OS) like macOS, GNU/Linux, Android and Microsoft Windows, computational science software, game engines, search engines, industrial automation, and software as a service applications. 

Application software is software that allows users to do user-oriented tasks such as create text documents, play or develop games, create presentations, listen to music, draw pictures or browse the web.

In the late 1940s, the early days of computing, most application software was custom-written by computer users to fit their specific hardware and requirements. System software was usually supplied by the manufacturer of the computer hardware and was intended to be used by most or all users of that system.

Many operating systems come pre-packaged with basic application software. Such software is not considered system software when it can be uninstalled without affecting the functioning of other software. Examples of such software are games and simple editing tools supplied with Microsoft Windows, or software development toolchains supplied with many Linux distributions.

Some gray areas between system and application software are web browsers integrated deeply into the operating system such as Internet Explorer in some versions of Microsoft Windows, or Chrome OS and Firefox OS where the browser functions as the only user interface and the only way to run programs (and other web browsers can not be installed in their place).

Cloud-based software is another example of systems software, providing services to a software client (usually a web browser or a JavaScript application running in the web browser), not to the user directly. It is developed using system programming methodologies and systems programming languages.

Operating systems or system control  program
The operating system (prominent examples being Microsoft Windows, macOS, Linux, and z/OS), allows the parts of a computer to work together by performing tasks like transferring data between memory and disks or rendering output onto a display device. It provides a platform (hardware abstraction layer) to run high-level system software and application software.

A kernel is the core part of the operating system that defines an API for applications programs (including some system software) and an interface to device drivers.

Device drivers, including also computer BIOS and device firmware, provide basic functionality to operate and control the hardware connected to or built into the computer.

A user interface "allows users to interact with a computer." Either a command-line interface (CLI) or, since the 1980s a graphical user interface (GUI). This is the part of the operating system the user directly interacts with, it is considered an application and not system software.

Utility software or system support programs 

Some organizations use the term systems programmer to describe a job function which is more accurately termed systems administrator. Software tools these employees use are then called system software. This utility software helps to analyze, configure, optimize and maintain the computer, such as virus protection. The term system software can also include software development tools (like a compiler, linker or debugger).

See also
 System programming
 System programming language
 IBM mainframe utility programs

System software of video game consoles

From Microsoft:
 Xbox 360 system software
 Xbox One system software

From Nintendo:
 Wii system software
 Wii U system software
 Nintendo DSi system software
 Nintendo 3DS system software
Nintendo Switch system software

From Sony:
 PlayStation 3 system software
 PlayStation 4 system software
 PlayStation Portable system software
 PlayStation Vita system software

References

External links