scheduling algorithms in hindi

 आज हम computer course in hindi मे हम scheduling algorithms in hindi के बारे में जानकारी देते क्या होती है तो चलिए शुरु करते हैं-

scheduling algorithms in hindi:-

CPU Scheduling में प्रमुख रूप से scheduler द्वारा यह निर्णय लिया जाता है कि यह Ready Queue में उपलब्ध sick process को सबसे पहले CPU allocate किया जाए ।

types of scheduling algorithms in hindi:-

1. First - come - First - Served ( FSFS ) Scheduling 
2. Shortcut - Job - First ( SJF ) Scheduling 
3. Round Robin Scheduling 
4. Priority Based Scheduling 
5. Multilevel - Queue Scheduling

1. First - come - First - Served ( FSFS ) Scheduling in hindi :-

FCFS Scheduling Algorithm सभी Scheduling Algorithm में सबसे साधारण एलगोरिथम है और इस algorithm को implement करना भी आसान है , क्योंकि यह FIFO queue ( First - in - First out queue ) द्वारा maintain किया जाता है । इस एल्गोरिथम में जब कोई process ready queue में प्रवेश करता है और तो उस प्रोसेस का PCB ( Process Control Block ) queue के tail से link कर दिया जाता है तथा जब CPU फ्री होता है , तो queue के head वाले प्रोसेस के लिए CPU को allocate किया जाता है । running process को queue से हटा दिया जाता है । अर्थात् इस एल्गोरिथम में कोई भी प्रोसेस CPU को तभी फ्री करता है और जब इसका execution complete हो जाता है ।
FCFS Scheduling , non - premptive है , जो system throughput तथा CPU Utilization के rate को कम करता है । कोई भी Scheduling Algorithm , non - premptive कहलाता है और यदि वह किसी प्रोसेस को CPU को उसके complete execution के लिए allocate करता है अर्थात् उस प्रोसेस के execution के समय किसी भी अन्य प्रोसेस को CPU allocate नहीं किया जा सकता है और इसके ठीक विपरीत pre - emptive Scheduling Algorithm में किसी प्रोसेस के execution के समय किसी अन्य प्रोसेस को CPU को allocate किया जा सकता है । चूंकि FCFS Scheduling Algorithm में एक प्रोसेस को complete processing के लिए CPU allocate किया जाता है । शॉर्ट प्रोसेसेस को काफी समय तक wait करनी पड़ती है और यदि CPU किसी वैसे प्रोसेस के लिए allocate को चुका हो , जो अपने complete execution में काफी लम्बा ले ।

2. Shortest - Job - First Scheduling in hindi:-

Shortest - job - First Scheduling Algorithm में सबसे पहले CPU उसे प्रोसेस के लिए allocate किया जाता है और जिस प्रोसेस का execution time सबसे कम होता है । यदि दो प्रोसेसेस का execution टाइम एक समान होता है , तो उन्हें Schedul करने के लिए FCFS Algorithm का प्रयोग किया जाता है ।
SJF Scheduling Algorithm में average waiting time और FCFS Scheduling Algorithm की तुलना में कम होता है । परन्तु SJF Scheduling Algorithm को non - pre - emptive या pre - emptive के रूप में implement किया जा सकता है और दोनों ही  cases में , SJF Scheduler ready queue में उस प्रोसेस को खोजता है , जिसका execution time सबसे कम होता है । SJF Scheduling Algorithm दिए गए प्रोसेसेस के सेट के average waiting time को कम से कम करने के reference में एक optimal scheduling algorithm है , क्योंकि यह प्रोसेसेस को shorter.excution time से longer excution time के order में सलेक्ट करता है ।
SJF Scheduling Algorithm में scheduler के performance को बढ़ाने के लिए और सबसे छोटे प्रोसेस को ready queue से खोजने के बजाए ready queue के प्रोसेसेस को उनके execution time के बढ़ते हुए value के आधार पर short किया जा सकता है । जिससे कि shortest execution time वाला प्रोसेस ready queue में सबसे ऊपर तथा ongest excution time वाला प्रोसेस ready queue में सबसे नीचे एवं अन्य प्रोसेसेस ascending order में व्यवस्थित हो जाता हैं ।

3. Round Robin Scheduling Algorithm in hindi:-

