दा इंडियन वायर » टैकनोलजी » ऑपरेटिंग सिस्टम में मल्टीथ्रेडिंग मॉडल्स की पूरी जानकारी
टैकनोलजी

ऑपरेटिंग सिस्टम में मल्टीथ्रेडिंग मॉडल्स की पूरी जानकारी

multithreading models in operating system in hindi

मल्टीथ्रेडिंग क्या है? (multithreading in operating system in hindi)

ऑपरेटिंग सिस्टम में मल्टीथ्रेडिंग एक execution मॉडल है जो एक प्रोसेस को एक से ज्यादा कोड सेगमेंट (थ्रेड्स) को उन प्रोसेस के साथ रन होने की सुविधा प्रदान करता है।

आप थ्रेड को एक चाइल्ड प्रोसेस की तरह भी देख सकते हैं जो पैरेंट प्रोसेस के संसाधनों का प्रयोग करते हैं और स्वतंत्र रूप से एक्सीक्यूट होते हैं।

एक सिंगल प्रोसेस के एक से ज्यादा थ्रेड एक सिंगल CPU सिस्टम में CPU को शेयर कर सकते हैं या किसी समानांतर मल्टीप्रोसेसर सिस्टम में पूरे के पूरे रन हो सकते हैं।

कुछ ऑपरेटिंग सिस्टम यूजर लेवल थ्रेड और कर्नेल लेवल थ्रेड- दोनों की ही कंबाइन की हुई फैसिलिटी कि सुविधा देते हैं। सोलारिस इस कंबाइंड एप्रोच का एक बहुत ही अच्छा उदाहरण है।

कंबाइंड सिस्टम में समान एप्लीकेशन के अंदर एक से ज्यादा थ्रेड एक से ज्यादा प्रोसेसर पर समानांतर में रन कर सकते हैं और किसी ब्लॉकिंग सिस्टम कॉल को पूरी प्रक्रिया को ब्लाक करने की कोई जरूरत नहीं पड़ती। मल्टीथ्रेडिंग मॉडल्स तीन तरह के होते हैं:

  • मेनी टू मेनी रिलेशनशिप
  • मेनी टू वन रिलेशनशिप
  • वन टू वन रिलेशनशिप

अब हम इन तीनो के बारे में एक-एक कर जानेंगे और समझेंगे कि ये क्या हैं:

मेनी टू मेनी रिलेशनशिप मॉडल (many to many relationship model in hindi)

मेनी टू मेनी मॉडल किसी भी संख्या में यूजर थ्रेड्स को बराबर या छोटे संख्या में कर्नेल थ्रेड्स पर मल्टीप्लेक्स कर सकता है।

many_to_many

नीचे वाले चित्र में आप मेनी टू मेनी मल्टीथ्रेडिंग मॉडल को देख सकते हैं जहां छः यूजर लेवल थ्रेड्स को छः कर्नेल लेवल थ्रेड्स के साथ मल्टीप्लेक्स किया गया है।

इस मॉडल में डेवलपर उतनी संख्या में यूजर थ्रेड्स बनाने की क्षमता रखता है जितने की जरूरत हो। वहीं उनसे जुड़े कर्नेल थ्रेड्स एक मल्टीप्रोसेसर मशीन में समानांतर रूप से रन कर सकते हैं।

Many to many thread model

ये मॉडल concurrency पर सबसे सटीक एक्यूरेसी देता है और जब कोई थ्रेड ब्लॉकिंग सिस्टम कॉल को परफॉर्म करता है तब कर्नेल किसी और थ्रेड को एक्सीक्यूट होने के लिए शेड्यूल कर सकता है।

मेनी टू वन रिलेशनशिप मॉडल (many to one relationship model in hindi)

मेनी टू वन मॉडल बहुत सारे यूजर लेवल थ्रेड्स को एक कर्नेल लेवल थ्रेड से मैप करता है। यूजर स्पेस में थ्रेड का प्रबंधन थ्रेड लाइब्रेरी द्वारा किया जाता है। जब थ्रेड कोई ब्लॉकिंग सिस्टम कॉल बनाता है तब पूरा प्रोसेस ब्लॉक्ड हो जाता है।

many_to_many

एक समय पर कोई एक थ्रेड ही कर्नेल को एक्सेस कर सकता है, इसीलिए मल्टीप्रोसेसर पर समानांतर रूप से एक से ज्यादा थ्रेड्स रन करने में अक्षम होते हैं।

Many to one thread model

अगर यूजर लेवल थ्रेड लाइब्रेरी को ऑपरेटिंग सिस्टम में इस तरह से इमप्लेमेंट किया जाता है कि सिस्टम उन्हें सपोर्ट नहीं करता और तब कर्नेल थ्रेड्स मेनी टू वन रिलेशनशिप मोड का प्रयोग करते हैं।

वन टू वन रिलेशनशिप मॉडल (one to one relationship model in hindi)

यूजर लेवल थ्रेड और कर्नेल लेवल थ्रेड का ये वन टू वन रिलेशनशिप होता है। ये मॉडल मेनी टू वन मॉडल से ज्यादा concurrency कि सुविधा देता है।

जब कोई थ्रेड ब्लॉकिंग सिस्टम कॉल बनाता है तब भी ये दुसरे थ्रेड को रन करने की अनुमति देता है।

many_to_many

ये माइक्रोप्रोसेसर पर एक से ज्यादा थ्रेड्स को समानांतर में रन भी होने की सुविधा देता है।

One to one thread model

इस मॉडल की खामी यह है कि यूजर थ्रेड को बनाने के बाद उसके लिए कर्नेल थ्रेड भी बनाने की जरूरत पड़ती है। OS/2, विंडोज NT और विंडोज 2000 इस वन टू वन रिलेशनशिप मॉडल का प्रयोग करते हैं।

इस लेख से सम्बंधित यदि आपका कोई भी सवाल या सुझाव है, तो आप उसे नीचे कमेंट में लिख सकते हैं।

About the author

अनुपम कुमार सिंह

बीआईटी मेसरा, रांची से कंप्यूटर साइंस और टेक्लॉनजी में स्नातक। गाँधी कि कर्मभूमि चम्पारण से हूँ। समसामयिकी पर कड़ी नजर और इतिहास से ख़ास लगाव। भारत के राजनितिक, सांस्कृतिक और भौगोलिक इतिहास में दिलचस्पी ।

Add Comment

Click here to post a comment

फेसबुक पर दा इंडियन वायर से जुड़िये!

Want to work with us? Looking to share some feedback or suggestion? Have a business opportunity to discuss?

You can reach out to us at [email protected]