Definition: System Software can be designed as the software in such a way so that it can control and work with computer hardware. It acts as an interface between the device and the end user.
It also provides the platform for the running of other software.
Example: operating systems, antivirus software etc.
We’ll be covering the following topics in this tutorial:
Features of the system software
• It is difficult to design.
• It is written in the low-level language, or you can say that it is written in machine language which is only understood by the machine.
• It is difficult to manipulate.
• System software is very close to the system.
• The speed of the system software is fast.
Components of system software
System software consist of the following elements:
• Device Driver: it is a computer program. Computer hardware can interact with the higher level computer programs with the help of device drivers. These device drivers act as a translator between the application of the user and the hardware device. Due to this, it simplifies programming.
• Operating System: The operating system is the system which manages the hardware of the computer. The operating system consists of program and data. An operating system also provides us with services so that we can execute the application software.
Example: Linux, Unix, Microsoft Windows etc.
• Server: it is a program which works like a socket listener in a computer networking system. A server computer is a series of computers which link other computers with itself. The server can provide some essential services to both private users and public users via the internet across a network.
• Utility Software: it performs small tasks which are used to manage computer hardware and application software.
Example: system utilities, virus scanners etc..
• Windowing System: it supports the implementation of window managers. Windowing system provides essential support to graphics hardware and pointing devices like keyboard and mice. The windowing system is a component of the graphical user interface.
Types of system software
There are five types of system software which are as follows:
The operating system is the central part of the computer system, or you can say that it is the lifeline of the computer. We will install the OS on a computer so that it can function smoothly. Suppose all the devices like keyboard, mouse, CPU, monitor are connected and now you think as we switch on the power supply, the computer will start working. No, this is not possible until we install the operating system on it.
It is necessary to install as it performs the following functions:
• It will allocate resources to each task.
• It will keep the all hardware parts of the system in a ready state so that it can follow the instructions given by the user.
• It enables the user to access and use application software.
• It schedules the multiple tasks by priority.
• It controls the improper use of the computer.
• It sets the coordination between the different devices.
• It prevents the error during the use of the software.
• It enables the computer to access network.
• It manages different computer resources such as software, hardware etc..
• It controls the input and output devices of the computer.
• It detects, installs and troubleshoot devices.
Example: The earlier OS was MS-DOS which make use of Command Line Interface(CLI). After then, windows was developed by Microsoft which make use of Graphical User Interface(GUI). So, they keep on evolving.
Programming Language Translators
Programming Language Translators are those who convert the high-level language and middle-level language into machine language as machine understands only its language. The high-level language is the language through which the user interacts with the computer. Java, C, C++, PHP, Python all are the examples of high-level language. Machine language is the code which is understood by the processor only. The average human being cannot be able to understand it.
Some famous translators are Compiler, Interpreter and assembler. They are designed by the manufacturers of the computer. Translators can completely translate the code into machine code at once, or they can do it line by line.
Translators also help in various tasks like:
• When the code rules are not followed, they provide the diagnostic reports.
• It will make a list of both source code and program details.
• Translators identify syntax errors when the system is translated. So, we can make the required changes.
• It allocates the storage of the data.
Driver software is a type of system software so that we can use our devices smoothly without any troubleshooting problem. This type of software enables the components to perform their tasks as directed by the OS.
There are some examples of devices which requires drivers:
• Touch pad
• Display card
• Network card
• Function keys
Some tools are there, whose drivers are already installed on the computer by default for ex-mouse, keyboard and touchpad.
If the device is new for the operating system like the printer, then we have to install the drivers so that it get familiar with the OS. We can install them from the websites of the manufacturers or some other alternative source like from the internet.
It is the operational software which is already embedded in flash, ROM, EPROM, EEPROM memory chips so that the OS can identify them quickly. The task of the firmware is to directly manage and control all the activities of any single hardware.
Traditionally, firmware was installed on the non-volatile chips. We can upgrade them by changing with the new programmed chips.
However, nowadays, firmware was installed on the flash chips. So, now we can upgrade them without swapping the chips.
There are two types of chips: BIOS(Basic Input/Output System) chip and UEFI (Unified Extended Firmware Interface) chip. The manufacturer installs the firmware on the motherboard, and it can be accessed through these two types of chips. It is the configuration interface. When the computer is powered on and is going through POST (Power On Self Test), then it is first loaded.
The motherboard firmware wakes all the hardware when it starts. It ensures that all the components of a computer are operational. If all the ingredients are properly working, then it will run the boot-loader, which will further load the operating system. If there is a fault in RAM of the system, then the BIOS will not allow the computer to boot.
The main difference between the firmware and the driver is that firmware will reside within the devices whereas the drivers will install in the operating system.
Utility software is a kind of system software which acts as an interface between system software and application software. These are those programs which are specifically designed for some particular purpose like maintenance of the computer or diagnose any error in the computer.
Generally, these are third-party tools which come along with the operating system.
The features of the utility software are as follows:
• To protect us against external threats, the inclusion of a firewall is there.
Example: windows firewall
• It can scan hardware diagnostic services like performance monitor, hard disk sentinel.
• It can also compress files so that the disk space can be optimized. E.g., WinRAR, WinZip.
• Utility can do disk partition services like Windows Disk Management.
• Utility can help us in recovering in our lost data. E.g., iCare Data Recovery, Ease Us Data Recovery Wizard etc.,
• Utility can back up our data to increase the security of our systems like Cobian and Clonezilla.
• Utility can do de-fragmentation of a disk so that the scattered file can be organized on the drive. E.g., Disk Derangement, Little Snitch etc.,
• Utility can perform antivirus and security software so that the security of the files and the applications can be maintained. E.g., AVG, Microsoft Security Essentials etc.,
Difference between System Software and Application Software
|System Software||Application Software|
|We make use of system software for operating hardware of the computer.||The user makes use of application software to perform some specific task.|
|When the operating system is installed on the computer, then the system software is also mounted on the machine.||We install the application software according to the requirement of the user.|
|System software works in the background. So the user is not able to interact with it.||Generally, the user interacts with the application software.|
|It can run independently as it provides the platform for the running application software.||It can’t run independently because it is not able to run without the presence of system software.|
|Example: compiler, assembler, interpreter etc..||Example: word processor, web browser, media player etc.|