एक प्रक्रिया क्या है?
एक प्रक्रिया एक कार्यक्रम का निष्पादन है जो आपको एक कार्यक्रम में निर्दिष्ट उचित कार्यों को करने की अनुमति देता है। इसे एक निष्पादन इकाई के रूप में परिभाषित किया जा सकता है जहां एक कार्यक्रम चलता है। OS आपको उन प्रक्रियाओं को बनाने, शेड्यूल करने और उन्हें समाप्त करने में मदद करता है जो CPU द्वारा उपयोग की जाती हैं। मुख्य प्रक्रिया द्वारा बनाई गई अन्य प्रक्रियाओं को बाल प्रक्रिया कहा जाता है।
एक प्रक्रिया संचालन को पीसीबी (प्रोसेस कंट्रोल ब्लॉक) की मदद से आसानी से नियंत्रित किया जा सकता है। आप इसे प्रक्रिया के मस्तिष्क के रूप में मान सकते हैं, जिसमें प्रसंस्करण से संबंधित सभी महत्वपूर्ण जानकारी जैसे प्रक्रिया आईडी, प्राथमिकता, स्थिति और सामग्री CPU आदि शामिल हैं।
इस प्रक्रिया बनाम थ्रेड ट्यूटोरियल में, आप सीखेंगे:
- एक प्रक्रिया क्या है?
- थ्रेड क्या है?
- प्रक्रिया के गुण
- धागे के गुण
- प्रक्रिया और थ्रेड के बीच अंतर
- मल्टीथ्रेडिंग क्या है?
थ्रेड क्या है?
थ्रेड एक निष्पादन इकाई है जो एक प्रक्रिया का हिस्सा है। एक प्रक्रिया में कई थ्रेड्स हो सकते हैं, सभी एक ही समय में निष्पादित होते हैं। यह समवर्ती प्रोग्रामिंग में निष्पादन की एक इकाई है। एक धागा हल्का है और एक अनुसूचक द्वारा स्वतंत्र रूप से प्रबंधित किया जा सकता है। यह आपको समानता का उपयोग करके एप्लिकेशन के प्रदर्शन को बेहतर बनाने में मदद करता है।
कई थ्रेड्स डेटा, कोड, फाइलें आदि जैसी जानकारी साझा करते हैं। हम थ्रेड्स को तीन अलग-अलग तरीकों से लागू कर सकते हैं:
- कर्नेल-स्तर के धागे
- उपयोगकर्ता स्तर के धागे
- संकर सूत्र
कुंजी प्रसार
- प्रक्रिया का अर्थ है एक कार्यक्रम निष्पादन में है, जबकि थ्रेड का अर्थ है एक प्रक्रिया का एक खंड।
- एक प्रक्रिया लाइटवेट नहीं है, जबकि थ्रेड्स लाइटवेट हैं।
- एक प्रक्रिया को समाप्त करने में अधिक समय लगता है, और थ्रेड को समाप्त करने में कम समय लगता है।
- निर्माण के लिए प्रक्रिया में अधिक समय लगता है, जबकि थ्रेड को निर्माण के लिए कम समय लगता है।
- प्रक्रिया की संभावना संदर्भ स्विचिंग के लिए अधिक समय लेती है, जबकि थ्रेड्स संदर्भ स्विचिंग के लिए कम समय लेता है।
- एक प्रक्रिया ज्यादातर अलग-थलग है, जबकि थ्रेड्स स्मृति साझा करते हैं।
- प्रक्रिया डेटा साझा नहीं करती है, और थ्रेड्स एक दूसरे के साथ डेटा साझा करते हैं।
प्रक्रिया के गुण
यहाँ प्रक्रिया के महत्वपूर्ण गुण हैं:
- प्रत्येक प्रक्रिया के निर्माण के लिए प्रत्येक प्रक्रिया के लिए अलग सिस्टम कॉल की आवश्यकता होती है।
- यह एक पृथक निष्पादन इकाई है और यह डेटा और सूचना को साझा नहीं करता है।
- संचार के लिए प्रक्रियाएं IPC (इंटर-प्रोसेस कम्युनिकेशन) तंत्र का उपयोग करती हैं जो सिस्टम कॉल की संख्या को काफी बढ़ाता है।
- प्रक्रिया प्रबंधन अधिक सिस्टम कॉल लेता है।
- एक प्रक्रिया में मेमोरी, और डेटा मैप के साथ ढेर, ढेर मेमोरी है।
धागे के गुण
यहाँ थ्रेड के महत्वपूर्ण गुण हैं:
- सिंगल सिस्टम कॉल एक से अधिक थ्रेड बना सकता है
- थ्रेड्स डेटा और जानकारी साझा करते हैं।
- थ्रेड्स निर्देश, वैश्विक और ढेर क्षेत्रों को साझा करते हैं। हालाँकि, इसका रजिस्टर और स्टैक है।
- थ्रेड प्रबंधन बहुत कम खपत करता है, या कोई सिस्टम कॉल नहीं करता है क्योंकि थ्रेड्स के बीच संचार साझा मेमोरी का उपयोग करके प्राप्त किया जा सकता है।
प्रक्रिया और थ्रेड के बीच अंतर
यहां, प्रोसेस और थ्रेड के बीच महत्वपूर्ण अंतर हैं
पैरामीटर | प्रोसेस | थ्रेड |
---|---|---|
परिभाषा | प्रक्रिया का अर्थ है एक कार्यक्रम निष्पादन में है। | थ्रेड का अर्थ है एक प्रक्रिया का एक खंड। |
लाइटवेट | प्रक्रिया लाइटवेट नहीं है। | धागे हल्के होते हैं। |
समाप्ति का समय | प्रक्रिया को समाप्त करने में अधिक समय लगता है। | थ्रेड को समाप्त करने में कम समय लगता है। |
रचना समय | इसके निर्माण में अधिक समय लगता है। | इसके निर्माण में कम समय लगता है। |
संचार | थ्रेड की तुलना में प्रक्रियाओं के बीच संचार को अधिक समय की आवश्यकता होती है। | थ्रेड्स के बीच संचार को प्रक्रियाओं की तुलना में कम समय की आवश्यकता होती है। |
प्रसंग स्विचिंग समय | संदर्भ स्विचिंग के लिए अधिक समय लगता है। | संदर्भ स्विचिंग के लिए कम समय लगता है। |
संसाधन | प्रक्रिया अधिक संसाधनों का उपभोग करती है। | धागा कम संसाधनों का उपभोग करता है। |
ओएस द्वारा उपचार | ओएस द्वारा अलग-अलग प्रक्रिया को अलग-अलग चलाया जाता है। | सभी स्तर के पीयर थ्रेड्स को ओएस द्वारा एक ही कार्य के रूप में माना जाता है। |
याद | प्रक्रिया ज्यादातर अलग-थलग है। | धागे स्मृति साझा करते हैं। |
शेयरिंग | यह डेटा साझा नहीं करता है | धागे एक दूसरे के साथ डेटा साझा करते हैं। |
मल्टीथ्रेडिंग क्या है?
मल्टीथ्रेडिंग एक ऑपरेटिंग सिस्टम के भीतर निष्पादन के कई थ्रेड्स को संदर्भित करता है। सरल शब्दों में, एक ही प्रक्रिया के दो या अधिक धागे एक साथ निष्पादित होते हैं।