कॉपी-ऑन-राइट (CoW) क्या है?

मार्च २०,२०२१

कॉपी-ऑन-राइट (CoW) एक सतत चुनौती का समाधान करता है सॉफ्टवेयर इंजीनियरिंग: एकाधिक प्रक्रियाओं के बीच डेटा कैसे साझा करें या डेटा संरचनाएं बिना अनावश्यक रूप से इसे दोहराए। इंजीनियर अक्सर संसाधन उपयोग को अनुकूलित करने, ओवरहेड को कम करने और संरक्षित करने के लिए इस मेमोरी-प्रबंधन तकनीक पर भरोसा करते हैं डेटा अखंडता विभिन्न कंप्यूटिंग वातावरणों में.

कॉपी-ऑन-राइट (CoW) क्या है?

कॉपी-ऑन-राइट क्या है?

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

CoW प्रदर्शन-महत्वपूर्ण प्रणालियों में एक आवश्यक अवधारणा है क्योंकि यह अनावश्यक प्रतिकृति को समाप्त करता है। सिस्टम अब बड़े डेटा सेट की प्रतिलिपि नहीं बनाते हैं जब उन्हें केवल पढ़ने की पहुँच की आवश्यकता होती है। इसके बजाय, वे केवल तभी डेटा की प्रतिलिपि बनाते हैं जब लेखन अनुरोध एक अलग प्रतिलिपि की आवश्यकता सुनिश्चित करता है।

कॉपी-ऑन-राइट कैसे काम करता है??

कॉपी-ऑन-राइट कई उपभोक्ताओं को एक ही अंतर्निहित मेमोरी ब्लॉक पर निर्देशित करके काम करता है जब तक कि कोई डेटा को संशोधित करने का प्रयास नहीं करता। लेखन ऑपरेशन को संभालने के लिए तंत्र इन चरणों का पालन करता है:

  1. लेखन अनुरोध का पता लगाएँसिस्टम साझा किए गए चिह्नित डेटा पर प्रत्येक लेखन प्रयास को रोक लेता है।
  2. एक नया मेमोरी ब्लॉक आवंटित करेंसाझा डेटा पर लंबित लेखन अनुरोध की पहचान करने पर सिस्टम एक अलग मेमोरी क्षेत्र आवंटित करता है।
  3. संदर्भ पुनर्निर्देशित करेंलेखक के संदर्भ नए, निजी मेमोरी ब्लॉक पर स्विच हो जाते हैं, जबकि अन्य उपभोक्ता मूल डेटा को संदर्भित करना जारी रखते हैं।
  4. लेखन कार्य निष्पादित करेंसिस्टम नव आवंटित प्रतिलिपि पर लेखन कार्य पूरा करता है, तथा केवल पढ़ने वाले उपभोक्ताओं के लिए मूल ब्लॉक की मूल स्थिति को संरक्षित करता है।

इंजीनियर CoW को महत्व देते हैं क्योंकि यह मेमोरी संसाधनों को संरक्षित करता है, खासकर उन परिदृश्यों में जहां पढ़ने के संचालन की संख्या लिखने के संचालन से अधिक होती है। बड़े सिस्टम इस तकनीक से तब लाभान्वित होते हैं जब कई प्रक्रियाएँ या थ्रेड बड़े डेटा सेट को संभालते हैं लेकिन उन्हें शायद ही कभी बदलने की आवश्यकता होती है।

कॉपी-ऑन-राइट उदाहरण

