शेड्यूलिंग एल्गोरिदम्स इन ऑपरेटिंग सिस्टम - Scheduling Algorithms in OS in Hindi


शेड्यूलिंग एल्गोरिदम क्या है? (What is Scheduling Algorithm in OS?)

Scheduling Algorithm वह प्रक्रिया है जिसके माध्यम से ऑपरेटिंग सिस्टम (OS) प्रोसेस को CPU और अन्य संसाधनों को असाइन करने का निर्णय लेता है। यह एल्गोरिदम CPU का अधिकतम उपयोग सुनिश्चित करने, Waiting Time को कम करने और सिस्टम की कार्यक्षमता को बढ़ाने में मदद करता है।

शेड्यूलिंग एल्गोरिदम के प्रकार (Types of Scheduling Algorithms)

Scheduling Algorithms को मुख्य रूप से दो भागों में विभाजित किया जाता है:

  • Preemptive Scheduling: इसमें CPU को एक प्रोसेस से जबरन हटाकर किसी अन्य प्रोसेस को असाइन किया जा सकता है।
  • Non-Preemptive Scheduling: इसमें एक बार CPU किसी प्रोसेस को असाइन कर दिया जाता है, तो वह पूरा होने तक जारी रहता है।

मुख्य शेड्यूलिंग एल्गोरिदम्स (Major Scheduling Algorithms)

एल्गोरिदम प्रकार विवरण
First Come First Serve (FCFS) Non-Preemptive जो प्रोसेस पहले आता है, उसे पहले CPU मिलता है।
Shortest Job Next (SJN) / Shortest Job First (SJF) Non-Preemptive & Preemptive जिस प्रोसेस का Burst Time सबसे कम होता है, उसे पहले CPU असाइन किया जाता है।
Round Robin (RR) Preemptive प्रत्येक प्रोसेस को एक निश्चित Time Quantum के लिए CPU दिया जाता है, फिर CPU अगले प्रोसेस को असाइन किया जाता है।
Priority Scheduling Non-Preemptive & Preemptive प्रत्येक प्रोसेस को एक Priority दी जाती है, और उच्च प्राथमिकता वाले प्रोसेस को पहले CPU दिया जाता है।
Multilevel Queue Scheduling Preemptive प्रोसेस को विभिन्न priority queues में विभाजित किया जाता है और उनके अनुसार शेड्यूल किया जाता है।
Multilevel Feedback Queue Scheduling Preemptive यह Multilevel Queue Scheduling का एक उन्नत रूप है जिसमें प्रोसेस को अलग-अलग queues में move करने की अनुमति होती है।

1. First Come First Serve (FCFS) Scheduling

यह सबसे सरल शेड्यूलिंग एल्गोरिदम है जिसमें जो प्रोसेस पहले आता है, उसे पहले निष्पादित किया जाता है।

विशेषताएँ:

  • सरल और निष्पादन में आसान
  • Starvation की समस्या नहीं होती
  • Convoy Effect उत्पन्न कर सकता है

2. Shortest Job First (SJF) Scheduling

जिस प्रोसेस का Burst Time सबसे कम होता है, उसे पहले निष्पादित किया जाता है।

विशेषताएँ:

  • Waiting Time कम करता है
  • Starvation की समस्या हो सकती है
  • Optimal Scheduling प्रदान करता है

3. Round Robin (RR) Scheduling

इसमें प्रत्येक प्रोसेस को एक निर्धारित Time Quantum के लिए CPU दिया जाता है।

विशेषताएँ:

  • Multiprogramming Systems के लिए उपयुक्त
  • सभी प्रोसेस को समान अवसर मिलता है
  • Response Time बेहतर होता है

4. Priority Scheduling

प्रत्येक प्रोसेस को एक Priority दी जाती है, और उच्च प्राथमिकता वाले प्रोसेस को पहले निष्पादित किया जाता है।

विशेषताएँ:

  • Higher Priority वाले प्रोसेस को प्राथमिकता
  • Starvation की समस्या हो सकती है

5. Multilevel Queue Scheduling

इसमें विभिन्न प्रकार के प्रोसेस को विभिन्न queues में विभाजित किया जाता है।

विशेषताएँ:

  • Background और Foreground प्रोसेस को अलग किया जाता है
  • Scheduling विभिन्न queues के अनुसार होता है

6. Multilevel Feedback Queue Scheduling

यह Multilevel Queue Scheduling का एक उन्नत रूप है जिसमें प्रोसेस को विभिन्न queues में move करने की अनुमति दी जाती है।

विशेषताएँ:

  • Flexible Scheduling
  • Starvation को रोकता है

Scheduling Algorithms की तुलना

एल्गोरिदम Waiting Time Starvation Efficiency
FCFS अधिक नहीं कम
SJF कम हाँ उच्च
Round Robin मध्यम नहीं अच्छा
Priority मध्यम हाँ उच्च

निष्कर्ष

Scheduling Algorithms ऑपरेटिंग सिस्टम का एक महत्वपूर्ण भाग हैं, जो CPU संसाधनों के अनुकूलन में मदद करते हैं। अलग-अलग एल्गोरिदम विभिन्न आवश्यकताओं के लिए उपयोग किए जाते हैं। FCFS सरल है, लेकिन Convoy Effect उत्पन्न कर सकता है, जबकि SJF अधिक प्रभावी है, लेकिन Starvation की समस्या उत्पन्न कर सकता है। Round Robin टाइम-शेयरिंग सिस्टम के लिए उपयुक्त है।

Related Post

Comments

Comments