System software
System software is software designed to provide a platform for other software.[1] Examples of system software include operating systems like macOS, GNU/Linux , Android and Microsoft Windows, computational science software, game engines, industrial automation, and software as a service applications.[2]
In contrast to system software, software that allows users to do user-oriented tasks such as create text documents, play games, listen to music, or browse the web are collectively referred to as application software.[3]
In the early days of computing most application software was custom-written by computer users to fit their specific hardware and requirements. In contrast, 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.
The line where the distinction should be drawn is not always clear. Many operating systems bundle application software. Such software is not considered system software when it can be uninstalled usually without affecting the functioning of other software. Exceptions could be e.g. web browsers such as Internet Explorer where Microsoft argued in court that it was system software that could not be uninstalled. Later examples are 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), then they can well be argued to be (part of) the operating system and hence system software.
Another borderline example is cloud-based software. This software provides services to a software client (usually a web browser or a JavaScript application running in the web browser), not to the user directly, and is therefore systems software. It is also developed using system programming methodologies and systems programming languages. Yet from the perspective of functionality there is little difference between a word processing application and word processing web application.
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."[4] Either a command-line interface (CLI) or, since the 1980s a graphical user interface (GUI). Since this is the part of the operating system the user directly interacts with, it may be considered an application and therefore not system software.
Utility software or system support programs
For historical reasons, 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 so-called Utility software helps to analyze, configure, optimize and maintain the computer, such as virus protection. In some publications, the term system software also includes software development tools (like a compiler, linker or debugger).[5]
See also
- System programming
- System programming language
- IBM mainframe utility programs
System software of video game consoles
- From Microsoft:
- From Nintendo:
- Wii system software
- Wii U system software
- Nintendo DSi system software
- Nintendo 3DS system software
- Nintendo Switch system software
- From Sony:
References
- "What is software??? - Definition from WhatIs.com". Searchsoa.techtarget.com. Retrieved 2012-06-24.
- "Panel: Systems Programming in 2014 and Beyond". Microsoft. Retrieved 4 December 2015.
- Millner, W. W.; Montgomery-Smith, Ann (2000). Information and Communication technology for Intermediate Gnvq. p. 126.
- Daeryong, Kim. "Microcomputer Information Technology". Retrieved 2013-09-22.
- "What is systems software?". Webopedia.com. Retrieved 2012-06-24.
External links
Wikiversity has learning resources about Introduction to Computers/System software |
- Sammet, Jean (October 1971). "Brief Survey of Languages Used for Systems Implementation". ACM SIGPLAN Notices. 6 (9): 1–19. doi:10.1145/942596.807055.