Process Scheduling in OS in Hindi – प्रोसेस शेड्यूलिंग क्या है?

Srajan
⏰ 6 min read

सिलेबस के अनुसार OPERATING SYSTEM के सभी टॉपिक यहाँ देखें — बिल्कुल फ्री

Table of Contents

Subject Video ▶

what is Process Scheduling in Hindi

Endless Horse – Think You Can Find the End? Play The Game
  • Process Scheduling वह प्रक्रिया है जिसमें Operating System यह निर्धारित करता है कि Ready Queue में मौजूद किस Process को CPU पर चलने का अवसर दिया जाएगा।
  • जब कई Processes CPU का उपयोग करना चाहती हैं, तब Operating System एक निश्चित नियम के अनुसार अगली Process का चयन करता है।
  • इसका मुख्य उद्देश्य CPU का अधिकतम उपयोग करना और Processes के Execution को व्यवस्थित बनाए रखना है।
  • इसमें CPU Time, Ready Queue, Processes और Scheduling Algorithms की महत्वपूर्ण भूमिका होती है।
  • इसका उपयोग Multitasking Operating Systems में किया जाता है, जहाँ एक समय में कई Programs Execution के लिए तैयार रहते हैं।
  • CPU Scheduler Ready Queue से Process का चयन करता है और CPU आवंटित करने का निर्णय लेता है।
  • उचित Scheduling से CPU Utilization बढ़ सकता है, Waiting Time घट सकता है और System का Response बेहतर हो सकता है।

Example of Process Scheduling (उदाहरण)

मान लीजिए, कंप्यूटर पर Browser, Music Player और Text Editor चल रहे हैं। इनकी Processes CPU का उपयोग करना चाहती हैं। Operating System Scheduling Algorithm के अनुसार इनमें से किसी एक Process को CPU देता है।

इसी प्रकार, Server पर कई Users की Requests को संसाधित करने में भी Scheduling की अवधारणा उपयोगी होती है।

Working of Process Scheduling in Hindi – कार्यप्रणाली

Process State Transition Diagram Standard five-state model with correctly connected arrows for Admit, Dispatch, Preemption, I/O Request, I/O Completion and Exit. New Ready Running Terminated Waiting Admit Dispatch Preemption I/O Request I/O Complete Exit
  1. Process Creation: Operating System नई Process बनाता है और उसे उपयुक्त स्थिति में रखता है।
  2. Ready Queue: CPU पर चलने के लिए तैयार Process, Ready Queue में प्रतीक्षा करती है।
  3. Process Selection: CPU Scheduler Algorithm के आधार पर अगली Process चुनता है।
  4. CPU Allocation: चुनी गई Process Running State में पहुँचती है और CPU पर Execution शुरू करती है।
  5. I/O Waiting: यदि Process को Input/Output की आवश्यकता होती है, तो वह Waiting State में जा सकती है।
  6. Next Selection: CPU उपलब्ध होने पर Scheduler दूसरी Ready Process चुन सकता है। Execution पूरा होने पर Process Terminated State में पहुँचती है।

Types of Process Schedulers in Hindi – शेड्यूलर के प्रकार

  1. Long-Term Scheduler: यह तय करता है कि नई Processes में से किन्हें System में Execution के लिए प्रवेश दिया जाए।
  2. Short-Term Scheduler: यह Ready Queue से अगली Process चुनकर CPU आवंटित करने का निर्णय लेता है। इसे CPU Scheduler भी कहते हैं।
  3. Medium-Term Scheduler: यह Memory Management के लिए Processes को अस्थायी रूप से Main Memory से हटाने और बाद में वापस लाने की प्रक्रिया को नियंत्रित करता है। इसे Swapping कहते हैं।

Process Scheduling Algorithms in Hindi – शेड्यूलिंग एल्गोरिदम

1.First Come First Serve (FCFS)

