|
The
Problem
Consider
the case of two running
(single-threaded) applications,
a well-behaved word processor
(figure 3) and a runaway CPU
spinner (figure 4). Assuming a
quantum length of 10
milliseconds, each thread is
eligible to use the CPU for up
to 10 ms at a time (the time
slice). A thread could
potentially use up its entire
time slice if it has enough work
to do to fill up the time slice.
Being a runaway application, the
CPU spinner will steadily use
the CPU for the duration of its
time slice. Being a well-behaved
application, the word processor
will almost never use up its
time slice. Instead, its CPU
requirements are conservative as
it will only consume a small to
moderate portion of its time
slice (if any). Occasionally, it
may not even have anything to do
(e.g., waiting on user input)
and will remain in the WAITING
state until something happens
(e.g., user input is received).

Figure 3 – A well-behaved
application

Figure 4 – An ill-behaved (aka.
runaway or rogue) application
Next: Max-IT (CPU) - The Solution

|