In a multitasking system executing real-time harmonic and dynamic tasks
having various priority levels, slack is stolen from timeline and
reclaimed slack to enable execution of high priority non-essential tasks
on a best efforts basis. Counts of the amount of slack consumed, slack
reclaimed, and periodic compute time consumed are maintained by
individual priority level and dynamically updated at certain times. Idle
time is calculated by priority level. Available slack is calculated,
allocated and consumed by rate, with the highest rate first and the
lowest last. Slack is made available to tasks in more than one time
partition. All slack belongs to a common system-wide pool of slack
obtained from any one or more time partitions. Common slack can also be
time-shared by static, non-harmonic tasks residing in different time
partitions. Also described are a computer system and methods that perform
slack scheduling in a time-partitioned system.