On most computer platforms, software can be grouped into a few broad categories:
System software is the basic software needed for a computer to operate (most notably the operating system).
Application software is all the software that uses the computer system to perform useful work beyond the operation of the computer itself.
Embedded software resides as firmware within embedded systems, devices dedicated to a single use. In that context there is no clear distinction between the system and application software.
Software refers to one or more computer programs and data held in the storage of the computer. In other words, software is a set of programs, procedures, algorithms and its documentation concerned with the operation of a data processing system. Program software performs the function of the program it implements, either by directly providing instructions to the digital electronics or by serving as input to another piece of software. The term was coined to contrast to the term hardware (meaning physical devices). In contrast to hardware, software "cannot be touched".[1] Software is also sometimes used in a more narrow sense, meaning application software only. Sometimes the term includes data that has not traditionally been associated with computers, such as film, tapes, and records.[2]