Types of Computer Software: Systems Software, Application Software

Types of Computer Software
Types of Computer Software

What is computer software?

Computer software or just software is a collection of computer programs and related data that provides the instructions for telling a computer what to do and how to do it. Any set of instructions that guides the hardware and tells it how to accomplish each task. These sets of instructions are referred to as software.

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 computer hardware. The computer software and hardware complete any task together.


Types of Computer Software

Types of computer software can be divided into two general classes:

  1. Systems Software
  2. Application Software
Types of Computer Software
Types of Computer Software

Definition of Systems Software

The operating system or systems software is system software that operates the computer. An operating system is the most basic system software, without which other software cannot work. The operating system manages other application programs and provides access and security to the users of the system.

Definition of Application Software

Application programs are written individually to operate specific tailor-made procedures and systems, such as sales ledger systems, wages systems, library circulation control systems, word-processing systems etc.


Systems Software

The software that provides the basic functionality to operate a computer by interacting directly with its constituent hardware is termed system software. A system software knows how to operate and use different hardware components of a computer. It provides services directly to the end-user, or to some other software.

Types of system software:

  1. Operating System
  2. System Utilities
  3. Device Drivers
  4. Programming Tools
Systems Software
Systems Software

Operating System

As the name implies, the operating system is system software that operates the computer. An operating system is the most basic system software, without which other software cannot work. The operating system manages other application programs and provides access and security to the users of the system.

Some of the popular 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. Some system utilities are shipped with the operating system for example disk defragmentation tool, formatting utility, system restore utility, etc.

Another set of utilities are those which are not shipped with the operating system but are required to improve the performance of the system, for example, anti-virus software, disk cleaner tool, disk compression software, etc.

Device Drivers

As the name signifies, the purpose of a device driver is to ensure the proper functioning of a particular device. When it comes to the overall working of a computer system, the operating system does the work. But every day new devices and components are being added to a computer system.

Read Also  What are Operators in C? Different Types of Operators in C

It is not possible for the operating system alone to operate all of the existing and new devices, where each device has diverse characteristics. The responsibility for overall control, operation, and management of a particular device at the hardware level is delegated to its device driver.

The device driver acts as an interface between the device and the operating system. It provides required services by hiding the details of operations performed at the hardware level of the device. Just like a language translator, a device driver acts as a mediator between the operating system and the attached device.

Programming Tools

In order to get some work done by the computer, we need to give instructions that are applied to the input data to get the desired outcome. Computer languages are developed for writing these instructions.

It is important to understand here that computers and humans understand completely different languages. While humans are able to write programs in a high-level language, computers understand machine language

There is a continuous need for conversion from high level to machine level language, for which translators are needed. Also, to write the instruction, code editors (e.g., IDLE in Python) are needed.

We will briefly describe here the programming languages, language translators and program development tools:

  1. Classification of Programming Languages
  2. Language Translators
  3. Program Development Tools

Classification of Programming Languages

It is very difficult for a human being to write instructions in the form of 1s and 0s. So different types of computer programming languages are developed to simplify the coding. 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. Machine language uses 1s and 0s to write instructions that are directly understood and executed by the computer.

But writing a code in machine language is difficult as one has to remember all operation codes and machine addresses. Also finding errors in the code written in machine language is difficult.

To simplify the writing of code, assembly language was developed that allowed usage of English-like words and symbols instead of 1s and 0s. But one major drawback of writing a code in this language is that the code is computer specific, i.e., the code written for one type of CPU cannot be used for another type of CPU.

High-level languages are machine-independent and are simpler to write code into. Instructions are using English sentences and each high-level language follows a set of rules, similar to natural languages. However, these languages are not directly understood by the computer.

Hence, translators are needed to translate high-level language codes into machine language. Examples of high-level languages include C++, Java, Python, etc.

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).

As we have different types of computer languages, different translators are needed to convert the source code to machine code.

Read Also  What is Big Data? Characteristics, Tools, Types, Internet of Things (IOT)

The three types of translators used in computing systems are:

  1. Assembler
  2. Compiler
  3. Interpreter

Assembler: The translator used to convert the code written in assembly language to machine language is called assembler.

Compiler: Compiler converts the source code into machine code. If the code follows all syntactic rules of the language, then it is executed by the computer. Once translated, the compiler is not needed.

Interpreter: An interpreter translates one line at a time instead of the whole program at one go. The interpreter takes one line, converts it into executable code if the line is syntactically correct, and then it repeats these steps for all lines in the source code. Hence, the interpreter is always needed whenever a source code is to be executed.

Program Development Tools

Whenever we decide to write a program, we need a text editor. An editor is software that allows us to create a text file where we type instructions and store the file as the source code. Then an appropriate translator is used to get the object code for execution.

In order to simplify the program development, there is a software 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. Besides Python IDLE, Netbeans, Eclipse, Atom, Lazarus is few other examples of IDEs. Debugger, as the name implies, is the software to detect and correct errors in the source code.


Application Software

Applications software (also called end-user programs) enable you to complete specific tasks, like word processing, making spreadsheets, working with pictures, planning landscaping, playing games, etc. Figuratively speaking, applications software sits on top of systems software because it is unable to run itself without the operating system and system utilities.

Application is just another word for program or software program, like the packaged programs, Microsoft Word (word processing) or Adobe Photoshop (graphics).

There are again two broad categories of application software — general purpose and customized application software.

  1. General Purpose Software
  2. Customised Software
Application Software
Application Software

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.

For example, the spreadsheet tool Calc of LibreOffice can be used by any computer user to do calculations or to create an account sheet. Adobe Photoshop, GIMP, Mozilla web browser, iTunes, etc., fall in the category of general-purpose software.

Customised Software

These are custom or tailor-made application software, that are developed to meet the requirements of a specific organization or an individual. They are better suited to the needs of an individual or an organization, considering that they are designed as per special requirements.

Some examples of user-defined software include websites, school management software, accounting software, etc. It is similar to buying a piece of cloth and getting a tailor-made garment with the fitting, color, and fabric of our choice.

Below are just a few types of applications software that you might use:

  1. Activity Management
  2. Word Processing
  3. Spreadsheet Applications
  4. Presentation Applications
  5. Graphics Applications
  6. Database Applications
  7. Communications Programs
  8. Multimedia Applications
  9. Utilities

Activity Management: programs like calendars and address books.

Read Also  Advantages and Disadvantages of Flowcharts

Word Processing: applications for creating documents that are attractively formatted.

Spreadsheet Applications: for creating documents to manage and organize numerical data.

Presentation Applications: for making slide shows.

Graphics Applications: for creating pictures.

Database Applications: for developing databases that can organize and retrieve large amounts of information.

Communications Programs: like e-mail and faxing software for sending and receiving messages.

Multimedia Applications: for creating video and music.

Utilities: for performing a variety of tasks that maintain or enhance the computer’s operating system.


What are the 2 types of software?

Types of computer software can be divided into two general classes: 1.Systems Software, 2.Application Software.

What is system software and their types?

The operating system or systems software is system software that operates the computer. An operating system is the most basic system software, without which other software cannot work. The operating system manages other application programs and provides access and security to the users of the system. Two main types 1.Systems Software, 2.Application Software.

What is application software and its type?

Application programs are written individually to operate specific tailor-made procedures and systems, such as sales ledger systems, wages systems, library circulation control systems, word-processing systems, etc. And two main categories are General Purpose Software, Customised Software.

What is computer software?

Computer software or just software is a collection of computer programs and related data that provides the instructions for telling a computer what to do and how to do it. Any set of instructions that guides the hardware and tells it how to accomplish each task. These sets of instructions are referred to as software.