First Come First Serve (FCFS) एक Non-Preemptive CPU Scheduling Algorithm है, जिसमें Ready Queue में सबसे पहले आने वाली Process को पहले CPU मिलता है। यह Algorithm FIFO (First In First Out) के क्रम पर काम करता है। इसमें एक बार Process को CPU मिलने के बाद वह अपना CPU Burst पूरा होने तक चलती है या I/O Operation के लिए CPU छोड़ देती है।

Working of FCFS

  1. FCFS में Ready Processes को उनके आने के क्रम में Ready Queue में रखा जाता है।
  2. CPU Scheduler Queue में सबसे पहले मौजूद Process को CPU देता है।
  3. यह Process अपना CPU Burst पूरा करती है या I/O के लिए CPU छोड़ देती है, तब अगली Process को CPU मिलता है।
  4. इसी क्रम में Ready Queue की सभी Processes को CPU मिलता है।

Example of FCFS

मान लीजिए, P1, P2 और P3 Processes एक ही क्रम में Ready Queue में आती हैं। इनके CPU Burst Time क्रमशः 5, 3 और 2 मिलीसेकंड हैं। FCFS में पहले P1, फिर P2 और अंत में P3 Execute होगी।

Advantages of FCFS

  1. FCFS को implement करना आसान है, क्योंकि इसमें Processes को उनके आने के क्रम में CPU दिया जाता है।
  2. इसमें Process Selection के लिए CPU Burst Time या Priority की तुलना नहीं करनी पड़ती।
  3. FCFS में Ready Queue में पहले आने वाली Process को पहले CPU मिलता है, इसलिए समान परिस्थितियों में Arrival Order बना रहता है।

Disadvantages of FCFS

  1. इसमें लंबी Process पहले आने पर छोटी Processes को अधिक समय तक CPU की प्रतीक्षा करनी पड़ सकती है।
  2. FCFS में Convoy Effect हो सकता है, जिसमें कई छोटी Processes एक लंबी Process के पीछे प्रतीक्षा करती हैं।
  3. इसमें Interactive Applications को जल्दी Response देना कठिन हो सकता है, क्योंकि चल रही Process को केवल किसी दूसरी Process के आने पर Preempt नहीं किया जाता।

2. Shortest Job First (SJF)

Shortest Job First (SJF) एक CPU Scheduling Algorithm है, जिसमें Ready Queue में मौजूद Processes में से सबसे कम अनुमानित CPU Burst Time वाली Process को पहले CPU दिया जाता है। इसका Non-Preemptive रूप चुनी गई Process को CPU Burst पूरा होने तक चलने देता है। समान Arrival Time वाली Processes के लिए SJF Average Waiting Time को कम कर सकता है।

Working of SJF

  1. SJF में CPU Scheduler Ready Queue में मौजूद Processes के अनुमानित CPU Burst Time को देखता है।
  2. इसमें सबसे कम CPU Burst Time वाली Process को CPU दिया जाता है।
  3. Process के पूरा होने के बाद Scheduler बची हुई Ready Processes में से अगली छोटी Process चुनता है।
  4. यदि कोई Process अभी तक Ready नहीं हुई है, तो Scheduler उसे केवल उसके कम Burst Time के कारण नहीं चुन सकता।

Example of SJF

मान लीजिए, P1, P2 और P3 एक ही समय पर Ready होती हैं। इनके CPU Burst Time क्रमशः 6, 2 और 4 मिलीसेकंड हैं। SJF में P2 पहले, P3 दूसरे और P1 तीसरे स्थान पर Execute होगी।

Advantages of SJF

  1. SJF समान Arrival Time वाली Processes के लिए Average Waiting Time को Minimum कर सकता है।
  2. इसमें कम CPU Burst Time वाली Processes जल्दी पूरी हो सकती हैं, जिससे उनका Turnaround Time कम होता है।
  3. SJF ऐसे Batch Systems में उपयोगी है, जहाँ CPU Burst Time का अनुमान लगाया जा सकता है।

