सॉफ्टवेयर के लिए Share की गई मेमोरी एक प्रकार की मेमोरी होती है, जिसे कई एप्लिकेशन या Procedures द्वारा Share किया जा सकता है, जो Inter-application communication प्रदान करने या अनावश्यक डेटा Copy से बचने के इरादे से किया जाता है। यह डेटा Share करने या पास करने का एक कुशल साधन है क्योंकि यह इनपुट / आउटपुट (I / O) जैसी अन्य प्रक्रिया का उपयोग करने की आवश्यकता को दूर करता है। एक एप्लिकेशन Shared Memory में डेटा को बचाता है, जबकि एक अन्य एप्लिकेशन इसे पाया जाने पर उपयोग कर सकता है।

परिभाषा - शेयर्ड  मेमोरी का क्या अर्थ है?(Definition - What does shared memory mean?in Hindi)

प्रोसेसर के Reference में, Shared Memory रैंडम एक्सेस मेमोरी (रैम) का एक हिस्सा है जिसे मल्टी प्रोसेसर सिस्टम में सभी प्रोसेसर द्वारा एक्सेस किया जा सकता है।




What is Distributed Shared Memory? in Hindi (डिस्ट्रिब्यूटेड शेयर्ड मेमोरी क्या होता है ?)

सॉफ्टवेयर के लिए Share की गई मेमोरी विभिन्न Program के लिए Communication Process से अधिक ओवरहेड के बिना डेटा को transmit करने और पास करने का एक तरीका है। Shared Memory के साथ, एक प्रोग्राम Shared Memory को लिखता है किसी भी डेटा को प्राप्त करने के लिए किसी अन्य प्रोग्राम की आवश्यकता होती है।
उदाहरण के लिए, यदि प्रोग्राम ए, प्रोग्राम बी को एक सूची देना चाहता है, तो यह डेटा को Shared Memory में स्टोर करता है और इसे संकेत करने के लिए एक सेमीफोर या अन्य फ़्लैगिंग सिस्टम के साथ चिह्नित करता है कि यह प्रोग्राम बी द्वारा पढ़ने के लिए तैयार है।
शेयर्ड मेमोरी क्या है? हिंदी में

जब प्रोग्राम बी को फ़ाइल मिलती है, तो यह देखने के लिए यह देखने के लिए अनुमति देता है कि यह देखने के लिए अर्ध-जाँच करता है। यदि अनुमति दी गई है, तो यह वह करता है जो इसे फ़ाइल को करने की आवश्यकता है, इसे Shared Memory में रखता है या इसे अपडेट करता है। 

हार्डवेयर के Reference में, विशेष रूप से माइक्रोप्रोसेसर, Shared Memory कई प्रोसेसर द्वारा उपयोग किए जाने वाले रैम का एक बड़ा ब्लॉक है। यह प्रोग्राम करना आसान है क्योंकि सभी प्रोसेसर डेटा के समान Image Share करते हैं, जिससे तेजी से Communicate की सुविधा मिलती है। हालांकि, यह जटिल हो सकता है क्योंकि प्रोसेसर तेजी से पहुंच के लिए मेमोरी को Cache करते हैं, जिससे Cache compatibility जैसी समस्याएं हो सकती हैं।




What's the Shared Memory? in Hindi(साझा मेमोरी क्या है? हिंदी में)

Shared Memory दो या दो से अधिक प्रक्रियाओं के बीच Share की गई मेमोरी है। हालाँकि, हमें Memory or Communication के कुछ अन्य साधनों को Share करने की आवश्यकता क्यों है?

कंप्यूटर प्रोग्रामिंग में, Shared Memory एक ऐसी विधि है जिसके द्वारा प्रोग्राम प्रक्रिया नियमित ऑपरेटिंग सिस्टम सेवाओं का उपयोग करके पढ़ने और लिखने की तुलना में अधिक तेज़ी से डेटा का आदान-प्रदान कर सकती है। उदाहरण के लिए, एक क्लाइंट प्रक्रिया में सर्वर प्रक्रिया को पास करने के लिए डेटा हो सकता है जो सर्वर प्रक्रिया को क्लाइंट को Revised और वापस करना है। आमतौर पर, इसके लिए क्लाइंट को आउटपुट फाइल (ऑपरेटिंग सिस्टम के बफ़र्स का उपयोग करके) और सर्वर को उस फाइल को बफ़र्स से इनपुट के रूप में पढ़ने के लिए अपने Work Place पर भेजना होगा।

