Skip to main content

System software

Lesson Objective

In the previous lessons we have discussed what hardware and software are. This lesson will talk about what system software is and its purpose in a computing device. You will learn the different types of system software and system utilities. Learning about the inner workings and parts of a computer will enable you to think differently and try different approaches when facing a coding problem.

Introduction

As we know, system software is what drives the computer’s hardware to work in a certain way according to the hardwares assigned functionalities.

  • It is a platform on which the top level softwares like application software runs.

  • Designing a system software is a complicated task, since it is written in low level language or the machine level language.

🎥 Watch the following video on What is System Software and What does it do? to get a quick overview of the topics discussed in the rest of the lesson.

System software is a type of computer program that is designed to run a computer's hardware and application programs. It includes the programs that are dedicated to managing the computer itself, such as the operating system, file management utilities, and disk operating system (or DOS).

A system software program serves as a platform for other programs.

Operating systems, antivirus programs, disc formatting programs, computer language translators, etc. are a few examples.

These programs, which are used to communicate with the hardware in a very basic manner, are written in low-level languages. System software serves as the interface between the hardware and the end users.

Check-point Assessment

Q1. _ helps to integrate computer software with underlying hardware.

A. System Software

B. Application Software

C. Both of them

D. None of the above

Check the Answer!

Ans: A. System Software

Types of system software

The functions and processes of computer hardware are all controlled and coordinated by the five different types of systems software. They actually make it possible for software, hardware, and users to communicate in a useful way.

Systems software performs intermediary duties to guarantee communication between hardware and other software to allow peaceful cohabitation with the user.

Let us see the 5 different types of system software now:

  1. Operating System

  2. Device Driver

  3. Firmware

  4. Translator

  5. Utility

🎥 Watch the following video on Functions and Types of System Software before we discuss the same in further detail.

Functions of the types of system software

System software has three main categories, they are:

  1. System management

  2. System development

  3. System utilities.

The following section covers each of the types in detail. Let’s move on to it.

Check-point Assessment

Q1. If we imagine a computer system as a layered model, which one among these will be the lowermost layer?

A. Operating system

B. System software

C. Application software

D. Hardware

Check the Answer!

Ans : D) Hardware

Q2. A ___ is one which is designed to accomplish specific tasks, like browsing the web or creating a word document.

A. System software

B. Utility software

C. Application software

D. All of the above

Check the Answer!

Ans : C) Application software

Q. An Operating system is an example of which type of software? A. Utility software

B. System software

C. Application software

D. None of the above

Check the Answer!

Ans : B) System software

What is System management ?

System management software is a group of software that manages the hardware in a computer including the components that are present in the motherboard, its driver slots and all other internal blocks in the computer.

Get a real quick idea of this topic here 👇

Follow-up question

Q. System Management software performs the following task(s).

A. Optimizes maintenance.

B. Increases security.

C. Prevents system malfunctions.

D. All of the above.

Check the Answer!

Ans : D) All of the above.

Let’s learn about each one of the system management software and its characteristics.

1. Operating System

An operating system is a system software which manages a computer’s memory and processes along with its hardware and software. A computer can understand only machine level language, a user on the other hand understands high level language, barring these differences the operating system stands between the computer and user, allowing them to interact easily.

  • The main task of the OS is managing the resources i.e the CPU’s processing capacity and the memory between all devices and processes.

  • At any point of time, when a computer is active and running, there is a constant rivalry between all devices both internal and external to get a share of the CPU or the memory to finish their own tasks.

  • The OS acts as their leader and uses scheduling algorithms to decide which device gets to access the processor and the memory.

  • An OS comes preloaded in a computer when we buy, later on it can be upgraded or partitioned based on our requirements.

  • There are 3 most popular OSs being used worldwide, they are -Microsoft Windows , Mac OS and Linux.

2. Device Driver

A device driver is a piece of software that instructs the operating system and any other software present in a computer as to how they should interact with all internal and external hardware. Device drivers are specific to each device that is installed in our computer. For example, every printer has its own device driver and needs to be installed in our system, which thereby connects the OS and the printer for us to easily use the printer via the OS.

