System Programs


System programs provide a convenient environment for program development and execution.

Most users’ view of the operation system is defined by system programs, not the actual system calls

They can be divided into:
1. File manipulation
2. Status information
3. File modification
4. Programming language support
5. Program loading and execution
6. Communications
7. Application programs



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

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