Round Robin Scheduling एल्गोरिथम एक पुराना और साधारण तथा आमतौर पर use होने वाला एलगोरिथम है । Round robin scheduling , एल्गोरिथम मुख्य रूप से time - shareing तथा mulitiuser सिस्टम में use होता है , जहाँ कि अच्छा response time तथा users के बीच सिस्टम resources को share करने की पर जोर दिया जाता है और इस एल्गोरिथम में CPU के टाइम को time - slice में divide कर दिया जाता है । इस time - slice की अवधि 10 से 100 मिलीसेकण्ड्स तक की हो सकती है और प्रत्येक प्रोसेस को execute करने के लिए wait किए जाते हैं । जब अन्य प्रोसेसेस ready queue में रन execute करने के लिए wait करते रहते हैं तो कोई भी प्रोसेस एक से अधिक time - slice के लिए रन नहीं कर सकता है ।
यदि कोई प्रोसेस complete एक time - slice में execute नहीं कर पाता है उसे execute करने के लिए और अधिक time slice की आवश्यकता होती है और तो उसे ready queue के अंत में भेज दिया जाता है , जहाँ वह अपने अगले time slice के एलोकेशन की wait करता है । परन्तु यदि कोई running process ऑपरेटिंग सिस्टम को इनपुट / आउटपुट ( I / O ) के लिए request करता है या अपने termination से releted फाइल ऑपरेटिंग सिस्टम को भेजता है और तो shceduler किसी दूसरे प्रोसेस को रन executor करने के लिए schedule करता है ।
Round robin scheduling algorithm द्वारा सिस्टम resources का एक समान utilization किया जाता है । इस algorithm द्वारा एक बार time - slice सभी प्रोसेस को assign किया जाता है तथा CPU किसी भी प्रोसेस को उसी time - slice के लिए execute करता है । small process , एक ही time slice में execute कर सकते हैं , उसका response time काफी अच्छा होता है , परन्तु long process जिन्हें execute करने के लिए एक से अधिक time - slice की जरूरत पड़ सकती है , प्रत्येक time - slice की समाप्ति के बाद अपने execution के पूरा होने तक बार बार ready queue में रख दिए जाते हैं ।

 इस Round Robin Scheduling को implement करने के लिए एक dedicated timer की आवश्यकता होती है । किसी time - slice के expire करने की स्थिति में टाइमर ही ऑपरेटिंग सिस्टम को interrupt करता है और interrupt को प्रोसेस करने के लिए CPU दूसरे प्रोसेस पर switch over करता है । इसके पूर्व कि CPU दूसरे प्रोसेस पर switch करे , पुराने प्रोसेस के सभी registers को सेव  करने के बाद नए प्रोसेस से releted सभी registers को लोड किया जाता है । इस प्रकार CPU द्वारा पुराने प्रोसेस के state को सेव करते हुए एवं नए प्रोसेस को उसके स्टेट के साथ  load करना एक प्रोसेस से दूसरे प्रोसेस पर स्विच करना context switching कहलाता है ।
scheduler रनिंग प्रोसेस का context स्टोर करता है , रनिंग प्रोसेस को ready queue के end में मूव करता है , तथा ready queue के head से प्रोसेस को dispatch करता है और जब भी कोई रनिंग प्रोसेस अपने time - slice  के खत्म होने से पहले अपना कंट्रोल ऑपरेटिंग सिस्टम को surrender करता है , तो scheduler नए प्रोसेस को CPU के लिए despatch करता है ।

 4. Priority Based Scheduling in hindi:-

यह किसी भी प्रोसेस को ready queue से सबसे पहले execute होने के लिए priority provide करना highest priority कहलाती है और जैसा कि Shortest Job First शिड्यूलिंग एल्गोरिथम में देखा कि ready में उस प्रोसेस को execute करने के लिए highest priority दी जाती है , जिसका execution - time सबसे कम होता है । shortest job first scheduling algorithm भी priority based scheduling algorithm की एक विशेष स्थिति होती है।

Priority-Based Scheduling में प्रत्येक प्रोसेस की priority define की जाती है तथा Scheduler ready queue से highest priority वाले प्रोसेस को ही execute करने के लिए select करता है और समान priority वाले प्रोसेसेस First Come First Serve scheduling algorithm के आधार पर schedule किए जाते हैं । कुछ सिस्टम में छोटी संख्या द्वारा high priority को तो कुछ में high priority को define किया जाता है । लेकिन ज्यादातर छोटी संख्या द्वारा low priority को दर्शाया जाता है । 
low - priority processes के indefinite time तक के लिए block होने की समस्या को एक technique से हल किया जाता है और जिसे एजिंग ( Aging ) कहते हैं। 

5. Multilevel Queue Scheduling in hindi:-

इस Multilevel Queue Scheduling एल्गोरिथम में प्रोसेसेस को विभिन्न groups में classify किया जाता है । यह प्रोसेसेस को foreground या interactive तथा background या Batch प्रोसेसेस में classify किया जा सकता है और जहाँ interactive प्रोसेसेस execute करने में short response time की आवश्यकता होती है , वहीं batch प्रोसेसे को execute करने के लिए अक्सर वहाँ long response time की जरूरत होती है । अतः इन्हें अपने - अपने ढंग से schedule करने की आवश्यकता होती है । इसके foreground प्रोसेसेस की priority background प्रोसेसेस से high होती है। 
Multi queue scheduling algorithm में ready queue को अलग - अलग queues में divide किया जाता है । इसके पश्चात् प्रत्येक queue में प्रोसेसेस को उनके size , priority तथा type के आधार पर स्थायी रूप से assign कर दिया जाता है । प्रत्येक queue के अपने - अपने scheduling algorithm होते हैं । interactive or foregound प्रोसेस वाले queue को Round Robin Scheduling Algorithm द्वारा schedule किया जा सकता है , जबकि batch process or background प्रोसेस वाले queue को First Come First Serve Scheduling एल्गोरिथम द्वारा schedule किया जा सकता है ।

टिप्पणियाँ