BCA / B.Tech 17 min read

Scheduling Algorithms in Hindi

Scheduling Algorithms in Operating System in Hindi |  ऑपरेटिंग सिस्टम में शेड्यूलिंग एल्गोरिदम हिंदी में :


शेड्यूलिंग एल्गोरिदम (Scheduling Algorithms): विस्तृत परिचय :

किसी भी ऑपरेटिंग सिस्टम का सबसे महत्वपूर्ण कार्य यह सुनिश्चित करना है कि प्रक्रियाएँ (processes) CPU का उपयोग कैसे और कब करें। इस कार्य के लिए ऑपरेटिंग सिस्टम में विभिन्न प्रकार के शेड्यूलिंग एल्गोरिदम का उपयोग किया जाता है। 
शेड्यूलिंग एल्गोरिदम यह तय करता है कि CPU को किस क्रम में प्रक्रियाओं को आवंटित किया जाएगा, ताकि सिस्टम की दक्षता बढ़े, संसाधनों का सही उपयोग हो और प्रक्रियाओं को न्यूनतम प्रतीक्षा समय के साथ निष्पादन का अवसर मिल सके।

शेड्यूलिंग एल्गोरिदम किसी भी ऑपरेटिंग सिस्टम के महत्वपूर्ण हिस्से होते हैं। विभिन्न एल्गोरिदम विभिन्न स्थितियों में बेहतर काम करते हैं। जैसे, FCFS सरल है, लेकिन लंबी प्रक्रियाओं के लिए उपयुक्त नहीं है, जबकि SJF टर्नअराउंड समय को कम करता है, लेकिन इसे कार्यान्वित करना मुश्किल है।
 राउंड रॉबिन उपयोगकर्ता की त्वरित प्रतिक्रिया के लिए अच्छा है, लेकिन टाइम क्वांटम का सही निर्धारण महत्वपूर्ण है। प्राथमिकता शेड्यूलिंग महत्वपूर्ण प्रक्रियाओं को प्राथमिकता देती है, लेकिन स्टारवेशन की समस्या उत्पन्न कर सकती है।

सही शेड्यूलिंग एल्गोरिदम का चयन सिस्टम की आवश्यकताओं, प्रक्रियाओं की प्रकृति, और उपयोगकर्ताओं की प्राथमिकताओं के आधार पर किया जाता है।


Two major categories of Sechaduling | शेड्यूलिंग एल्गोरिदम को दो प्रमुख श्रेणिया : 

शेड्यूलिंग एल्गोरिदम को दो प्रमुख श्रेणियों में विभाजित किया जा सकता है:

प्रीएम्प्टिव शेड्यूलिंग (Preemptive Scheduling)
नॉन-प्रीएम्प्टिव शेड्यूलिंग (Non-preemptive Scheduling)

प्रीएम्प्टिव शेड्यूलिंग में एक प्रक्रिया के बीच में ही CPU उससे लिया जा सकता है और किसी अन्य प्रक्रिया को दिया जा सकता है, जबकि नॉन-प्रीएम्प्टिव शेड्यूलिंग में प्रक्रिया के पूरा होने तक उसे CPU से नहीं हटाया जाता।

Different types of scheduling algorithms |  विभिन्न प्रकार के शेड्यूलिंग एल्गोरिदम :

इस लेख में, हम विभिन्न प्रकार के शेड्यूलिंग एल्गोरिदम को विस्तार से समझेंगे, उनके लाभ, सीमाएँ, और किस स्थिति में कौन सा एल्गोरिदम उपयुक्त होता है।

1. फर्स्ट कम, फर्स्ट सर्व (First Come First Serve - FCFS):

परिचय: FCFS सबसे सरल शेड्यूलिंग एल्गोरिदम है। इसमें प्रक्रियाएँ उसी क्रम में निष्पादित होती हैं, जिस क्रम में वे सिस्टम में प्रवेश करती हैं। इसका मतलब है कि जो प्रक्रिया पहले आती है, उसे पहले CPU आवंटित किया जाता है।

