In Real Time Systems, scheduling algorithms often speak about
Capacity of a
For example: In
Polling Server Algorithm, the
Capacity of the Server Task is lost when there are no aperiodic Tasks. Or, in
Sporadic Server Algorithm, the
Capacity of the Server Task is replenished only after it has been consumed.
Now the basic understanding is that
Capacity is the amount of
CPU that can be used by a particular task. It looks quite simple.
But, in case of
Polling Server Algorithm, if there are no aperiodic tasks present when server is active, why is the
Capacity of the
Server Task lost? And once its lost, even if an aperiodic task does arrive in that period and there is CPU resource available, the
Server Task cannot execute the aperiodic task because "It simply does not have the capacity".
In the above example, at time instance 1, the
Server loses capacity. At time instance 2, an
Aperiodic Task arrives. Since the
Server has no capacity, it cannot execute the aperiodic task. And also, at time instance 3, CPU is idle which is a waste of resource. We can see that in time period 0-5, the
Server could not execute the aperiodic task arriving at time instance 2 because it lost its
Capacity at time instance 1.
So in the period 0-5 the
Server executes nothing even though it earlier had a capacity of 2.
Capaciy just a concept used in scheduling algorithms?
If not, how can "Losing Capacity" be explained?
And, how is
Capacity implemented (in hardware/software), that is, who keeps a record of
All terms as used in the book Hard Real-Time Computing Systems – Giorgio C. Buttazzo