A modern computer system has a collection of system programs.
System programs, also known as system utilities, provide a convenient environment for program development and execution.
Some of them are simply user interfaces to system calls; others are considerably more complex.
In the logical computer hierarchy, the lowest level is hardware. Next is the operating system, then the system programs, and finally the application programs.
1. Operating System 12
System Programs
Prof Neeraj Bhargava
Vaibhav Khanna
Department of Computer Science
School of Engineering and Systems Sciences
Maharshi Dayanand Saraswati University Ajmer
2. System Programs
• A modern computer system has a collection
of system programs.
• System programs, also known as system
utilities, provide a convenient environment for
program development and execution.
• Some of them are simply user interfaces to
system calls; others are considerably more
complex.
• In the logical computer hierarchy, the lowest
level is hardware. Next is the operating
system, then the system programs, and finally
the application programs.
3. System Programs
• Provide a convenient environment for program
development and execution
– Some of them are simply user interfaces to system calls;
others are considerably more complex
• File management - Create, delete, copy, rename,
print, dump, list, and generally manipulate files and
directories
• Status information
– Some ask the system for info - date, time, amount of
available memory, disk space, number of users
– Others provide detailed performance, logging, and
debugging information
– Typically, these programs format and print the output to
the terminal or other output devices
– Some systems implement a registry - used to store and
retrieve configuration information
4. System Programs (Cont.)
• File modification
– Text editors to create and modify files
– Special commands to search contents of files or
perform transformations of the text
• Programming-language support - Compilers,
assemblers, debuggers and interpreters sometimes
provided
• Program loading and execution- Absolute loaders,
relocatable loaders, linkage editors, and overlay-
loaders, debugging systems for higher-level and
machine language
• Communications - Provide the mechanism for
creating virtual connections among processes,
users, and computer systems
– Allow users to send messages to one another’s
screens, browse web pages, send electronic-mail
messages, log in remotely, transfer files from one
machine to another
5. System Programs (Cont.)
• Background Services
– Launch at boot time
• Some for system startup, then terminate
• Some from system boot to shutdown
– Provide facilities like disk checking, process
scheduling, error logging, printing
– Run in user context not kernel context
– Known as services, subsystems, daemons
• Application programs
– Don’t pertain to system
– Run by users
– Not typically considered part of OS
– Launched by command line, mouse click, finger
poke
6. System Program categories
• System Programs can be divided into
following categories:
• File management
• Status information
• File modification
• Programming-language support
• Program loading and execution
• Communications
7. File management.
• These programs create, delete, copy,
rename, print, dump, list, and
generally manipulate files and
directories.
8. Status information.
• Some programs simply ask the system
for the date, time, amount of available
memory or disk space, number of
users, or similar status information.
9. File modification.
• Several text editors may be available
to create and modify the content of
files stored on disk or other storage
devices. There may also be special
commands to search contents of files
or perform transformations of the text.
10. Programming-language support.
• Compilers, assemblers, debuggers, and
interpreters for common programming
languages (such as C, C++, Java, Visual Basic,
and PERL) are often provided to the user with
the operating system.
11. Program loading and execution.
• Once a program is assembled or
compiled, it must be loaded into
memory to be executed. The system
may provide absolute loaders,
relocatable loaders, linkage editors,
and overlay loaders. Debugging
systems for either higher-level
languages or machine language are
needed as well.
12. Communications.
• These programs provide the mechanism
for creating virtual connections among
processes, users, and computer systems.
• They allow users to send messages to
one another's screens, to browse Web
pages, to send electronic-mail messages,
to log in remotely, or to transfer files
from one machine to another.
13. System Utilities
• In addition to systems programs, most
operating systems are supplied with
programs that are useful in solving
common problems or performing common
operations.
• Such applications include browsers word
processors, text editor spreadsheets,
database systems, compilers, plotting and
statistical analysis packages, and games
14. Assignment
• Explain the concept of System Programs.
Briefly describe the System Program
categories.