6 Multitasking

 

In this chapter:

  • You learn how to identify and analyze possible bottlenecks in your application
  • You learn how to run multiple tasks concurrently in the absence of parallel hardware
  • You learn about the preemptive multitasking technique: pros, cons, and using it to solve I/O-bound problems

Do you ever stop to marvel at the sheer multitasking ability of your computer? It’s truly incredible how it can handle multiple applications running at the same time, all while you continue to work on a text editor without a hitch. It’s a feat that we often take for granted, but it’s a testament to the impressive capabilities of modern computing.

Have you ever wondered how your computer accomplishes all this? How does it manage to juggle so many tasks at once? Even more interestingly, what types of tasks are being handled, and how are they classified?

In this chapter, we take a deeper dive into the concept of concurrency and explore the fascinating world of multitasking. By introducing multitasking into the runtime layer, we gain a better understanding of how our machines can handle a variety of tasks simultaneously. But before we delve into the intricacies of multitasking, we first take a closer look at the different types of tasks our computers can handle.

CPU-bound and I/O-bound applications

 
 

CPU-bound

 

I/O-bound

 
 

Identifying bottlenecks

 
 

The need for multitasking

 
 
 
 

Multitasking from a bird’s-eye view

 
 

Preemptive multitasking

 
 
 
 

Arcade machine with preemptive multitasking

 
 
 

Context switching

 
 

Multitasking environments

 
 

Multitasking OSs

 
 

Task isolation

 
 

Task scheduling

 
 
 
 

Recap

 
 
 
sitemap

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage
test yourself with a liveTest