Software: Definition
The first step into the world of programming is to understand the basic of it and understanding how a program works will make easier to understand the basics.
A computer program is basically a set of instruction that a computer has to perform to have a functionality. Computers don’t do nothing by themselves, they need to be told what to do in order to accomplish something.
There are many types of programs, but they can divided in two categories, system programs and applications.
System programs are the programs responsible to make the computer run. The operating system in conjunction with other programs make possible to the computer to run. The operating system manages and controls the hardware.
Applications are programs that make a computer useful. An application is a program that can perform a task that is not related to the system functionality. Examples of application programs are: word processor, spread sheet, email, graphic editing, etc.
Now that you know the main two types of programs lets talk about how they interact with each other.
All the computers need and operating system to be functional, and the job of the operating system is to control the different pieces of hardware that exist in a computer, and also works as a channel of communication between applications and hardware.
When you start or open an application what you are doing is telling the operating system to run an instruction or set of instruction, the instruction is the application, the operating system load the instructions to main memory or RAM, then the processor or CPU runs the instructions. Depending on what the application does, the application will request resources, this resources could be memory, video, network, etc.
summary:
Computers do nothing without programs. A program is a set of instructions that tells the computer what to do.