Disadvantages of SJF

  1. SJF में CPU Burst Time का सही अनुमान लगाना कठिन हो सकता है।
  2. इसमें लगातार छोटी Processes आने पर लंबी Process को लंबे समय तक CPU नहीं मिल सकता, जिसे Starvation कहते हैं।
  3. SJF में लंबी Processes के लिए Waiting Time बढ़ सकता है, खासकर जब Ready Queue में छोटी Processes आती रहती हैं।

3. Priority Scheduling

Priority Scheduling में CPU Scheduler Processes की Priority के आधार पर अगली Process चुनता है। प्रत्येक Process को एक Priority Value दी जाती है। कुछ Operating Systems में छोटी संख्या High Priority दिखाती है, जबकि कुछ में बड़ी संख्या High Priority दिखाती है। यह Algorithm Preemptive और Non-Preemptive दोनों रूपों में काम कर सकता है।

Working of Priority Scheduling

  1. Priority Scheduling में प्रत्येक Process को एक Priority Value दी जाती है।
  2. CPU Scheduler Ready Queue में मौजूद Processes की Priority की तुलना करता है।
  3. Scheduler System की Priority Policy के अनुसार सबसे अधिक Priority वाली Process चुनता है।
  4. Preemptive Priority Scheduling में अधिक Priority वाली नई Process आने पर चल रही Process को रोका जा सकता है।
  5. Non-Preemptive Priority Scheduling में चल रही Process सामान्यतः CPU छोड़ने या पूरा होने तक चलती रहती है।

Example of Priority Scheduling

मान लीजिए, P1, P2 और P3 की Priority क्रमशः 3, 1 और 2 है। यदि छोटी संख्या High Priority दिखाती है और तीनों Processes एक ही समय पर Ready हैं, तो P2 पहले, P3 दूसरे और P1 तीसरे स्थान पर Execute होगी।

Advantages of Priority Scheduling

  1. Priority Scheduling में महत्वपूर्ण Tasks को अधिक Priority देकर पहले CPU दिया जा सकता है।
  2. इसमें अलग-अलग Processes की जरूरत के अनुसार उनकी Priority तय की जा सकती है।
  3. यह Algorithm ऐसे Systems में उपयोगी है, जहाँ कुछ Tasks को दूसरे Tasks से पहले पूरा करना जरूरी होता है।

Disadvantages of Priority Scheduling

  1. इसमें Low Priority वाली Process लंबे समय तक CPU की प्रतीक्षा कर सकती है, जिसे Starvation कहते हैं।
  2. Processes को सही Priority देना कठिन हो सकता है, क्योंकि गलत Priority से System Performance प्रभावित हो सकती है।
  3. Priority Inversion की स्थिति में Low Priority वाली Process के पास मौजूद Resource के कारण High Priority वाली Process को प्रतीक्षा करनी पड़ सकती है।

4. Round Robin (RR)

Round Robin (RR) एक Preemptive CPU Scheduling Algorithm है, जिसका उपयोग Time-Sharing Systems में किया जाता है। इसमें प्रत्येक Ready Process को CPU के लिए एक निश्चित समय मिलता है, जिसे Time Quantum कहते हैं। यदि Process इस समय में पूरी नहीं होती, तो Scheduler उसे रोककर Ready Queue के अंत में भेज देता है और अगली Process को CPU देता है।

Working of Round Robin

  1. Round Robin में Ready Processes को FIFO क्रम में Ready Queue में रखा जाता है।
  2. CPU Scheduler पहली Process को निर्धारित Time Quantum के लिए CPU देता है।
  3. यदि Process Time Quantum के अंदर पूरी हो जाती है, तो उसे Ready Queue से हटा दिया जाता है।
  4. यदि Process का काम बाकी रहता है, तो उसे Preempt करके Ready Queue के अंत में भेज दिया जाता है।
  5. इसके बाद अगली Process को CPU मिलता है और यही क्रम Ready Processes के लिए repeat होता है।

Example of Round Robin

