A Comparison of 5 Uniprocessor OS Scheduling Policies