This preview shows page 1. Sign up to view the full content.
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
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
View Full Document
This document was uploaded on 04/07/2014.
- Spring '14