SCHED NORMAL tasks are handled by a special algorithm and are preempted by SCHED RR and SCHED FIFO tasks. In a few words the algorithm behaves like a hybrid priority queue that rewards process which are not CPU-greedy. CPU time is divided up into epochs, which are equal slices of time in which the processes can run and use up some of their allotted time, or time slice. At the end of every epoch, each process’ remaining time slice is halved. More time is added proportional to the processes’ nice value, a value specified by the user or by the system’s default nice value.