Multiprocessing refers to the use of two or more computers linked together to perform work at the same time. This, of course, often requires systems software that will realize multiple CPUs are in use and has the ability to assign work to them as efficiently as possible.
While multiprogramming involves processing several programs or tasks concurrently on a single computer, multiprocessing involves handling multiple programs or tasks simultaneously (at precisely the same instant) on several computers.
ADVERTISEMENTS:
There are many ways to implement multiprocessing; two common ones are co processing and parallel processing.
With co processing, a single CPU works in conjunction with specialized, “slave” processors that perform dedicated chores. For instance, many microcomputer systems today have slave processors that handle tasks such as high-speed mathematical computation, display-screen graphics, and keyboard operations.
At any point in time, two or more processors within the unit may be performing work at the same time. However, the time taken to perform an entire job will be largely constrained by the CPU.
In parallel processing, which is the most sophisticated and fastest type of multiprocessing, the multiple processors involved are full-fledged, general- purpose CPUs.
ADVERTISEMENTS:
They are tightly integrated so that they can work together on a job by sharing memory. While this may sound simple, there are many practical complications, and special software is often required.
Multiprocessing is closely related to fault-tolerant computing, in which computer systems are built with important circuitry duplicated.
If a critical component fails, an identical backup component takes over. While duplicate sets of processors are involved, however, only one set of processors will be in operation at any point of time.