Professional Documents
Culture Documents
The operating system provides interaction between processors and their tasks at the process and data element
level. (The term process may be defined as a part of a program that can be run on a processor.) Each
processor is capable of doing a large task on its own. The processors are usually of the same type. A
multiprocessor that has the same processors is called homogeneous; if the processors are different, it is called
heterogeneous. Any of the processors can access any of the I/O devices, although they may have to go
through one of the other processors.
Advantages : increase throughput, economy of scale and increased reliability. Multiprocessing is the use of
two or more central processing units within a single computer system.
Disadvantages: If we divide functions among several processors, then if one processor fails then it will not
affect the system or we can say it will not halt the system, but it will affect on the work speed. Suppose I
have five processors and one of them fails due to some reasons then each of the remaining four
processors will share the work of failed processor. So it means that system will not fail but definitely
failed processor will affect on its speed. Another significant disadvantage of a multiprocessor system
over one using a single single-core processor is a considerably more complex hardware and software
design, as algorithms and tasks need distributing among the cores and processors to maximise the
benefit of parallel processing, while an effort to synchronise access to shared resources such as main
memory and most I/O devices is required.
Multicomputers are message-passing machines which apply packet switching method to exchange data.
Here, each processor has a private memory, but no global address space as a processor can access only its
own local memory. So, communication is not transparent: here programmers have to explicitly put
communication primitives in their code.
Having no globally accessible memory is a drawback of multicomputers. This can be solved by using the
following two schemes −
Virtual Shared Memory (VSM)
Shared Virtual Memory (SVM)
In these schemes, the application programmer assumes a big shared memory which is globally addressable.
If required, the memory references made by applications are translated into the message-passing paradigm.