ऑपरेटिंग सिस्टम जो कार्यान्वित करते हैं कांटा() कॉल कॉपी-ऑन-राइट का एक उत्कृष्ट उदाहरण प्रदान करते हैं। इंजीनियर अक्सर चाइल्ड प्रोसेस बनाने के लिए प्रोसेस फ़ॉर्किंग का उपयोग करते हैं:

  • आरंभ में स्मृति पृष्ठ साझा करेंजब ऑपरेटिंग सिस्टम एक चाइल्ड प्रोसेस को जन्म देता है, तो यह मेमोरी पेजों को चिह्नित करता है केवल पढ़ने के लिए और उन्हें पैरेंट और चाइल्ड के बीच शेयर करता है। दोनों प्रक्रियाएँ एक ही ओर इशारा करती हैं भौतिक स्मृति, दोहराव को कम करना।
  • चाइल्ड में ऑपरेशन लिखेंयदि चाइल्ड प्रोसेस किसी साझा पेज पर लिखता है, तो ऑपरेटिंग सिस्टम पेज फॉल्ट को ट्रिगर करता है। वह पेज फॉल्ट सिस्टम को चाइल्ड के संशोधनों के लिए एक नया पेज आवंटित करने का संकेत देता है।
  • अलग प्रतियां. चाइल्ड नए आवंटित पेज पर पढ़ना और लिखना जारी रखता है। इस बीच, पैरेंट प्रोसेस मूल पेज से पढ़ता है, असंशोधित डेटा को संरक्षित करता है।

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

कॉपी-ऑन-राइट का उद्देश्य क्या है?

CoW अनावश्यक डेटा दोहराव को समाप्त करके समग्र प्रणाली दक्षता में सुधार करता है:

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

कॉपी-ऑन-राइट को कैसे लागू करें?

कार्यान्वयन विधियाँ सिस्टम आवश्यकताओं और इंजीनियरों द्वारा CoW को पेश करने के स्तर के आधार पर भिन्न होती हैं। कुछ दृष्टिकोण ऑपरेटिंग सिस्टम के मेमोरी मैनेजर के भीतर होते हैं, जबकि अन्य उच्च-स्तरीय लाइब्रेरी या डेटा संरचनाओं में रहते हैं।

ऑपरेटिंग सिस्टम-स्तरीय कार्यान्वयन

इंजीनियर अक्सर मेमोरी पेजों को प्रबंधित करने और उन्हें अनधिकृत लेखन से बचाने के लिए ऑपरेटिंग सिस्टम स्तर पर कॉपी-ऑन-राइट को लागू करते हैं। निम्नलिखित विधियाँ बताती हैं कि OS-स्तर CoW आम तौर पर कैसे काम करता है:

  • पृष्ठ सुरक्षाओएस नए स्पॉन किए गए प्रोसेस के लिए पेज को केवल पढ़ने के लिए चिह्नित करता है। जब कोई प्रोसेस लिखने का अनुरोध करता है, तो पेज-फॉल्ट हैंडलर एक नया पेज आवंटित करता है।
  • पृष्ठ तालिका अद्यतनऑपरेटिंग सिस्टम नए आवंटित पृष्ठों को संदर्भित करने के लिए लेखक की पृष्ठ तालिका प्रविष्टियों को अद्यतन करता है, यह सुनिश्चित करता है कि प्रत्येक निजी प्रतिलिपि के लिए केवल एक प्रक्रिया के पास ही लेखन अनुमति हो।

डेटा संरचना-स्तर कार्यान्वयन

कॉपी-ऑन-राइट उच्च-स्तरीय डेटा हैंडलिंग पर भी लागू होता है, जहाँ कई संदर्भ एक ही संरचना की ओर इशारा कर सकते हैं। नीचे दिए गए तरीके इस बात पर प्रकाश डालते हैं कि डेटा संरचनाएँ CoW का लाभ कैसे उठा सकती हैं:

  • संदर्भ गणना. संदर्भ गणना पर निर्भर डेटा संरचनाएँ तब गिनती बढ़ाती हैं जब कोई नया उपभोक्ता डेटा का संदर्भ देता है। फिर एक लेखन ऑपरेशन एक निजी प्रतिलिपि के निर्माण को ट्रिगर करता है और तदनुसार गणना को समायोजित करता है।
  • अपरिवर्तनीय डेटा रणनीतिफंक्शनल प्रोग्रामिंग अक्सर साइड इफ़ेक्ट से बचने के लिए अपरिवर्तनीयता का उपयोग करती है। CoW जब भी कोई लेखन होता है, तो डेटा का एक नया संस्करण बनाने में मदद करता है, जबकि पुराने संस्करण पाठकों के लिए बरकरार रहते हैं।

