Program is a series of instructions given to a computer. While the process is a part of a program that is on a certain status in a series of execution. In the Operating System, we more often discuss the process compared with the program. In modern operating systems, at a time not all programs loaded in memory, but only one part of the program. While other parts of the program is still resting on the disk storage media. Only when they need it, part of the program is loaded in memory and executed by the processor. This is to save memory.
Some systems run only one process in one single time, while others run multi-process one time. While most computer systems have only one processor, and a processor can only execute one instruction at a time. So how a single processor system can run multi-process? Indeed, the granularity is very small, the processor only runs one process at a time, then quickly switch to run other processes, and so on. So that for the vision and sense of human users, as if the processor running multiple processes simultaneously.
Each process in an operating system to get a PCB (Process Control Block) which includes information about the process, namely: an identification process (Process ID) a unique identity and become the number, status of the process, the priority process execution and process location information in memory . Priority process is a value or a scale that indicates how often the process must be executed by the processor. Process that has a higher priority, will be run more often or more were executed earlier than the lower-priority process. An operating system can only determine all processes with the same priority, so that each process has the same opportunity. An operating system can also alter the value of a particular priority, so that the process will be able to have a greater opportunity in the next execution (for example: the process that has been far too long waiting for execution, the operating system increase the value of priority).
Types of status that may be pinned on a process on each operating system may vary. But at least there are three common types of status, namely:
1. Ready, the status of the process is ready for execution at the next turn
2. Running is the status of the current process being executed by the processor
3. Blocked, the status of the process can not be executed when the processor is ready / free
translation of: http://id.wikipedia.org/wiki/Sistem_operasi