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
Process | Arrival Time | Burst Time |
P1 | 0 ms | 6 ms |
P2 | 2 ms | 8 ms |
P3 | 4 ms | 7 ms |
P4 | 5 ms | 3 ms |
Execution Order (Non-Preemptive SJF):
P1 → P4 → P3 → P2
Metrics
Process | Start | End | Waiting Time | Turnaround Time |
---|---|---|---|---|
P1 | 0 | 6 | 0 | 6 |
P4 | 6 | 9 | 1 | 4 |
P3 | 9 | 16 | 5 | 12 |
P2 | 16 | 24 | 14 | 22 |
Average Waiting Time = (0 + 1 + 5 + 14) / 4 = 5 ms
Average Turnaround Time = (6 + 4 + 12 + 22) / 4 = 11 ms
Gantt Chart
Process | Timeline | ||
---|---|---|---|
P1 | 0 | 6 | |
P4 | 6 | 9 | |
P3 | 9 | 16 | |
P2 | 16 | 24 |
Conclusion
- सभी Scheduling Algorithms समय एवं स्तिथि अनुसार best होती है।
- यह Algorithm Batch Processing के लिए बहुत अच्छी है।