However, with technological advancements, the need for faster computers is ever increasing. To achieve this, a paradigm shift in the field of computing is necessary. One way to do it would be, instead of burdening one single processor with all the work, have more than one processor to do the job. That brings in the need for Multi-Processing.
Earlier computers were able to do only one thing at a time. For example, an old DOS based environment. Due to this, areas where computers could be used were also limited. But later, as processor speed started to increase by leaps and bounds and the need for more advanced techniques emerged, the processor was required to do more activities at a time.
In this technology, called Multi-Programming, several programs used to run simultaneously on a single processor. Since there was only one processor, there was no true simultaneous execution of two programs. Instead it used to execute one part of a program and then another part of the same or other program. This also brought forward the need for faster memory access, cache memory, faster RAMs, virtual memory, etc. so that large amount of data of various programs could be swapped with the processor for faster execution.
As it was quite evid ...