Using
Multiple Processes to Improve System Productivity
Consider a home computer system. This will probably have only one active
user at a time, but that user might be running a number of applications
simultaneously. A system where there is a single core produces the illusion of
simultaneous execution of multiple applications by switching between the active
applications many times every second. A multicore system has the advantage of
being able to truly run multiple applications at the same time.
A typical example of this happens when surfing the Web and checking
e-mail. You may have an e-mail client downloading your e-mail while at the same
time your browser is rendering a web page in the background. Although these
applications will uti-lize multiple threads, they do not tend to require much
processor time; their perform-ance is typically dominated by the time it takes
to download mail or web pages from remote machines. For these applications,
even a single-core processor often provides suf-ficient processing power to
produce a good user experience. However, a single-core processor can get
saturated if the e-mail client is indexing mail while an animation-heavy web
page is being displayed.
In fact, these applications will probably already take advantage of
multiple threads. Figure 3.1 shows a newly opened instance of Mozilla Firefox
launching 20 threads. A consequence of this is that just by having a multicore
processor, the performance of the system will improve because multiples of
those threads can be executed simultaneously— and this requires no change to
the existing applications.
Alternatively, there are a number of tasks we perform on our personal
computer sys-tems that are inherently compute intensive, such as playing
computer games, encoding audio for an MP3 player, transforming one video format
into another suitable for burn-ing to DVD, and so on. In these instances,
having multiple cores can enable the work to take less time by utilizing
additional cores or can keep the system responsive while the task is completed
in the background.
Figure 3.2 shows the system stack when a single user runs multiple
applications on a system.
It is also possible to have multiple users in a home environment. For
example, on Windows, it is quite possible for one user to be logged in and
using the computer while another user, having logged in earlier, has set some
other applications running. For example, you may have left some DVD-authoring
package running in the background while another user logs into their account to
check their e-mail.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.