The document discusses scheduling in the Linux, Windows, and Solaris operating systems. In Linux, tasks are divided into scheduling classes and the scheduler selects the highest priority task in the highest priority class to run. The two main classes are the default class which uses Completely Fair Scheduler, and the real-time class. Windows uses a priority-based preemptive scheduler where the highest priority ready thread runs, and a higher priority thread can preempt a lower one. Solaris has six priority-based classes and uses different scheduling algorithms depending on the class, like time-sharing with dynamic time slices or real-time with static highest priority.