We view a computer as a whole machine, but we need to understand that it is built by assembling and installing different hardware and software, each manufactured by a different company and speaks its own language. A device driver is a translator who breaks the language incompatibilities and makes communication between a device and a program easy.

The files with extensions .sys , .dll and .exe are loadable device driver files used by Windows and iOS uses .ko (kernel) files.

Image source: docs.microsoft.com

3. Firmware

A firmware is a piece of software which comes hardwired or embedded with the device itself. The embedded software within the device usually has a set of instructions that tell a device as to how it should communicate with other computer hardware. Firmware is typically found in the devices’ ROM and are updated from time to time to be compatible with the manufacturer's new software releases. So, firmware can be grouped under flash-memory even though it is placed inside a ROM (Read Only Memory).

Hardware components like network card, optical drive, router, media player or a scanner all have firmwares embedded in them.

Check-point Assessment

Q1. System management software is a group of software that manages the ____in a computer.

A. Hardware

B. Device driver slots

C. Components in the Motherboard

D. All of the above

Check the Answer!

Ans : D) All of the above

Q2. An ___ is a system software which manages a computer’s memory and processes along with its hardware and software.

A. Application software

B. Utility software

C. Operating system

D. All of the above

Check the Answer!

Ans : C) Operating System

Q3. Which among these options are examples of an OS?

A. Microsoft Windows

B. Linux

C. Mac OS

D. All of the above

Check the Answer!

Ans : D) All of the above

Q3. The files with extensions .sys , .dll, .exe are called _ files.

A. Malware

B. External

C. Device driver

D. Threat

Check the Answer!

Ans : C) Device driver

Q4. A _ is a piece of software which comes hardwired or embedded with the device itself.

A. Firmware

B. Antivirus

C. Utility file

D. None of the above

Check the Answer!

Ans : A) Firmware

What is System development?

The system development process is carried out by a group of individual software programs called the compiler, interpreter, assembler, loader, linker and the debugger. Let us take a look into each of them to understand a little more about their importance and functions.

1. Compiler

A compiler is a special kind of software that has the ability to convert high level language (source language or programming language) into a low level language (target language). The target language can also be called a machine code, assembly language or object code which is an executable program i.e a program which the computer’s processor can understand and execute.

2. Interpreter

A software which has the capability to convert a high level language into a machine level language line by line is called an interpreter. Even though the compiler does the same job as the interpreter, a compiler does the job of converting a source code completely into machine language and produces results. In case of a huge source code, the compiler might take hours to get the job done. In such cases an interpreter does the same job in a shorter time and delivers results after conversion of every line of the source code.

Image source: geeksforgeeks.com

3. Assembler

An assembler is a software that converts low level assembly code into machine language thereby generating information required for the loader to process.

Image source: geeksforgeeks.com

4. Linker

Linker is a software program that takes individual blocks of object code delivered by assembler and links it into a single executable file to be processed further.

Image source: computerlearningcenter.com

5. Loader

A loader is a software program which places the required libraries(executable program) and programs into the main memory for execution. The executable program received from the linker is read by the loader and makes it ready for running taking care of any additional programming tasks needed to be done.

6. Debugger

A debugger is a software program that checks for errors at various stages of assembling, linking or loading and sends an error message requesting to debug the executable file for further processing.

Check-point Assessment

Q1. Which of the below software programs fall under the system development category?

A. Compiler

B. Interpreter

C. Assembler

D. All of the above

Check the Answer!

Ans : D) All of the above

Q2. Match the following software to it's correct function.

(Loader, Assembler, Linker , Debugger)

A. a software that converts low level assembly code into machine language thereby generating information required for the loader to process.

B. a software program which places the required libraries(executable program) and programs into the main memory for execution.

C. a software program that checks for errors.

D. a software program that takes individual blocks of object code delivered by assembler and links it into a single executable file to be processed further.

Check the Answer!

A - Assembler

B - Loader

C - Debugger

D - Linker

What are System utilities?

System utilities are a group of software designed to help the computer maintain its functionality in a smooth and flawless manner. Also called as utility software, these come inbuilt with the OS, but can be removed, modified or upgraded with proper admin permissions and their major function is infrastructure support for the computer system. Let us have a thorough understanding about the different types of utility software, from the following section.