Shared Memory के Designated area का उपयोग करके, डेटा को सिस्टम सेवाओं का उपयोग किए बिना दोनों प्रक्रियाओं के लिए सीधे सुलभ बनाया जा सकता है। डेटा को साझा मेमोरी (Shared Memory) में रखने के लिए, क्लाइंट को सेमाफोर वैल्यू चेक करने के बाद शेयर्ड मेमोरी में एक्सेस मिल जाता है, डेटा लिखता है, और फिर सर्वर को सिग्नल देने के लिए सेमाफोर को रीसेट करता है (जो समय-समय पर संभव इनपुट के लिए शेयर की गई मेमोरी की जांच करता है) कि डेटा इंतजार कर रहा है। बदले में, सर्वर प्रक्रिया डेटा को Shared Memory area में वापस लिखती है, यह Indicate करने के लिए कि डेटा पढ़ने के लिए तैयार है।
Shared Memory
Image Credit : Tutorials Point

वितरित सिस्टम में साझा की गई मेमोरी(Distributed System Shared Memory)

Share की गई मेमोरी एक अलग तकनीक का उपयोग करती है लेकिन इसका एक ही परिणाम होता है: अलग-अलग कंप्यूटर बेहतर प्रदर्शन और स्केलेबिलिटी के लिए मेमोरी Share करते हैं। Distributed Shared Memory अलग-अलग कंप्यूटर सिस्टम को सर्वर Level से एक Logical रूप से Share किए गए Address Space पर abstract करके एक-दूसरे की मेमोरी तक पहुंचने में सक्षम बनाती है।




आर्किटेक्चर या तो मेमोरी को अलग कर सकता है और नोड्स और मुख्य मेमोरी के बीच भागों को Distributed कर सकता है, या नोड्स के बीच सभी मेमोरी को Distributed कर सकता है। Distributed Shared Memory में या तो हार्डवेयर (नेटवर्क इंटरफेस और Cache Campatibility Circuit) या सॉफ्टवेयर का उपयोग किया जाता है। Single या मल्टीप्रोसेसर शेयर्ड मेमोरी  के विपरीत, मेमोरी मेमोरी स्केल को कुशलतापूर्वक Distribute किया और बड़े जटिल डेटाबेस जैसे Intensive processing कार्यों का Support करता है।

सावधानी: साझा मेमोरी चुनौतियाँ(Caution: Shared Memory Challenges)

शेयर्ड मेमोरी  प्रोग्रामिंग एक सीपीयू या क्लस्टर सीपीयू में सीधी होती है। सभी प्रोसेसर डेटा के समान Image Share करते हैं, और उनके बीच Communication बहुत तेज है; और शेयर्ड मेमोरी प्रोग्रामिंग एक अपेक्षाकृत सरल मामला है।




हालांकि, अधिकांश मल्टीप्रोसेसर सिस्टम मुख्य मेमोरी के अलावा अपने प्रोसेसर को व्यक्तिगत कैश मेमोरी प्रदान करते हैं। रैम का उपयोग करने की तुलना में कैशे मेमोरी प्रोसेसिंग काफी तेज है, लेकिन यदि समान सिस्टम भी शेयर्ड मेमोरी  का उपयोग कर रहा है, तो Conflict and data degradation का कारण बन सकता है। कैश मेमोरी आर्किटेक्चर में शेयर्ड मेमोरी  के लिए तीन मुख्य मुद्दे हैं: Degraded Access Time, Data Inclusion and Wrong Sharing.

Post a Comment

Blogger

Your Comment Will be Show after Approval , Thanks

Ads

 
[X]

Subscribe for our all latest News and Updates

Enter your email address: