I'm curious why the scheduler wasn't made a data type, too, and, in particular, why the scheduling algorithm isn't changeable. Further (and relatedly), I'm curious why priority and quantum are defined as the only thread-related data that affect the scheduling. If the scheduling algorithm were separate, there might be other data it would want to consider (e.g., deadlines). -- Will