मुख्य विशेषताएँ:

  • नॉन-प्रीएम्प्टिव शेड्यूलिंग एल्गोरिदम: एक बार जब कोई प्रक्रिया CPU प्राप्त कर लेती है, तो उसे तब तक चलाया जाता है जब तक कि वह समाप्त नहीं हो जाती।
  • इस एल्गोरिदम का कार्य करने का तरीका क्यू (Queue) जैसा होता है, जहाँ सबसे पहले आने वाली प्रक्रिया को सबसे पहले सेवा मिलती है।
  • लाभ: सरल और समझने में आसान।
  • कोई जटिलता नहीं है और इसका कार्यान्वयन सरल होता है।
  • कमियाँ: लंबी प्रक्रियाओं की वजह से छोटी प्रक्रियाओं को लंबे समय तक प्रतीक्षा करनी पड़ सकती है, जिसे कॉन्वॉय प्रभाव (Convoy Effect) कहते हैं।
  • औसत प्रतीक्षा समय (Average Waiting Time) अधिक हो सकता है।
  • उपयुक्तता: यह तब उपयोगी होता है जब प्रक्रिया का निष्पादन समय समान होता है, लेकिन यह तब कम प्रभावी होता है जब निष्पादन समय में बड़ा अंतर होता है।
  • उदाहरण: मान लीजिए कि तीन प्रक्रियाएँ हैं P1, P2, और P3 जिनके आगमन क्रम और निष्पादन समय इस प्रकार हैं:

P1: 5 यूनिट समय
P2: 3 यूनिट समय
P3: 8 यूनिट समय
तो FCFS एल्गोरिदम के अनुसार, इनका निष्पादन क्रम P1 → P2 → P3 होगा।

2. शॉर्टेस्ट जॉब फर्स्ट (Shortest Job First - SJF):

परिचय : SJF शेड्यूलिंग एल्गोरिदम उस प्रक्रिया को CPU आवंटित करता है जिसका निष्पादन समय सबसे कम होता है। इसका मतलब है कि सबसे छोटी प्रक्रिया पहले निष्पादित होती है।

मुख्य विशेषताएँ :

  • नॉन-प्रीएम्प्टिव या प्रीएम्प्टिव दोनों प्रकार से लागू किया जा सकता है।
  • इसका उद्देश्य टर्नअराउंड समय (Turnaround Time) को कम करना है।
  • लाभ: औसत प्रतीक्षा समय और टर्नअराउंड समय को कम करता है।
  • कमियाँ: इस एल्गोरिदम को लागू करना मुश्किल होता है, क्योंकि इसे प्रक्रिया के सही निष्पादन समय का अनुमान लगाना पड़ता है।
  • लंबी प्रक्रियाएँ अधिक समय तक प्रतीक्षा कर सकती हैं, जिससे स्टारवेशन (Starvation) की समस्या हो सकती है।
  • उपयुक्तता: यह तब अधिक प्रभावी होता है जब सभी प्रक्रियाओं के निष्पादन समय ज्ञात होते हैं और समय में ज्यादा अंतर नहीं होता।
  • उदाहरण: मान लीजिए कि चार प्रक्रियाएँ हैं P1, P2, P3, और P4 जिनके निष्पादन समय इस प्रकार हैं:

  • P1: 6 यूनिट समय
  • P2: 2 यूनिट समय
  • P3: 8 यूनिट समय
  • P4: 3 यूनिट समय
  • तो SJF के अनुसार, उनका निष्पादन क्रम P2 → P4 → P1 → P3 होगा।

3. राउंड रॉबिन (Round Robin - RR):

परिचय : राउंड रॉबिन एल्गोरिदम का उपयोग विशेष रूप से टाइम-शेयरिंग सिस्टम (Time-sharing Systems) में किया जाता है। इसमें प्रत्येक प्रक्रिया को एक निश्चित समय (जिसे टाइम क्वांटम कहा जाता है) के लिए CPU आवंटित किया जाता है, और अगर वह प्रक्रिया समय समाप्त होने तक समाप्त नहीं होती, तो उसे कतार के अंत में भेज दिया जाता है और CPU अगली प्रक्रिया को दिया जाता है।

