What Is Multithreading models in Hindi?

हेलो दोस्तों आज के इस ब्लॉग पोस्ट(What Is Multithreading models in Hindi) में हम आपको multithreaded Process और Multithreading Process models के बारे में हिंदी में जानकारी देंगे |

इस ब्लॉग पोस्ट(What Is Multithreading models in Hindi) में हम multithreading model से related और multithreaded Process से रिलेटेड कुछ बहुत इम्पोर्टेन्ट questions को discuss करेंगे जैसे कि:

What is the multithreaded process?
What are the multithreading models?
What is the difference between a single-threaded and multithreaded process?
What are the advantages of using multithreading instead of multiple processes?
What Is Multithreaded Process In Hindi?

What Is Multithreading models in Hindi?

What is a multithreaded process?/ multithreaded Process क्या है ?|What Is Multithreading models in Hindi?

multithreaded Process मतलब कि एक ही प्रोग्राम के कई सारे threads अथवा parts , और जब एक multithreaded environment में एक program के कई सारे थ्रेड एक साथ parallely रन होते है तब हम ऐसी Process और program को multithreaded Process अथवा program कहते है |What Is Multithreading models in Hindi|

एक्चुअली में यह CPU की ability होती है एक साथ Process को रन करना | किसी भी computer architecture प्रोग्राम में जहाँ पर operating system multithreaded environment को सपोर्ट करता है वहां पर आसानी से एक प्रोग्राम के कई सारे thread parallel में रन हो सकते है |

What are the multithreading models?/ Multithreading models क्या होते है ?

जैसा कि हम जानते है कि computer architecture में दो तरह के threads होते है, एक होता है user thread और दूसरा होता है kernel thread | user thread kernel thread के ऊपर होता है और यह बिना कर्नेल के सपोर्ट के काम करता है | user thread वो thread होते है जिन्हे application प्रोग्राम उन्हें वहां पर रखता है |

और kernel threads जो होते है वो OS के साथ supported होते है | लेकिन कुछ specific implementation के case में user threads को kernel threds के साथ mapped होना चाहिए | और ऐसा करने के लिए हमें कुछ models की जरुरत होती है जो कि strategies provide करते है user threads को kernel threads के साथ mapped करने की |

What is the difference between a single-threaded and multithreaded process?/ single threaded और multithreaded Process में क्या डिफ्रेन्स होता है ?

single threded Process में जो Process का execution होता है वो एक sequence में होता है | जब एक एक Process का execution खत्म हो जाता है तब दूसरी Process का execution start होता है |

वही दूसरी तरफ multithreaded Process में एक साथ कई सारी Process अथवा programs के कई सारे पार्ट्स को एक साथ execute किया जा सकता है |

What are the advantages of using multithreading instead of multiple processes?/ multiple process की अपेक्षा Multithreading Process का क्या advantages होता है ?

एक multiprocessor environment में हम कई सारे थ्रेड्स को एक साथ कई सारे CPU में रन करा सकते है parallely | इसका मतलब यह हुआ कि जब हमारे पास कई सारे थ्रेड्स एक साथ हो रन करने के लिए तब यह थ्रेड्स मल्टीप्रोसेस्सोर एरिया में ज्यादा फ़ास्ट एक्सेक्यूटे होते है वजाये कि uniprocessor एरिया में | और multiple threds वैसे भी multiple processes की अपेक्षा ज्यादा फ़ास्ट execute होती है क्योकि उन्हें कम resources की जरुरत होती है run होने के लिए और बे less overhead create करती है |

Benefits: multithreaded प्रोग्राम के benefits को हम निम्नलिखित categories में बाँट सकते है –

Resource sharing: वैसे तो जो threads होते है वो by default ही मेमोरी और रिसोर्सेज शेयर करते है उस process के जिसको वे belong करते है | और इससे प्रॉफिट यह होता है कि कोई भी एप्लीकेशन डिफरेंट डिफरेंट activities के लिए कई सारे thread रख सकता है वो भी एक ही address space के साथ |

Responsiveness: एक interactive application को Multithreading बनाने से यह प्रॉफिट हो जाता है कि अगर प्रोग्राम का कोई पार्ट अभी ब्लॉक भी है या फिर कोई lengthy operation perform कर रहा है तब तक parallel में प्रोग्राम का कोई और segment रन कर रहा होता है | और इससे यूजर के लिए एक responsiveness क्रिएट होती है और यूजर का ध्यान application से नहीं हटता है |

Economy: प्रोसेस क्रिएशन के लिए मेमोरी और रिसोर्स को allocate करना थोड़ा महंगा होता है | इसलिए थ्रेड्स का उपयोग करना कुछ इकोनोमिकल होता है क्योकि थ्रेड्स आसानी से उस प्रोसेस के रिसोर्सेज शेयर करते है जिसको वे belong करते है |

Utilization of multiprocessor architecture: Multithreading का एक benefit तो यह होता है कि इससे multiprocessor architecture को बढ़ावा मिलता है | जहाँ पर प्रत्येक थ्रेड परलेली एक्सेक्यूटे हो सकते है वो भी अलग अलग प्रोसेसर पर |

