In Priority scheduling each process can be associated with a priority. CPU is allocated to the process having the highest priority. Equal Priority processes are considered equal and hence the processes which comes first in the CPU are served(Processed) first according to the FCFS (First Come First Served) Algorithm.
CPU also serves processes which have a short burst time(time taken to processes a task) these tasks are processed first because they require less CPU time. instead of waiting in the CPU queue for a long time when the task requires very small amount of time by the CPU. Hence, larger the CPU burst time lower is the priority and vice versa.
Priorities can be defined either internally or externally. internal definition could be based on memory requirements, number of open files etc. external definition could be based on factors like, time taken by the user to input data, or user affiliated factors, slow user input is considered as ‘higher burst time’ and the priority of the task is reduced.
Priority based algorithms can be either preemptive(stoppable) or non-Preemptive(not-stoppable). in the case of Preemptive scheduling, if a new process joins the ready queue with a priority higher than the process that is under execution, then the current process is preempted and CPU is allocated to the new process. But in the case of Non-Preemptive Algorithm, the new process having the highest priority from among the ready processes, is allocated to the CPU only after the current process leaves the CPU.
Setting Priority of some Applications to high can make then run faster. however Realtime Priority must be avoided. Realtime priority means that the CPU has limited time to process the task. if the task is processed 1 msecs later or earlier then the time constraint then the computer will crash. advance users should only try this option on Average Quad core CPU’s or better. But this option is very dangerous and it should be avoided at any costs.
Note: Do not edit system processes. system processes can be recognized by their username as System. you should only edit user processes which can be recognized by your windows account name, in the image below the windows account name is DJAD.
to Alter the Priority in your computer open Task Manager. to do this press the windows key and type Task Manager.
Find the Process you want to edit in the Processes tab, right click on it and select Go to details
Now you are in the Details tab. Now, right click on the process you wish to edit. here i am editing JagexLauncher.exe (32 bit). and select Set Priority. if you want the application to use more CPU time select High. Alert: DO not select RealTime your system will crash.
in 3D applications the performance can be improved or reduced by priority scheduling, high and above normal improves performance, Normal has optimal performance or rather balanced performance, while Below Normal and Low have poor performance