# A-level Computing 2009/AQA/Computer Components, The Stored Program Concept and the Internet/Fundamentals of Computer Systems/Classification of software

You have probably used a lot of software over the years, here we are going to study the different classifications (types) of software that are out there.
* Software can perform many different tasks
The two main classifications of software that all programs fit under are:
* System software
* Application software
Without software, most hardware would sit there doing nothing or perform specific tasks. To make most hardware run we need to use software, and your task here is to select the correct type of software for each job.

## System software

Modern computers are complex machines involving many different parts. To keep it running well you will need system software. System software will handle the smooth running of all the components of the computer. It will also provide the general functionality for other programs to use. These include programs that may be tools to speed up the computer, tools to develop new software and programs to keep you safe from attacks. There are several different types of system software that we will look at in more detail very shortly:
* Operating Systems are a collection of programs that make the computer hardware conveniently available to the user and also hide the complexities of the computer's operation. The Operating System (such as Windows 7, Apples iOS or Linux) interprets commands issued by application software (e.g. word processor and spreadsheets). The Operating System is also an interface between the application software and computer. Without the operating system, the application programs would be unable to communicate with the computer.
* Utility programs are small, powerful programs with a limited capability, they are usually operated by the user (or) operator to maintain a smooth running of the computer system. Various examples include file management, diagnosing problems and finding out information about the computer etc. Notable examples of utility programs include copy, paste, delete, file searching, disk defragmenter, disk cleanup. However, there are also other types that can be separately installable from the Operating System.
* Library programs are a compiled collection of subroutines (e.g. libraries make many functions and procedures available when you write a program)
* Translator software (Assembler, Compiler, Interpreter)
* Assembler translates assembly language programs into machine code (A binary code that a machine can understand).
* Compiler translates high level language code into object code (which is the machine language of the target machine).
* Interpreter analyses and executes a high-level language program a line at a time. Execution will be slower than for the equivalent compiled code as the source code is analyzed line by line.

## Application software

Application software is designed for people like me and you to perform tasks that we consider useful. This might be the ability of a scientist to work out statistical information using a set of results, or someone who wants to play the latest computer game. There are several categories of Application software that we'll look into shortly:
* General purpose application software.
* Special purpose application software.
* Bespoke application software
* Example: Software categories
* Place the following software into its correct category:
* Computer Game - This is built for a human user, therefore it is application software
* Virus Scanner - This is built to make the computer run better, therefore it is system software
* Exercise: Software categories
* What are the two main categories of software?
* Answer:
* System Software
* Application software
* Why is software important for computer systems?
* Answer:
* Without software the tasks that hardware can perform is often fixed and limited
* For each of the two main classifications of software give three sub categories:
* Answer:
* System software
* Operating system software
* Utility programs
* Library programs
* Translator software (Compiler, assembler, interpreter)
* Application software
* General purpose application software.
* Special purpose application software.
* Bespoke application software
* Place each of these software products into its correct category (application or system):
* Word processor
* Operating system
* Defragmenter
* GPS mapping software
* Music encoding library
* Answer:
* Word processor (Application)
* Operating system (System)
* Defragmenter (System)
* GPS mapping software (Application)
* Music encoding library (System)
* Fill in the missing software categories:
* Answer: