विषय-सूचि
मल्टीलेवल शेड्यूलिंग क्या है? (multilevel queue scheduling in hindi)
ऐसा हो सकता है कि रेडी क्यू के अंदर के सारे प्रोसेस को विभिन्न क्लास में परिभाषित कर दिया जाये जहां हर एक क्लास की अपनी अलग शेड्यूलिंग जरूरतें हो।
उदाहरण के तौर पर ऑपरेटिंग सिस्टम में एक कॉमन डिवीज़न है फोरग्राउंड (इंटरैक्टिव) प्रोसेस और बैकग्राउंड (बैच) प्रोसेस। इन दोनों क्लासेज के अपने अलग-अलग शेड्यूलिंग जरूरतें हैं।
ऐसी स्थिति के लिए मल्टीलेवल क्यू शेड्यूलिंग अल्गोरिथम का प्रयोग किया जाता है। अब आइये देखते हैं कि ये काम कैसे करता है।
रेडी क्यू को सभी प्रोसेस के लिए अलग-अलग क्यू में बाँट दिया जाता है।
उदाहरण के तौर पर यहाँ हम विभिन्नप्रकार के प्रोसेस लेते हैं- सिस्टम प्रोसेस, इंटरैक्टिव प्रोसेस और बैच प्रोसेस।
इन सभी प्रोसेस का अपना अलग क्यू होता है। अब आप नीचे वाले चित्र में देख सकते हैं:
इन तीनो विभिन्न प्रकार के प्रोसेस के अपने अलग-अलग क्यू हैं। सभी क्यू का अपना अलग शेड्यूलिंग अल्गोरिथम है। उदाहरण के तौर पर क्यू 1 और क्यू 2 राउंड रोबिन का प्रयोग करेंगे वहीं क्यू 3 FCFS का प्रयोग कर के प्रोसेस को शेड्यूल कर सकता है।
क्यू के दौरान शेड्यूलिंग: अगर सारे क्यू के पास कुछ प्रोसेस हों तब क्या होगा? कौन से प्रोसेस को CPU मिलना चाहिए? इसका फैसला क्यू के दौरान करना जरूरी होता है। इसे करने के दो तरीके होते हैं:
- फिक्स्ड प्रायोरिटी preemptive शेड्यूलिंग मेथड– हर क्यू का लोअर प्रायोरिटी क्यू के उपर absolute प्रायोरिटी होती है। नीचे वाले प्रायोरिटी आर्डर पर विचार कीजिये: queue 1 > queue 2 > queue 3. इस अल्गोरिथम के अनुसार बैच क्यू 3 में कोई प्रोसेस रन नहीं कर सकता जब तक कि क्यू 1 और क्यू 2 पूरा खाली न हो जाये। अगर कोई बैच प्रोसेस (क्यू 3) रन हो रहा है,और कोई भी सिस्टम (क्यू 1) या इंटरैक्टिव प्रोसेस (क्यू 2) रेडी क्यू में प्रवेश करता है तब बैच को प्रीम्प्ट कर दिया जाता है।
- Time slicing – इस मेथड में प्रत्येक क्यू CPU का एक निश्चित भाग लेता है और अपने प्रोसेस को शेड्यूल करने के लिए प्रयोग कर सकता है। मान लीजिये, क्यू 1 अगर CPU टाइम क्यू का पचास प्रतिशत लेता है और क्यू 2 तीस प्रतिशत लेता है और क्यू 3 बीस प्रतिशत CPU टाइम लेता है।
उदाहरण (examples of multilevel queue scheduling in os in hindi)
नीचे चार प्रोसेस के टेबल को देखिये जहां मल्टीलेवल क्यू शेड्यूलिंग हो रहा है।क्यू नम्बर प्रोसेस का क्यू दिखाता है।
नीचे इस प्रश्न का gantt चार्ट दिया गया है:
शुरुआत में दोनों क्यू के पास प्रोसेस हैं इसीलिए प2 में के प्रोसेस (P1, P2) पहले रन होगा (हायर प्रायोरिटी की वजह से) और वो ऐसा राउंड रोबिन तरीके से होगा और 7 यूनिट के बाद पूरा हो जाएगा।
इसके बाद क्यू 2 के अंदर का प्रोसेस (P3) रन होना शुरू होगा (क्योंकि अब क्यू 1 में कोई प्रोसेस नहीं बचा है) लेकिन जब ये रन हो रहा है तभी P4 क्यू 1 में आ जाएगा और 3 को इंटरप्ट करने के बाद 5 सेकंड्स के लिए रन होगा।
इसके कम्पलीट होने के बाद P3 फिर से CPU लेगा और अपना execution पूरा करेगा।
इस लेख से सम्बंधित यदि आपका कोई भी सवाल या सुझाव है, तो आप उसे नीचे कमेंट में लिख सकते हैं।
मुझे बहुत बढ़िया समझ आ रहा है।आपका ये सॉल्व्ड questions।