मुख्य विशेषताएँ  :

  • प्रीएम्प्टिव एल्गोरिदम: एक प्रक्रिया को CPU से हटा कर दूसरी प्रक्रिया को CPU दिया जा सकता है।
  • टाइम क्वांटम जितना छोटा होगा, एल्गोरिदम उतना ही प्रीएम्प्टिव होगा।
  • लाभ: सभी प्रक्रियाओं को निष्पक्ष रूप से CPU का समय मिलता है।
  • औसत प्रतिक्रिया समय कम होता है, जिससे यूजर को तेजी से प्रतिक्रिया मिलती है।
  • कमियाँ: यदि टाइम क्वांटम बहुत छोटा हो, तो प्रक्रिया स्विचिंग (Context Switching) की आवृत्ति बढ़ जाती है, जिससे ओवरहेड बढ़ सकता है।
  • यदि टाइम क्वांटम बहुत बड़ा हो, तो यह FCFS की तरह काम करने लगता है।
  • उपयुक्तता: मल्टी-यूजर सिस्टम में, जहाँ सभी प्रक्रियाओं को समान रूप से समय देना आवश्यक होता है।
  • उदाहरण: मान लीजिए कि चार प्रक्रियाएँ हैं P1, P2, P3, और P4 जिनका निष्पादन समय 5, 8, 2, और 6 यूनिट है। अगर टाइम क्वांटम 2 यूनिट है, तो CPU इन प्रक्रियाओं को 2-2 यूनिट समय देगा और फिर से उन्हीं प्रक्रियाओं के लिए दोबारा निष्पादन करेगा जब तक कि सभी समाप्त न हो जाएं।

4. प्राथमिकता शेड्यूलिंग (Priority Scheduling):

परिचय: इस एल्गोरिदम में प्रत्येक प्रक्रिया को एक प्राथमिकता (priority) दी जाती है, और CPU उस प्रक्रिया को आवंटित किया जाता है जिसकी प्राथमिकता सबसे अधिक होती है। प्राथमिकता शेड्यूलिंग को प्रीएम्प्टिव और नॉन-प्रीएम्प्टिव दोनों प्रकार से लागू किया जा सकता है।

मुख्य विशेषताएँ:

  • उच्च प्राथमिकता वाली प्रक्रिया को पहले CPU मिलता है।
  • प्राथमिकता संख्या कम या ज्यादा हो सकती है, लेकिन उच्च प्राथमिकता वाले को CPU पहले दिया जाता है।
  • लाभ: महत्वपूर्ण प्रक्रियाएँ जल्दी निष्पादित होती हैं।
  • कमियाँ: निम्न प्राथमिकता वाली प्रक्रियाएँ स्टारवेशन का शिकार हो सकती हैं, जिससे उन्हें बहुत लंबा इंतजार करना पड़ता है।
  • इस समस्या को एजिंग (Aging) के माध्यम से हल किया जा सकता है, जहाँ समय के साथ निम्न प्राथमिकता वाली प्रक्रियाओं की प्राथमिकता बढ़ाई जाती है।

  • उपयुक्तता:यह तब उपयुक्त होता है जब कुछ प्रक्रियाओं को अधिक महत्वपूर्ण कार्य करने के लिए तेजी से निष्पादित करने की आवश्यकता होती है।
  • उदाहरण: मान लीजिए कि पाँच प्रक्रियाएँ हैं P1, P2, P3, P4, और P5 जिनकी प्राथमिकताएँ क्रमशः 3, 1, 4, 2, और 5 हैं (1 उच्चतम प्राथमिकता)। इस मामले में, P2 सबसे पहले निष्पादित होगी, उसके बाद P4, P1, P3, और अंत में P5।

5. मल्टी-लेवल क्यू शेड्यूलिंग (Multi-Level Queue Scheduling):

