Software is a program that enables a computer to perform a specific task, as opposed to the physical components of the system (hardware).
This includes application software such as a word processor, which enables a user to perform a task, and system software such as an operating system, which enables other software to run properly, by interfacing with hardware and with other software.
Practical computer systems divide software into three major classes: system software, programming software and application software, although the distinction is arbitrary, and often blurred.
Computer software has to be “loaded” into the computer’s storage (such as a hard drive, memory, or RAM).
Once the software is loaded, the computer is able to execute the software.
Computers operate by executing the computer program.
This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code.
Each instruction causes the computer to carry out an operation — moving data, carrying out a computation, or altering the control flow of instructions.