Types of model / Multithreading models in OS / Multithreading models के प्रकार:

ऐसे कई सारे सिस्टम होते है जो कि दोनों यूजर थ्रेड और कर्नेल थ्रेड को सपोर्ट प्रोवाइड करवाते है | और इसे के चलते एक नया multithrading models डेवेलोप होता है | Multithreading models के कई प्रकार निम्नलिखित है :

Many to one model:

many to one मॉडल के अनुसार कई सारे user level threads को एक kernel thread के साथ map किया जाता है | जैसे कि नीचे दिए हुए fig में आप देख सकते है | यहाँ पर जो thread management होती है वो यूजर स्पेस में होती है, इसलिए यह efficient है | लेकिन अगर कोई भी एक thread blocking system कॉल बनाता है तो फिर पूरा सिस्टम ब्लॉक हो सकता है |

और multiple threads एक साथ multiprocessor में parallely रन नहीं हो पाएंगे | क्योकि एक टाइम पर एक ही थ्रेड kernel को एक्सेस कर सकता है |

multithreaded-process
Multithreaded Process: What Is Multithreading models in Hindi

One to one model:

one to one model में हम हर एक user thread को kernel thread से map करते है | और इस मॉडल में हम ज्यादा concurrency प्राप्त करते है many to one मॉडल की अपेक्षा क्योकि अगर यहाँ पर एक थ्रेड ब्लॉकिंग सिस्टम क्रिएट करता है तो फिर भी दूसरा थ्रेड आसानी से रन जो सकता है | और यह मॉडल हमें एक साथ कई सारे थ्रेड्स को मल्टीप्रोसेस्सोर में parallely रन करने के लिए allow करता है | बस एक drawback जो है इस मॉडल का वो यह है कि यहाँ पर एक यूजर को यूजर थ्रेड create करने के लिए हमें एक corresponding kernel थ्रेड की जरुरत पड़ती है |

तो इस मॉडल में कई सारे kernel threads को क्रिएट करने का ओवरहेड कही न कही एप्लीकेशन की परफॉरमेंस को एफेक्ट कर सकती है | और इस मॉडल के इम्प्लीमेंटेशन पर कई सारे threads को restrict किया जाता है जो कि सिस्टम द्वारा supported रहते है | एक्साम्प्ले, Windows NT , Windows 2000 , and OS /2 इस model को implement करते है |

Many to many models:

many to many मॉडल में कई सारे यूजर थ्रेड्स को कुछ कम या फिर बराबर कर्नेल थ्रेड्स के साथ map अथवा multiplex किया जाता है |
और इनमे जो कर्नेल थ्रेड्स है वो स्पेसिफिक हो सकते है या तो किसी पर्टिकुलर एप्लीकेशन के लिए या फिर मशीन के लिए | many to many model के अंतर्गत एक डेवलपर चाहे जितने भी यूजर थ्रेड्स को क्रिएट कर सकता है और इसमें हम true concurrency की expectation नहीं रख सकते है क्योकि kernel केवल एक ही थ्रेड को एक बार में schedule कर सकता है |

manytomany-multithreading
Many to Many Multithreading process

इन सभी मॉडल्स में से हमें सबसे ज्यादा concurrency हमें one to one model में मिलती है | लेकिन developer को इस model का use करते समय इस बात का ध्यान देना चाहिए के वे एक application के लिए बहुत सारे threads को create न करें | और जहाँ तक many to many model की बात है तो यह मॉडल ऐसे किसी भी तरह के drawbacks से suffer नहीं करता है |

यहाँ पर डेवेलपर चाहे जितने यूजर थ्रेड्स को क्रिएट कर सकता है और उसके हिसाब से पैरेलल में मल्टीप्रोसेस्सोर पर करेस्पोंडिंग कर्नेल थ्रेड रन हो सकते है | एक्साम्प्ले के लिए salaries 2 IRI X और Tru64 Unix इस मॉडल को implement करते है |

Conclusion:

तो दोस्तों इस ब्लॉग पोस्ट(What Is Multithreading models in Hindi) में हमने multithreaded processes और उसके benefits के बारे में जाना | हमने इस ब्लॉग में एक्स्प्लोर किया कि multithreaded Process क्या होती है ? Multithreading models क्या होते है ? single threaded Process और multithreaded Process में क्या डिफरेंस होता है ? multiple Process से Multithreading Process कैसे अच्छी और advantageous होती है ?

इस ब्लॉग(What Is Multithreading models in Hindi) को लेकर आपके मन में कोई भी प्रश्न है तो आप हमें इस पते [email protected]पर ईमेल लिख सकते है|

आशा करता हूँ, कि आपने इस पोस्ट(What Is Multithreading models in Hindi) को खूब एन्जॉय किया होगा|

आप स्वतंत्रता पूर्वक अपना बहुमूल्य फीडबैक और कमेंट यहाँ पर दे सकते है|

आपका समय शुभ हो|

Anurag

I am a blogger by passion, a software engineer by profession, a singer by consideration and rest of things that I do is for my destination.