System software is software designed to provide a platform for other software. Examples of system software include operating systems (OS) (like macOS, Linux, Android, and Microsoft Windows).[1]
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. Examples are: computational science software, game engines, search engines, industrial automation, and software as a service applications.[2]
In the late 1940s, 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 of the grayer 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 ChromeOS where the browser functions as the only user interface and the only way to run programs (and other web browser their place).
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 application programming interface for applications programs (including some system software) and an interface to device drivers.
Device drivers and firmware, including computer BIOS or UEFI, provide basic functionality to operate and control the hardware connected to or built into the computer.
A user interface interact with a computer.[3] It can either be 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.
Some organizations use the term systems programmer to describe a job function that 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).[4]
System software of video game consoles