मान लीजिए, P1, P2 और P3 Ready Queue में हैं और Time Quantum 2 मिलीसेकंड है। Scheduler पहले P1 को 2 मिलीसेकंड, फिर P2 को 2 मिलीसेकंड और उसके बाद P3 को 2 मिलीसेकंड तक CPU देता है। जिस Process का काम बाकी रहता है, उसे Queue के अंत में भेज दिया जाता है।

Advantages of Round Robin

  1. Round Robin में Ready Processes को बारी-बारी से CPU मिलता है, जिससे CPU Sharing Fair रहती है।
  2. इसमें Interactive Systems की Processes को शुरुआती CPU समय जल्दी मिल सकता है।
  3. उचित Time Quantum होने पर Round Robin में किसी Ready Process को लगातार दूसरी Processes के कारण अनिश्चित समय तक प्रतीक्षा नहीं करनी पड़ती।

Disadvantages of Round Robin

  1. Time Quantum बहुत छोटा होने पर Context Switching अधिक होती है और CPU का समय खर्च होता है।
  2. Time Quantum बहुत बड़ा होने पर Round Robin का व्यवहार FCFS जैसा हो सकता है।
  3. कुछ Workloads में बार-बार CPU का अवसर मिलने के कारण Process का पूरा होने का समय बढ़ सकता है।

5. Shortest Remaining Time First (SRTF)

Shortest Remaining Time First (SRTF), Shortest Job First (SJF) का Preemptive रूप है। इसमें CPU Scheduler उस Ready Process को चुनता है जिसका Remaining CPU Burst Time सबसे कम होता है। यदि नई Process आने पर उसका CPU Burst Time, चल रही Process के Remaining Time से कम होता है, तो Scheduler चल रही Process को Preempt करके नई Process को CPU दे सकता है।

Working of SRTF

  1. SRTF में CPU Scheduler सभी Ready Processes का Remaining CPU Burst Time देखता है।
  2. इसमें सबसे कम Remaining Time वाली Process को CPU दिया जाता है।
  3. नई Process आने पर Scheduler उसके CPU Burst Time की तुलना चल रही Process के Remaining Time से करता है।
  4. यदि नई Process का Remaining Time कम है, तो चल रही Process को Preempt करके नई Process को CPU दिया जा सकता है।
  5. यह प्रक्रिया तब तक चलती है, जब तक सभी Processes पूरी नहीं हो जातीं।

Example of SRTF

मान लीजिए, P1 समय 0 पर आती है और उसका CPU Burst Time 8 मिलीसेकंड है। P2 समय 1 पर आती है और उसका CPU Burst Time 4 मिलीसेकंड है। समय 1 पर P1 का Remaining Time 7 मिलीसेकंड है, जबकि P2 को 4 मिलीसेकंड चाहिए। इसलिए SRTF में P1 को Preempt करके P2 को CPU दिया जाता है।

Advantages of SRTF

  1. SRTF समान परिस्थितियों में Average Waiting Time को कम कर सकता है, क्योंकि कम Remaining Time वाली Process को पहले CPU मिलता है।
  2. इसमें छोटी Processes जल्दी पूरी हो सकती हैं, जिससे उनका Turnaround Time कम हो सकता है।
  3. नई छोटी Process आने पर उसे CPU जल्दी मिल सकता है, जिससे उसका Response Time बेहतर हो सकता है।

Disadvantages of SRTF

  1. SRTF में लगातार छोटी Processes आने पर लंबी Process को लंबे समय तक CPU नहीं मिल सकता।
  2. नई Process आने पर बार-बार Preemption होने से Context Switching Overhead बढ़ सकता है।
  3. इसमें Processes के CPU Burst Time का अनुमान लगाना जरूरी होता है, जो हमेशा सही नहीं होता।
  4. SRTF में हर नई Process के आने पर Remaining Time की तुलना करनी पड़ सकती है, इसलिए इसका Scheduling Logic FCFS से अधिक Complex होता है।

