System software (systems software) is computer
software designed to provide services to other software. Examples of
system software include operating systems,computational
science software, game engines, industrial automation, and software as a
service applications.
In contrast to system software, software that allows users to do things
like create text documents, play games, listen to music, or web
browsers to surf the web are called application software.
The line where the distinction should be drawn isn't always clear. All
operating systems bundle application software. Such software is not
considered system software when it can be uninstalled 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 browser can not be installed in their place), then they can well be argued to be (part of) the operating system and then 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
The operating system (prominent examples being Microsoft
Windows, Mac OS X and Linux), 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). Since this is the part of the
operating system the user directly interacts with, it may be considered
an application and therefore not a system software.
Utility software
For historical reasons, some organizations use the term systems programmer to describe a job function which would be 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).
No comments:
Post a Comment