Хамгийн богино процесс эхэнд үйлчлүүлэх төлөвлөлтийн алгоритм (Shortest Job First)

Хамгийн богино процесс эхэнд үйлчлүүлэх төлөвлөлтийн алгоритмын ажиллах байдал

Хамгийн богино процесс эхэнд үйлчлүүлэх төлөвлөлтийн алгоритм(Shortest Job First) нь хамгийн богино гүйцэтгэлийн хугацаатай хүлээгдэж буй процессыг сонгон авч ажиллуулдаг төлөвлөлт(scheduling)-ийн бодлого юм. SJF(Shortest Job First) нь давуу эрхгүй алгоритм бөгөөд хамгийн богино үлдсэн хугацаа нь SJF-ын давуу эрх(preemptive)-ийн хувилбар болох юм. 

SJF нь маш энгийн бүтэцтэй ба хамгийн том давуу тал нь процесс тус бүрийн гүйцэтгэл дуусах хүртэлх дундаж хүлээлтийн хугацааг багасгах явдал юм. Гэсэн хэдий ч хэрэв богино процессууд тасралтгүй нэмэгдсээр байх үед урт ажлууд дахин дахин хойшлуулагдаж ажиллаж эхлээгүй байсан ч нөөцөд зай эзэлсээр байдаг. Хамгийн өндөр хариу үйлдлийн харьцаатай ажил эхэнд үйлчлүүлэх(HRRN) төлөвлөлтийн алгоритм үүнтэй төстэй боловч "aging" хэмээх аргыг ашиглан энэ асуудлыг шийдсэн байдаг. 

Бас нэгэн сул тал нь гүйцэтгэл явагдаж эхлэхээс өмнө процессын нийт хугацааг заавал мэдсэн байх шаардлагатай. Гүйцэтгэлийн хугацааг төгс байдлаар урьдчилан таамаглах боломжгүй ч үүнийг тооцоолох хэд хэдэн аргууд байдаг. 

SJF-ыг нэг нь комманд хүлээж байхад нөгөө нь гүйцэтгэгдэж байх зэрэг харилцан ажилладаг процессууд дээр ашиглахад их үр дүнтэй. Хэрэв нэг процессын гүйцэтгэл гэнэт тасрах юм бол аль процесс дараа нь ажиллахыг өмнөх процессын гүйцэтгэгдсэн хугацаанд үндэслэн сонгох буюу өмнөх процесс нь дараагийн процессынхоо шинжийг илтгэж өгдөг.               

SJF-ыг гүйцэтгэлийн хугацаа нь мэдэгдэж байгаа тусгай орчинд хэрэглэх нь хамгийн зүйтэй.