Read Section SG Section 23.3
pusrpri = PUSER + pcpu/4 + 2 pnice
Here pcpu is incremented each time the system clock ticks and the process is found to be executing. It is also adjusted once per second using a digital decay filter.
pcpu = [(2 load)/(2 load + 1)]pcpu + pnice
where load is the sampled average length of the run queue over the previous 1-minute interval of system operation.
pcpu = [ (2 load)/(2 load + 1)]pslptime pcpu
where pslptime is an estimate of how long the process has been blocked and load is the current system load.
Skill: Understand how real scheduling algorithms work.