साझा स्मृति की पूरी अवधारणा के बारे में सोचने के बाद, एक प्रश्न आया:प्रोसेस वीएस थ्रेड: क्या दो प्रक्रियाएं समान साझा स्मृति साझा कर सकती हैं? दो धागे कर सकते हैं?
दो प्रक्रियाएं समान साझा मेमोरी सेगमेंट साझा कर सकती हैं? क्या दो धागे समान साझा स्मृति साझा कर सकते हैं?
इसके बारे में थोड़ा और स्पष्ट रूप से सोचने के बाद, मैं लगभग सकारात्मक हूं कि दो प्रक्रियाएं समान साझा मेमोरी सेगमेंट साझा कर सकती हैं, जहां पहला पिता है और दूसरा पुत्र है, जिसे fork()
के साथ बनाया गया था, लेकिन दो धागे के बारे में क्या?
धन्यवाद
पुन "यह कैश मेमोरी साझा नहीं की जाती है और सिंक्रनाइज़ेशन ऑपरेशंस के आधार पर मेमोरी पृष्ठों को अपडेट किया जाता है": एक अच्छी या बुरी चीज? – Pacerier
पुन "थ्रेड्स में प्रोसेसर/कोर से जुड़ी हाई स्पीड मेमोरी में कैश मेमोरी सेगमेंट होने की अतिरिक्त जटिलता भी है": क्या यह एक ओएस कर्नेल चीज भी है ?, या सिर्फ एक सॉफ्टवेयर भाषा लाइब्रेरी सुविधा है? – Pacerier
यह @Pacerier की एक बहुत अच्छी बात है। स्थानीय सीपीयू मेमोरी कैश मल्टीथ्रेड प्रोग्राम में देखे जाने वाले अधिकांश प्रदर्शन लाभ देता है। यह _hardware_ द्वारा समर्थित है ओएस और न ही सॉफ्टवेयर। सॉफ़्टवेयर को मेमोरी कैश को स्मृति बाधाओं के मामले में ध्यान में रखना आवश्यक है जो फ्लशिंग और अपडेटिंग को नियंत्रित करते हैं लेकिन सीपीयू डिज़ाइन के कारण वे स्वचालित रूप से होते हैं। – Gray