System Programs in Operating System
System Programming can be defined as the act of building Systems Software using System Programming Languages. According to Computer Hierarchy, one which comes at last is Hardware. Then it is Operating System, System Programs, and finally Application Programs. Program Development and Execution can be done conveniently in System Programs. Some of the System Programs are simply user interfaces, others are complex. It traditionally lies between the user interface and system calls.
In the context of an operating system, system programs are nothing but a special software which give us facility to manage and control the computer’s hardware and resources. As we have mentioned earlier these programs are more closely with the operating system so it executes the operation fast and helpful in performing essential opeartion which can’t be handled by application software .
Note : The user can only view up-to-the System Programs he can’t see System Calls.
Here are the examples of System Programs :
- File Management – A file is a collection of specific information stored in the memory of a computer system. File management is defined as the process of manipulating files in the computer system, its management includes the process of creating, modifying and deleting files.
- Command Line Interface(CLI’s) : CLIs is the essential tool for user . It provide user facility to write commands directly to the system for performing any operation . It is a text-based way to interact with operating system. CLIs can perform many tasks like file manipulation,system configuration and etc.
- Device drivers :Device drivers work as a simple translator for OS and devices . Basically it act as an intermediatry between the OS and devices and provide facility to both OS and devices to understand each other’s language so that they can work together efficiently without interrupt.
- Status Information – Information like date, time amount of available memory, or disk space is asked by some users. Others providing detailed performance, logging, and debugging information which is more complex. All this information is formatted and displayed on output devices or printed. Terminal or other output devices or files or a window of GUI is used for showing the output of programs.
- File Modification – For modifying the contents of files we use this. For Files stored on disks or other storage devices, we used different types of editors. For searching contents of files or perform transformations of files we use special commands.
- Programming-Language support – For common programming languages, we use Compilers, Assemblers, Debuggers, and interpreters which are already provided to users. It provides all support to users. We can run any programming language. All languages of importance are already provided.
- Program Loading and Execution – When the program is ready after Assembling and compilation, it must be loaded into memory for execution. A loader is part of an operating system that is responsible for loading programs and libraries. It is one of the essential stages for starting a program. Loaders, relocatable loaders, linkage editors, and Overlay loaders are provided by the system.
- Communications 𠄺l connections among processes, users, and computer systems are provided by programs. Users can send messages to another user on their screen, User can send e-mail, browsing on web pages, remote login, the transformation of files from one user to another.