लाइब्रेरी या फ्रेमवर्क एकीकरण

कई भाषाएँ और फ़्रेमवर्क कार्यान्वयन को सरल बनाने के लिए अंतर्निहित CoW सुविधाएँ प्रदान करते हैं। यहाँ बताया गया है कि ये अमूर्तन कैसे काम करते हैं:

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

कॉपी-ऑन-राइट के क्या लाभ हैं?

कॉपी-ऑन-राइट के लाभ नीचे दिए गए हैं।

मेमोरी फ़ुटप्रिंट में कमी

CoW न्यूनतम करता है निरर्थक डेटा भंडारण। कई उपभोक्ता एक ही डेटा साझा करते हैं, जो तब तक मेमोरी को संरक्षित करता है जब तक कि संशोधन की वास्तविक आवश्यकता उत्पन्न न हो।

तीव्र प्रक्रिया निर्माण

सिस्टम कॉल जैसे कांटा() संपूर्ण मेमोरी स्पेस की प्रतिलिपि बनाए बिना चाइल्ड प्रोसेस को जल्दी से स्पॉन करने के लिए CoW पर निर्भर रहें। यह विधि प्रक्रिया निर्माण को गति देती है और संसाधन उपयोग को कम करती है।

डेटा अलगाव

CoW प्रत्येक लेखक के संशोधनों को अलग करता है। डेटा पर लिखने वाली प्रक्रिया या थ्रेड अपनी निजी प्रति प्राप्त करती है, जिससे अन्य उपभोक्ताओं को अनपेक्षित दुष्प्रभावों से सुरक्षा मिलती है।

कुशल स्नैपशॉट क्षमताएं

कुछ फ़ाइल सिस्टम स्नैपशॉट के लिए CoW का उपयोग करते हैं। सिस्टम पुराने डेटा को केवल पढ़ने के लिए टैग करता है और परिवर्तन होने पर नई प्रतियाँ आवंटित करता है। यह अभ्यास हल्के, पॉइंट-इन-टाइम स्नैपशॉट प्रदान करता है।

कॉपी-ऑन-राइट के नुकसान क्या हैं?

कॉपी-ऑन-राइट के नुकसान नीचे दिए गए हैं।

पेज फॉल्ट से ओवरहेड

CoW केवल लेखन होने के बाद ही नए पृष्ठ आवंटित करता है, लेकिन संबंधित पृष्ठ दोष धीमा कर सकते हैं अनुप्रयोगों यदि लेखन कार्य बार-बार होता है।

कार्यान्वयन की जटिलता में वृद्धि

इंजीनियरों को पढ़ने और लिखने की अनुमतियों को सटीक रूप से ट्रैक करना चाहिए और जब लेखन होता है तो अलग-अलग प्रतियों का प्रबंधन करना चाहिए। यह जटिलता गलत डेटा हैंडलिंग से बचने के लिए सावधानीपूर्वक डिज़ाइन की मांग करती है।

संभावित विखंडन

नई प्रतियों का निरंतर आवंटन स्मृति का कारण बन सकता है विखंडन समय के साथ। जो सिस्टम नियमित रूप से साझा ब्लॉकों में लिखते हैं, वे बिखरे हुए मेमोरी लेआउट के साथ संघर्ष कर सकते हैं।

लेखन-गहन लोड के लिए आदर्श नहीं

ऐसे अनुप्रयोग जो अक्सर डेटा को संशोधित करते हैं, वे कई निजी प्रतियाँ बनाते हैं। भारी लेखन भार CoW के लाभों को कम करता है और मेमोरी उपयोग को बढ़ा सकता है।

कॉपी-ऑन-राइट बनाम मर्ज-ऑन-रीड क्या है?

इंजीनियर कॉपी-ऑन-राइट और मर्ज-ऑन-रीड का उपयोग करते हैं आँकड़ा प्रबंधन अलग-अलग दृष्टिकोण वाली रणनीतियाँ। निम्न तालिका मुख्य अंतरों को रेखांकित करती है:

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

अंतिम अवलोकन

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


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