परिचय : इस एल्गोरिदम में प्रक्रियाओं को उनके प्रकार के आधार पर विभिन्न क्यू (Queue) में विभाजित किया जाता है, और प्रत्येक क्यू के लिए एक अलग शेड्यूलिंग एल्गोरिदम का उपयोग किया जाता है। उदाहरण के लिए, इंटरएक्टिव (Interactive) और बैच (Batch) प्रक्रियाओं के लिए अलग-अलग क्यू हो सकते हैं।

मुख्य विशेषताएँ :

  • प्रत्येक क्यू के लिए एक अलग प्राथमिकता और शेड्यूलिंग एल्गोरिदम होता है।
  • लाभ: विभिन्न प्रकार की प्रक्रियाओं को बेहतर ढंग से संभाल सकता है।
  • कमियाँ: यह जटिल हो सकता है और सिस्टम पर अधिक लोड डाल सकता है।
  • उपयुक्तता: इसका उपयोग तब किया जाता है जब सिस्टम में प्रक्रियाओं के विभिन्न प्रकार होते हैं जिनके लिए विभिन्न शेड्यूलिंग आवश्यकताएँ होती हैं।

In this Chapter

Scheduling Algorithms in Hindi
Distributed System in Hindi
Real Time System in Hindi
System Calls in Hindi
System Program in Hindi
Structure of Operating System in Hindi
Layers Design of Structure in Hindi
Unix in Hindi
Virtual Machine in Hindi
Kernel-Based Operating System in Hindi
Process Concept in Hindi
Interacting Processes in Hindi
Threads in Hindi
Fundamental of Schedulling in Hindi
Scheduling Criteria in Hindi
Long Medium Short Term Scheduling in Hindi
Structure of Concurrent System in Hindi
Critical Region in Hindi
Critical Section in Hindi
Inter process Communication in Hindi
Monitor in Hindi
Semaphores in Hindi
Semaphores Implementation & Uses in Hindi
Logical and Physical Address in Hindi
Swapping in Hindi
Contiguous Allocation in Hindi
Segmentation in Hindi
Paging in Hindi
Paging with Segmentation in Hindi
kernel Memory Allocation in Hindi
Page Replacement Algorithms in Hindi
Virtual Memory in Hindi
Virtual Memory with demand Paging in Hindi
Deadlock & Characterization in Hindi
Methods for Handling Deadlocks in Hindi
Deadlock Thrashing in Hindi
Allocation of Frames in Hindi
Virtual Memory using Segmentation in Hindi
Interprocess Communication protocol in Hindi
Network Operating System in Hindi
Design Issues in Distributed File System in Hindi
Network Structure in Hindi
Structure Distributed System in Hindi
File System and Coordination in Hindi
Linux in Hindi
Commands of Linux in Hindi | लिनक्स के कमांड्स हिंदी में
Programmer Interface & File manipulation in Hindi
Process control in Linux in Hindi
Linux Kernel & Signals in Hindi
File System in Linux in Hindi
block & inodes in Hindi
System Editor in Hindi
Character Transliteration in Hindi
ED in Hindi
Vi Editor & There Commands in Hindi
Shell Script in Hindi
Looping & Decision Making in Hindi
Variables & File name Expansion in Hindi
Array in Hindi OS
Sub Program in Hindi
C interface with Linux in Hindi
Simpel Shell Programs in Hindi
BCA Part-1 | Operating Systems | Semester-I | MDSU Exam Paper 2023 (Held in 2024)
What is Operating System (OS) in Hindi
Operating System (OS) All Important Questions and Answers in Hindi (MDSU)
BCA || Operating System 2025 Paper || MDSU Exam Paper
BCA | OS(Operating System) 2023 Paper | MDSU Exam Paper
Type of Operating System in Hindi
Goals of Operating System in Hindi
Operation of Operating system in Hindi
Resource Allocation & Functions in Hindi
class of Operating system in Hindi
Batch Processing in Hindi
Multi Processing in Hindi
Time Sharing in Hindi