प्रक्रिया बनाम धागा

लेखक: Laura McKinney
निर्माण की तारीख: 4 अप्रैल 2021
डेट अपडेट करें: 13 मई 2024
Anonim
प्रक्रिया और थ्रेड के बीच अंतर - जॉर्जिया टेक - उन्नत ऑपरेटिंग सिस्टम
वीडियो: प्रक्रिया और थ्रेड के बीच अंतर - जॉर्जिया टेक - उन्नत ऑपरेटिंग सिस्टम

विषय

प्रक्रिया और थ्रेड के बीच का अंतर यह है कि प्रक्रिया प्रोग्राम का निष्पादन है जबकि थ्रेड एक प्रक्रिया के वातावरण द्वारा संचालित प्रोग्राम का निष्पादन है।


कंप्यूटर विज्ञान में कई शर्तें हैं जो बहुत महत्वपूर्ण हैं और यदि आप इन शर्तों के बारे में नहीं सीखते हैं तो आप इसे प्राप्त नहीं कर सकते। प्रक्रिया और धागा कंप्यूटर विज्ञान में सबसे महत्वपूर्ण अवधारणा में से एक है। प्रक्रिया कार्यक्रम का निष्पादन है जबकि थ्रेड प्रक्रिया के वातावरण द्वारा संचालित कार्यक्रम का निष्पादन है। कोई भी प्रक्रिया और धागा एक दूसरे से बिलकुल अलग होते हैं। हर प्रक्रिया एक दूसरे से अलग होती है थ्रेड्स मेमोरी और रिसोर्सेज को साझा करते हैं। जब प्रोग्राम बनाया जाता है, तो इन निर्देशों को निष्पादित करने के लिए निर्देशों का सेट निष्पादित किया जाता है, इसे मूल रूप से प्रक्रिया के रूप में जाना जाता है। एक कंप्यूटर का ऑपरेटिंग सिस्टम बनाता है, शेड्यूल करता है और प्रक्रियाओं को भी समाप्त करता है। माता-पिता की प्रक्रिया और बच्चे की प्रक्रियाएं हैं। प्रक्रिया नियंत्रण ब्लॉक कंप्यूटर में प्रक्रिया संचालन को नियंत्रित करने के लिए जिम्मेदार है। प्रक्रिया नियंत्रण ब्लॉक में प्रक्रिया की सभी महत्वपूर्ण जानकारी होती है। हर प्रक्रिया की अपनी प्रक्रिया आईडी, प्राथमिकता राज्य, PWS और CPU की सामग्री होती है। थ्रेड प्रोग्राम निष्पादन है जो कार्य के लिए प्रक्रिया संसाधनों का उपयोग करता है। प्रक्रिया में धागा होता है, प्रक्रिया एक कंटेनर है और धागा उस कंटेनर की एक सामग्री है। ऑपरेटिंग सिस्टम का कर्नेल एक स्टैक और प्रत्येक थ्रेड को एक थ्रेड कंट्रोल ब्लॉक आवंटित करता है। थ्रेड कंट्रोल ब्लॉक एक ही प्रक्रिया के थ्रेड्स के बीच स्विच करने के लिए जिम्मेदार है। कर्नेल-लीवर थ्रेड्स, उपयोगकर्ता-स्तरीय थ्रेड्स, हाइब्रिड थ्रेड्स जैसे धागे होते हैं। थ्रेड की तीन अवस्थाएं हैं जैसे कि रनिंग, रेडी और ब्लॉक।


प्रक्रिया नियंत्रण ब्लॉक एक कर्नेल आधारित डेटा संरचना है जो शेड्यूलिंग, डिस्पैचिंग, कॉन सेव जैसी महत्वपूर्ण विशेषताओं का उपयोग करता है। निर्धारण प्रक्रिया के अनुक्रम को चुनने की विधि है। डिस्पैचिंग वह प्रक्रिया है जो निष्पादित होने वाली प्रक्रिया के लिए एक वातावरण सेट करती है। कॉन सेव एक ऐसी प्रक्रिया है जो सूचना को बचाती है। जब आप प्रक्रिया बनाते हैं, तो प्रत्येक प्रक्रिया के लिए एक सिस्टम कॉल होता है। एक प्रक्रिया एक अलग निष्पादन इकाई है और यह डेटा और जानकारी साझा करती है। हर प्रक्रिया आईपीसी का उपयोग करती है जो अंतर-प्रक्रिया संचार है जो सिस्टम कॉल की संख्या को बढ़ाती है। इस प्रकार थ्रेड्स में प्राथमिकता गुण हैं इस तरह से कई थ्रेड सक्रिय हैं। एक प्रणाली एक धागा बना सकती है। थ्रेड डेटा और जानकारी साझा कर सकते हैं जबकि प्रक्रिया नहीं कर सकते।

सामग्री: प्रक्रिया और धागे के बीच अंतर

  • तुलना चार्ट
  • प्रक्रिया क्या है?
  • थ्रेड क्या है?
  • मुख्य अंतर
  • निष्कर्ष
  • व्याख्यात्मक वीडियो

तुलना चार्ट

आधारप्रक्रियाधागा
अर्थप्रक्रिया कार्यक्रम का निष्पादन है

थ्रेड एक प्रक्रिया के वातावरण द्वारा संचालित कार्यक्रम का निष्पादन है।


 

यादप्रक्रिया किसी भी मेमोरी को साझा नहीं करती है।थ्रेड साझा मेमोरी और संसाधन।
दक्षता प्रक्रिया थ्रेड की तुलना में कम कुशल हैप्रक्रिया की तुलना में धागा अधिक कुशल है
समय प्रक्रिया में अधिक समय लगता हैधागे को कम समय लगता है

प्रक्रिया क्या है?

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

थ्रेड क्या है?

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

मुख्य अंतर

  1. प्रक्रिया कार्यक्रम का निष्पादन है जबकि थ्रेड एक प्रक्रिया के वातावरण द्वारा संचालित कार्यक्रम का निष्पादन है।
  2. प्रक्रिया किसी भी स्मृति को साझा नहीं करती है जबकि थ्रेड स्मृति और संसाधनों को साझा करता है।
  3. प्रक्रिया थ्रेड से कम कुशल है जबकि थ्रेड प्रक्रिया से अधिक कुशल है।
  4. प्रक्रिया में अधिक समय लगता है जबकि थ्रेड में कम समय लगता है

निष्कर्ष

ऊपर इस लेख में हम कोड उदाहरण के साथ प्रक्रिया और थ्रेड के बीच स्पष्ट अंतर देखते हैं।

व्याख्यात्मक वीडियो