SJF Scheduling-
इससे पहले कि आप इस लेख को पढ़ें, सुनिश्चित करें कि आप SJF scheduling के बारे में पिछले लेख में पढ़ चुके हो।
SJF शेड्यूलिंग में,
- सभी Available Processes में से, CPU को सबसे Smallest Burst Time वाली Process को Assign किया गया है।
- SJF शेड्यूलिंग का Main Drawback यह है कि इसे Practically लागू नहीं किया जा सकता है।
- ऐसा इसलिए है क्योंकि Processes का Burst Time पहले से नहीं जाना जा सकता है।
इस लेख में, हम Burst Time को Predict करने की Technique पर चर्चा करेंगे।
Techniques to Predict Burst Time-
कई तकनीकें हैं जो Processes के Burst Time की भविष्यवाणी करने की कोशिश करती हैं ताकि Algorithm को Implement किया जा सके।
ये तकनीकें हैं-
Static Techniques-
दो Static तकनीकें हैं-
- Process Size के आधार पर
- Process Type के आधार पर
1. Based on Process Size-
- यह तकनीक किसी Process के Size के आधार पर उसके Burst time की भविष्यवाणी करती है।
- Same Size की पहले से Executed Process के Burst Time को, Process को Execute करने के लिए Burst Time के रूप में लिया जाता है।
Example-
- 200 KB size की एक Process को Consider करें, इसके Execution को पूरा करने में 20 Unit का समय लगा।
- फिर, भविष्य की किसी भी Process के लिए Burst Time जिसका Size लगभग 200 KB है, को 20 Unit के रूप में लिया जा सकता है।
NOTE
- Predicted Burst Time हमेशा सही नहीं हो सकता है।
- ऐसा इसलिए है क्योंकि किसी Process का Burst Time इस बात पर भी निर्भर करता है कि वह किस तरह का Process है।
2. Based on Process Type-
- यह तकनीक किसी Process के Type के आधार पर उसके Burst Time की भविष्यवाणी करती है।
- निम्नलिखित figure कई प्रकार की Processes के लिए assumed किए गए Burst Time को दर्शाता है।
Dynamic Techniques-
दो Dynamic Techniques हैं-
- Simple Averaging के आधार पर
- Exponential Averaging के आधार पर
1. Based on Simple Averaging-
Process को Execute करने के लिए Burst Time को अब तक Executed सभी Pocesses के Average के रूप में लिया जाता है।
n Processes P1, P2,… , Pn और Each Process Pi के Burst Time को ti के रूप में देखते हुए, Pn+1 process के लिए Predicted Burst Time इस प्रकार दिया गया है-
2. Based on Exponential Averaging-
n Processes P1, P2,… , Pn और Each Process Pi के Burst Time को ti के रूप में देखते हुए। फिर, Pn+1 Process के लिए Predicted Burst Time इस प्रकार दिया गया है-
यहाँ पे-
α को smoothening factor कहा जाता है (0<= α <=1)
tn = Process का Actual Waiting Time Pn
Tn = Process Pn के लिए Predicted Burst Time
Thank You!