Computer software, consisting of programs, enables a
perform specific tasks, as opposed to its physical components (hardware) which
can only do the tasks they are mechanically designed for. The term includes
application software such as word processors which perform productive tasks for
users, system software such as operating systems, which interface with hardware
to run the necessary services for user-interfaces and applications, and
middleware which controls and co-ordinates distributed systems.