SJF (SHORTEST JOB FIRST) CPU SCHEDULING

Introduction to SJF

SJF (Shortest Job First) एक प्रकार की CPU Scheduling algorithm है, जिसमे Burst time के अनुसार प्रोसेस Execute होती है। अथवा जिस Process का Execution टाइम कम होता है है उसके लिए CPU पहले allocate किया जाता है।

  • इस CPU scheduling में burst time अनुसार ही process के लिए CPU Allocate किया जाता है।
  • दो या दो से अधिक Process का यदि burst time सामान होता तो, arrival time के अनुसार process execute होती है।
  • यह Processes के औसत Waiting समय को kam करता है।
  • इस प्रकार की Scheduling में लम्बी Process के Execution के लिए अधिक Wait करना पद सकता है यदि बहुत छोटी-छोटी Process हों।

Key Terms

  • Arrival Time (AT): वह टाइम जब process एंटर होती है ready queue में।
  • Burst Time (BT): Process Execution complete होने में लगा समय।
  • Completion Time (CT): वह समय जिस जी जब process execution complete हुई।
  • Turnaround Time (TAT): CT – AT (process आने के से complete होने तक का समय).
  • Waiting Time (WT): TAT – BT (process execute होने के लिए किया गया wait).

Example

ProcessArrival TimeBurst Time
P10 ms6 ms
P22 ms8 ms
P34 ms7 ms
P45 ms3 ms

Execution Order (Non-Preemptive SJF):

P1 → P4 → P3 → P2

Metrics

ProcessStartEndWaiting TimeTurnaround Time
P10606
P46914
P3916512
P216241422

Average Waiting Time = (0 + 1 + 5 + 14) / 4 = 5 ms
Average Turnaround Time = (6 + 4 + 12 + 22) / 4 = 11 ms

 

Gantt Chart

ProcessTimeline
P106
P469
P3916
P21624

Conclusion

  • सभी Scheduling Algorithms समय एवं स्तिथि अनुसार best होती है।
  • यह Algorithm Batch Processing के लिए बहुत अच्छी है।

Important Link

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top