In contrast to the tightly coupled systems the

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: operating system resources among the threads of a process, the overhead involved in CPU switching among peer threads is very small as compared to CPU switching among processes having their own address spaces. This is the reason why threads are called lightweight processes. 3. Resource sharing can be achieved more efficiently and naturally between threads of a process than between processes because all threads of a process share the same address space. 4. Finally, the use of threads is also motivated by the fact that a set of threads using a shared address space is the most natural way to program many applications. For example, in an application that uses the producer-consumer model, the producer and the consumer processes must share a common buffer. Therefore, programming the application in such a way that the producer and consumer are two threads of the same process makes the software design simpler. Multiprocessing Up to this point we have considered systems with a single CPU. However, we have already seen that the use of I/O processors improves the efficiency of a computer system by making possible concurrent input, processing, and output operations. The CPU can perform arithmetic and logical operations on parts of one or more programs while I/O operations are concurrently carried out by I/O processors on other parts of programs. Figure 14.8 shows the architecture of a computer with its CPU, memory and I/O processors. The idea of use of I/O processors to improve the performance of a computer system was carried one step further by designing systems that make use of more than one CPU. Such systems are called multiprocessing systems. The term multiprocessing is used to describe interconnected computer configurations or computers with two or more CPUs that have the ability to simultaneously execute several programs. In such a system, instructions from different and independent programs can be processed simultaneously by different CPUs or the CPUs may simultaneously execute different instructions from the same program. The basic organ...
View Full Document

This document was uploaded on 04/07/2014.

Ask a homework question - tutors are online