Scheduling Criteria in Hindi – शेड्यूलिंग के मापदंड

  1. CPU Utilization: CPU कुल समय में से कितने समय तक कार्य कर रहा है।
  2. Throughput: एक निश्चित समय में पूरी होने वाली Processes की संख्या।
  3. Turnaround Time: Process के आने से लेकर उसके पूरा होने तक का कुल समय।
  4. Waiting Time: Ready Queue में CPU मिलने की प्रतीक्षा में बिताया गया कुल समय।
  5. Response Time: Request आने से लेकर पहली बार Response मिलने तक का समय।
  6. Fairness: Processes को CPU उपयोग करने का उचित अवसर देना।

Advantages of Process Scheduling in Hindi – फायदे

  1. Better CPU Utilization: CPU के उपलब्ध समय का बेहतर उपयोग करने में मदद मिलती है।
  2. Improved Response Time: उपयुक्त Scheduling से Interactive Systems में जल्दी Response मिल सकता है।
  3. Reduced Waiting Time: सही Algorithm कई परिस्थितियों में Average Waiting Time कम कर सकता है।
  4. Multitasking: CPU का समय अलग-अलग Processes को देकर कई Programs के कार्य आगे बढ़ाए जा सकते हैं।
  5. Fair Resource Allocation: उचित Policy से Processes को CPU समय का व्यवस्थित अवसर मिलता है।

Disadvantages of Process Scheduling in Hindi – नुकसान

  1. Scheduling Overhead: Scheduling और Context Switching में CPU का समय खर्च होता है।
  2. Starvation: कुछ Algorithms में कम Priority वाली Process लंबे समय तक CPU की प्रतीक्षा कर सकती है।
  3. Complexity: कुछ Algorithms को लागू करना और उनकी Performance का मूल्यांकन करना कठिन होता है।
  4. Waiting Time: अनुपयुक्त Algorithm से कुछ Processes का Waiting Time बढ़ सकता है।
  5. Time Quantum Selection: Round Robin में गलत Time Quantum चुनने से Context Switching बढ़ सकती है या Response Time प्रभावित हो सकता है।

Preemptive vs Non-Preemptive Scheduling in Hindi – अंतर

BasisPreemptive SchedulingNon-Preemptive Scheduling
CPU ControlOperating System चल रही Process से CPU वापस ले सकता है।Process के CPU छोड़ने या समाप्त होने तक सामान्यतः CPU वापस नहीं लिया जाता।
Response TimeInteractive Systems में बेहतर हो सकता है।लंबी Process के कारण Response Time बढ़ सकता है।
OverheadContext Switching अधिक हो सकती है।आमतौर पर Context Switching कम होती है।
ExamplesRound Robin, SRTFFCFS, Non-Preemptive SJF

FAQs

Process Scheduling में Operating System Ready Queue से अगली Process चुनता है, जिसे CPU दिया जाना है।

CPU Scheduler Ready Queue से Process चुनता है। Process CPU पर चलती है और पूरा होने, Waiting State में जाने या Preemption होने पर अगली Process चुनी जा सकती है।

मुख्य प्रकार Long-Term Scheduler, Short-Term Scheduler और Medium-Term Scheduler हैं।

प्रमुख Algorithms FCFS, SJF, Priority Scheduling, Round Robin, SRTF, Multilevel Queue और Multilevel Feedback Queue हैं।

मुख्य मापदंड CPU Utilization, Throughput, Turnaround Time, Waiting Time, Response Time और Fairness हैं।

इसके प्रमुख फायदे बेहतर CPU Utilization, कम Waiting Time, बेहतर Response Time और Multitasking को समर्थन देना हैं।

Scheduling Overhead, Context Switching का खर्च, Starvation और कुछ परिस्थितियों में अधिक Waiting Time इसकी सीमाएँ हैं।

Preemptive Scheduling में Operating System चल रही Process से CPU वापस ले सकता है। Non-Preemptive Scheduling में सामान्यतः Process के CPU छोड़ने या समाप्त होने के बाद दूसरी Process को CPU मिलता है।

Srajan

✍️ Srajan

Undergraduate - Diploma & B.Tech - Content Writer | +1yr Experience

•