Hardware needs to be operated by a set of instructions. These sets of instructions are referred to as programs. Software represents the set of programs that govern the operations of a computer system and make the hardware run smoothly .

It is that component of a computer system, which we cannot touch or view physically. It comprises the instructions and data to be processed using the computer hardware. 

Some examples of software include: 

  • Operating systems like Ubuntu or Windows 7/10 
  • Word processing tools like LibreOffice or Microsoft Word
  • Video player like VLC Player
  • Photo editors like GIMP and LibreOffice draw

A document or image stored on the hard disk or pen drive is referred to as a soft-copy.

Once printed , the document or an image is called a hard-copy.

 

Need for Software

  • The sole purpose of a software is to make the computer hardware useful and operational. 
  • A software knows how to make different hardware components of a computer work and communicate with each other as well as with the end-user. 
  • We cannot instruct the hardware of a computer directly. Software acts as an interface between human users and the hardware.

 

Types of Software

Categorization of Software - Teachoo.jpg

1. System Software

The software that provides the basic functionality to operate a computer by interacting directly with its constituent hardware is termed as system software. 

It provides services directly to the end user, or to some other software. 

Examples of system software:

  • Operating System: Acts as an interface between user and machine. It allocates and manages the resources of the computer. Examples of operating systems are  Windows, Linux, Macintosh, Ubuntu, Fedora, Android, iOS, etc. 
  • System Utilities: Software used for maintenance and configuration of the computer system is called system utility. Examples of system utilities are anti-virus software, disk cleaner tool, disk compression software, etc.
  • Device Drivers: A device driver acts as a mediator between the operating system and an externally attached device to the computer. The responsibility for overall control, operation and management of a particular device at the hardware level is delegated to its device driver.

 

2. Programming Tools

The programming languages used to write instructions to the computer in high-level language, the language translators used to convert high-level language to machine level language and the code editors used to write the instructions are all known as programming tools.

Examples of Programming tools:

  • Classification of Programming Languages: Two major categories of computer programming languages are low-level languages and high-level languages.

Low - level languages are machine dependent languages and include machine language and assembly language.  

High - level languages are machine independent and are simpler to write code into.

  • Language translators: As the computer can understand only machine language, a translator is needed to convert programs written in assembly or high level language to machine language. The program code written in assembly or high-level language is called source code . The source code is converted by a translator into the machine understandable form called object (machine) code.

The three types of translators used in computing systems are 

  1. Assembler - An assembler is a system program that converts an assembly language program into  the machine language of the host computer.  
  2. Compiler -  A compiler is a system program which translates a program written in a high level language  into its equivalent program in machine language. 
  3. Interpreter - An interpreter converts a high-level language program into an equivalent machine language program one line at a time  and executes it, if no error is encountered.
  • Program development tools:  In order to simplify the program development, there are softwares called Integrated Development Environment (IDE) consisting of a text editor, building tools and debugger. A program can be typed, compiled and debugged from the IDE directly.

3. Application Software

Application software are made to perform a specific task. This software works on top of the system software.

Two categories of Application Software are:

  • General Purpose Software - The application software developed for generic applications, to cater to a bigger audience in general are called general purpose software. Such ready-made application software can be used by end users as per their requirements. Examples of general purpose softwares are Adobe Photoshop, GIMP, Mozilla web browser, iTunes, etc.
  • Customized Software - These are custom or tailor-made application software, that are developed to meet the requirements of a specific organization or an individual. Examples of user-defined software include websites, school management software, accounting software, etc.

 

Ask a doubt
Davneet Singh's photo - Co-founder, Teachoo

Made by

Davneet Singh

Davneet Singh has done his B.Tech from Indian Institute of Technology, Kanpur. He has been teaching from the past 14 years. He provides courses for Maths, Science, Social Science, Physics, Chemistry, Computer Science at Teachoo.