System Software – Definition
System software is a program that is architected to execute and process hardware and application software development simultaneously. Therefore, we can say that it is an interface between hardware and application software. Operating System is an example of system software. Operating System manages all the other programs on a computer or mobile devices.
System Software is used to manage and run mobile and computer systems. It runs in the background and maintains the essential functions of the device. Due to system software, higher-level application software can perform their tasks efficiently. As system software runs at the primary level in your computer and mobile, it is called low-level software. It provides a platform for application software to run on the top and interact with users.
Examples of System Software:
Operating Systems:
They manage hardware resources and facilitate user interaction. (Windows, macOS, Linux)
Device Drivers:
Enabling communication between the operating system and hardware devices (e.g., printer drivers).
Firmware:
Embedded software in devices that provides low-level control and functionality (e.g., BIOS in a computer).
BIOS (Basic Input/Output System):
The firmware initializes hardware during the boot process.
Utilities:
These are tools for system maintenance and optimization, such as antivirus programs or disk cleanup tools.
Compiler and Assembler:
Translate high-level programming languages into machine code.
Linker and Loader:
Link and load programs into memory for execution.
Virtual Machine Monitors (Hypervisors):
Allows multiple operating systems to run on a single physical machine.
Language Translators:
Helps convert programming code into machine-readable instructions (interpreters, compilers).
System Libraries:
Collections of pre-written code that applications can use for common tasks.
Features of System Software:
System Software is given inbuilt in the devices by the manufacturers. The features of system software are:
Fast in Speed
System Software is made to be as fast as possible to provide an effective platform for higher-level software.
Hard to Manipulate
System Software is hard to manipulate as they do not directly interact with users and are written in a more complex programming language.
Written in Low-Level Language
System Software is written in low-level language so the CPU and other hardware can understand it.
Close to the System
It is directly connected to the hardware and enables them to run.
Small in Size
The size of software is petite compared to all other applications.
Difficult to Design
Designing software is a complicated task as they are written in a lower-level language.
Types of System Software
All the essential functions of computers are managed by system software. They also manage disk operating systems, utility software, file management, and operating systems.
1. Operating system
An operating system is system software that provides a platform between computer hardware, application software, and end-users. It is pre-installed on devices and allows them to be identified and then function. OS is the first thing to be loaded when a system is started.
2. Device Drivers
A Device Driver is system software that operates or controls a particular device attached to a computer. It is the device drivers who make it possible for all the external devices to perform their tasks. Most of the hardware comes with pre-installed drivers in it. However, if the device is new to the system, then the user may have to download the drivers.
3. Firmware
Firmware is an operational software stored in a flash, ROM, EPROM for the OS to identify it. The firmware provides instructions on how the device should be operated. Unlike other software, firmware can not be manipulated, changed, or deleted by the end-users. They remain on the device.
4. BIOS and UEFI
BIOS (Basic Input/Output System) or the new UEFI (Unified Extended Firmware Software) gets the computer system started when we turn it on. BIOS also manages the flow of information between operating systems and the attached devices.
5. Programming Language Translator
These are the intermediate system software through which programmers convert the high-level language programming code to machine-level language code. Assembler, Interpreter, and Compiler are the popular language translators. They are usually designed by the computer manufacturer and are deliver inbuilt with the system.
6. Utilities
Utilities are the type of system software that is present between user and application software. These are the programs designed to configure, analyze, optimize and maintain tasks of the computer. Their task varies from disk fragmentation to data security.
Operating System
Operating System (OS) is software that acts as an interface between the hardware and the user. It manages the basic tasks like handling input and output, file management, process management, memory management, and controlling peripheral devices such as printers, pen drives, and hard disks.
Some of the most popular operating systems are Microsoft Windows, Linux, macOS, VMS, iOS, Android, etc.
Unlike other software, users can regularly interact with the operating system through Graphical User Interface (GUI) and Command Line Interface (CLI). GUI is software that makes it possible for users to manipulate the parts of the operating system.
Tasks Performed By Operating System
The main task of Operating Systems is to manage hardware and software resources. OS is the device’s main control program. OS controls to manipulate and maintains other programs, including application software and software. It is the OS that provides an environment to run all other systems and application programs.
Operating Systems perform various tasks, but five are the most important tasks that operating systems do. These tasks are as follows:
Process Management
Operating System allocates and organizes resources according to the priority. Then, OS gives the resources to a process and manages the effect of allocation on the other functions, known as process scheduling.
For example, if OS allocates the resources to process A and process B. and a more critical process with higher priority is happening; then OS may cancel or reduce the resources from process A or B or both. It also tracks and keeps the record of all the processes occurring in a system.
File Management
A file system is always organized into directories for easy navigation. In addition, these directories may contain subdirectories or files. The task of the operating system is to manage the files and directories. Activities that an OS perform to manage file are:
- Track Information and details of a file. This is usually known as a file system.
- It decides who gets the resources according to priority.
- OS allocates and deallocates resources.
- OS prevents deadlock situations.
Memory Management
Memory management refers to the process of managing main memory and primary memory. Main memory is an array of words and bytes, and each word or byte has its respective address. It is the task of the operating system to manage the main memory. It includes activities such as:
- Keeping track of memory.
- It decides which process gets memory, when, and how much.
- OS allocate and deallocate memory.
Device Management
It is the task of the operating system to manage devices attached to the computer. OS manages it via their respective drivers. The activities performed by OS to manage devices are:
- OS Keep track of all devices. It is also known as the I/O controller.
- Deciding which process gets the device, when, and for how much time.
- OS allocate and deallocate devices.
Other Important Tasks
Apart from the above-mentioned important tasks, there are few other activities that an OS performs. These activities are:
Security – Having password and other similar techniques it prevents unauthorized users from accessing the device’s resources.
Controlling System Performance – OS does manage delays between the request and response from the system.
Error Detecting – The OS detects and reports the errors in other programs.