A system software is the backbone of a computer. On one hand, it regulates the operation of the computer hardware to perform the necessary user-oriented functions, and on the other, it also provides the basic framework to enable smooth running of the various application software. To put it simply, it is the basic platform upon which the computer runs its hardware and enables the user to derive full computing functionality of the various application software and get his work done.
Now, speaking of the types of system software, there are four basic categories under which the classification can be done. These are:-
- The Basic Input Output System (BIOS) or boot loader, which defines the firmware interface and loads the OS;
- The device firmware that controls the operation and performance of the computer hardware;
- The operating system (OS) which allows the user to interact with the hardware and get the desired outcome by carrying data between RAM and storage disks, displaying the desired result on the output device (monitor/LCD) and by acting as the platform to allow various other system and application software to run on the computing device;
- Various utility software that regulate the computer functionality by analyzing its performance, configuring and optimizing its processes and thereby, carrying out system maintenance functions.
Different Types of System Software Programs
A system software is a collection of software programs that enable the user to interact with the computing device without getting lost among the complexities of technical interactions between mechanical parts and machine-oriented codified programs. These programs are the building blocks that construct the entire system software architecture including the parts that regulate input/output functions, those that provide application software platforms and the various different types of operating system software component programs.
Also known as boot loaders, these programs are the first ones to run when a PC is started. A boot loader loads and runs the main operating system on the computer when it starts. This component is also known as BIOS on IBM compatible computing devices.
Database Management Systems
This is a set of programs that manage and regulate the user database right from creation to maintenance and extending to the use of such database. The DBMS is responsible for allowing different user applications to access a single database at the same time. This set of programs is what lies at the base of all computer network models that enable users to retrieve data from an integrated collection in a structured manner and does away with the user having to write complex programs in machine language to extract information from the data pool.
This program determines whether the desktop environment will be in the form of a character user interface (CUI as seen on DOS and older OS versions) or if it will be in the form of a graphical user interface (GUI as seen from latest OS, a norm made common by Windows). Also, besides determining the desktop environment, these programs also provide various options that allow the user to access other features of the OS from the desktop.
Virtual Machine Monitors
Also known as hypervisors, these programs allow multiple operating systems to run on a single host computer system simultaneously. These other computer systems that access the host are known as guests and the host is able to allow multiple operating systems to run simultaneously under the hardware virtualization process.
Commonly known as linkers, link editors collect multiple object files that the compiler programs, generate, and put them together as an executable program, which is capable of performing desired tasks as instructed by codified instructions.
A loader is an inbuilt component of the operating system that loads programs onto the computer memory and makes them ready for execution. This process involves loading the program text from the executable file onto the computer memory and preparing the executable file to run. This is one of the various initial stages involved in running any program on the operating system.
Shells are programs that make the interaction between the kernel of the OS and the user possible. It is the outer layer of a computing interface that makes information interchange between the OS and the user possible.
These programs offer the various maintenance and performance evaluation utility tools to configure and optimize the various processes that influence the performance of your computer. Disk cleaners, anti-virus software, data compression programs, disk drive partition utilities, storage, backup and archiving programs, etc., are some of the common examples of utility software.
I am sure this brief discussion has helped clarify a few things regarding the basic software/program architecture of a standard computing system. System software consists of those basic sets of programs that are essential for a computing device to run the most elementary function - establish interaction between the user and the device so as to make exchange of instructions and outputs possible. Also, various such components also make sure that the computer system is kept under such a condition that this elementary function can be carried out without any sort of disruption.