System programs provide an environment where programs can be developed and
executed. In the simplest sense, system programs also provide a bridge between the
user interface and system calls. In reality, they are much more complex. For example, a
compiler is a complex system program.
System Programs Purpose
The system program serves as a part of the operating system. It traditionally lies
between the user interface and the system calls. The user view of the system is actually
defined by system programs and not system calls because that is what they interact
with and system programs are closer to the user interface.
An image that describes system programs in the operating system hierarchy is as
follows:
In the above image, system programs as well as application programs form a bridge between
the user interface and the system calls. So, from the user view the operating system observed is
actually the system programs and not the system calls.
Types of System Programs
System programs can be divided into seven parts. These are given as follows:
Status Information
The status information system programs provide required data on the current or past status of
the system. This may include the system date, system time, available memory in system, disk
space, logged in users etc.
Communications
These system programs are needed for system communications such as web browsers. Web
browsers allow systems to communicate and access information from the network as required.
File Manipulation
These system programs are used to manipulate system files. This can be done using various
commands like create, delete, copy, rename, print etc. These commands can create files, delete
files, copy the contents of one file into another, rename files, print them etc.
Program Loading and Execution
The system programs that deal with program loading and execution make sure that programs
can be loaded into memory and executed correctly. Loaders and Linkers are a prime example of
this type of system programs.
File Modification
System programs that are used for file modification basically change the data in the file or
modify it in some other way. Text editors are a big example of file modification system
programs.
Application Programs
Application programs can perform a wide range of services as per the needs of the users.
These include programs for database systems, word processors, plotting tools, spreadsheets,
games, scientific applications etc.
Programming Language SupportThese system programs provide additional support features
for different programming languages. Some examples of these are compilers, debuggers etc.
These compile a program and make sure it is error free respectively.