A scheduling algorithm used in multitasking operating systems that guarantees fairness by monitoring the amount of cpu time spent by each user and allocating resources accordingly.