प्राथमिकता विरासत प्रोटोकॉल (PIP) एक सिंक्रनाइज़ेशन तंत्र है जिसका उपयोग रियल-टाइम ऑपरेटिंग सिस्टम में प्राथमिकता उलटफेर समस्या को हल करने के लिए किया जाता है। प्राथमिकता उलटफेर तब होता है जब एक हाई-प्रायोरिटी टास्क एक लोअर-प्रायोरिटी टास्क द्वारा ब्लॉक हो जाता है जो एक शेयर्ड संसाधन रखता है, जिससे सिस्टम देरी होती है और संभावित रूप से डेडलाइन छूट जाती है।
प्राथमिकता उलटफेर समस्या
तीन टास्क पर विचार करें जिनकी प्राथमिकताएं अलग-अलग हैं: हाई (H), मीडियम (M), और लो (L)। यदि टास्क L एक संसाधन प्राप्त करता है जिसकी टास्क H को आवश्यकता है, जबकि टास्क M चल रहा है, तो टास्क H को M और L दोनों के पूरा होने का इंतजार करना होगा। यह प्राथमिकता-आधारित शेड्यूलिंग सिद्धांत का उल्लंघन करता है।
प्राथमिकता उलटफेर समस्या हाई (H) मीडियम (M) लो (L) L द्वारा रखे गए संसाधन की प्रतीक्षा में ब्लॉक्ड चल रहा है (L को प्रीमेप्ट करता है) संसाधन रखता है, M द्वारा ब्लॉक्ड प्राथमिकता उलटफेर
प्राथमिकता विरासत प्रोटोकॉल कैसे काम करता है
PIP प्राथमिकता उलटफेर को हल करता है ब्लॉक्ड हाईएस्ट-प्रायोरिटी टास्क की प्राथमिकता को अस्थायी रूप से संसाधन रखने वाले टास्क को विरासत में देकर। यह सुनिश्चित करता है कि संसाधन धारक जल्दी पूरा कर सकता है और संसाधन जारी कर सकता है।
PIP एल्गोरिदम चरण
जब एक हाई-प्रायोरिटी टास्क एक संसाधन का अनुरोध करता है जिसे एक लोअर-प्रायोरिटी टास्क द्वारा रखा गया है, तो लोअर-प्रायोरिटी टास्क हाई-प्रायोरिटी टास्क की प्राथमिकता विरासत में लेता है।
संसाधन-धारक टास्क विरासत में मिली उच्च प्राथमिकता पर चलता है जब तक कि वह संसाधन जारी नहीं करता।
एक बार संसाधन जारी होने पर, टास्क की प्राथमिकता अपने मूल स्तर पर वापस आ जाती है।
हाई-प्रायोरिटी टास्क अब संसाधन प्राप्त कर सकता है और आगे बढ़ सकता है।
उदाहरण PIP कार्यरत
प्राथमिकता विरासत प्रोटोकॉल टाइमलाइन समय: 0 1 2 3 4 5 हाई: ब्लॉक्ड चल रहा मीडियम: चल रहा (सामान्य मामला) लो: R धारण करता है विरासत में मिली प्राथमिकता लीजेंड: R = संसाधन PIP के बिना: H M और L की प्रतीक्षा करता है PIP के साथ: L H की प्राथमिकता विरासत में लेता है
अन्य तकनीकों के साथ तुलना
| Technique | Approach | Advantages | Disadvantages |
|---|---|---|---|
| Priority Inheritance | Dynamic priority boost | Simple, no deadlock | Chain blocking possible |
| Priority Ceiling | Fixed ceiling priority | Prevents deadlock | May cause unnecessary blocking |
| Binary Semaphores | Mutual exclusion only | Simple implementation | Deadlock prone |
PIP के लाभ
सरलता: न्यूनतम ओवरहेड के साथ लागू करना आसान
पारदर्शिता: टास्क प्राथमिकता परिवर्तनों से अनजान हैं
दक्षता: असंबंधित टास्क की अनावश्यक ब्लॉकिंग नहीं
पोर्टेबिलिटी: विभिन्न हार्डवेयर प्लेटफॉर्म पर काम करता है
वास्तविक दुनिया के अनुप्रयोग
PIP मिशन-महत्वपूर्ण प्रणालियों में व्यापक रूप से उपयोग किया जाता है:
एयरोस्पेस सिस्टम: एवियोनिक्स में फ्लाइट कंट्रोल सॉफ्टवेयर
मेडिकल डिवाइस: पेशेंट मॉनिटरिंग और लाइफ सपोर्ट सिस्टम
इंडस्ट्रियल ऑटोमेशन: रोबोटिक कंट्रोल और मैन्युफैक्चरिंग प्रोसेस
ऑटोमोटिव: इंजन कंट्रोल यूनिट्स और सेफ्टी सिस्टम
VxWorks, QNX, और FreeRTOS जैसे रियल-टाइम ऑपरेटिंग सिस्टम PIP को अपने मानक सिंक्रनाइज़ेशन तंत्र के रूप में लागू करते हैं।
सीमाएं
चेन ब्लॉकिंग: मल्टीपल इनहेरिटेंस चेन अभी भी देरी का कारण बन सकते हैं
अनप्रेडिक्टेबल टाइमिंग: इनहेरिटेंस अवधि क्रिटिकल सेक्शन लंबाई पर निर्भर करती है
कोई डेडलॉक रोकथाम नहीं: अंतर्निहित रूप से सर्कुलर वेट कंडीशन को नहीं रोकता
निष्कर्ष
प्राथमिकता विरासत प्रोटोकॉल संसाधन-धारक टास्क की प्राथमिकता को अस्थायी रूप से बढ़ाकर रियल-टाइम सिस्टम में प्राथमिकता उलटफेर को प्रभावी ढंग से संबोधित करता है। इसकी सरलता और दक्षता इसे एम्बेडेड और रियल-टाइम अनुप्रयोगों के लिए पसंदीदा विकल्प बनाती है जहां अनुमानित टास्क निष्पादन महत्वपूर्ण है।