Shortest job first is a scheduling algorithm in which the process with the smallest execution time is selected for execution next. Shortest job first can be either preemptive(SRTF) or non-preemptive. Owing to its simple nature, shortest job first is considered optimal. It also reduces the average waiting time for other processes awaiting execution.
This page will demonsrate Non - Preemptive SJF. In this scheduling system the shortest process is selected and finished regardless of any new job arrival (Which may have a shorter burst time).