कोड खंड

From Vigyanwiki
यह टेक्स्ट, विभिन्न डेटा और स्टैक और हीप सेक्शन के साथ एक साधारण कंप्यूटर की प्रोग्राम मेमोरी का विशिष्ट लेआउट दिखाता है।

कम्प्यूटिंग में, एक कोड सेगमेंट, जिसे टेक्स्ट सेगमेंट या केवल टेक्स्ट के रूप में भी जाना जाता है, वस्तु फ़ाइल का एक हिस्सा है या प्रोग्राम के आभासी एड्रेस स्थान का संबंधित सेक्शन है जिसमें निष्पादन योग्य निर्देश (कंप्यूटर साइंस) सम्मिलित है।[1]


सेगमेंट

शब्द सेगमेंट मेमोरी सेगमेंट से आता है, जो मेमोरी प्रबंधन के लिए एक ऐतिहासिक दृष्टिकोण है जिसे पेजिंग द्वारा सफल किया गया है। जब कोई प्रोग्राम किसी ऑब्जेक्ट फ़ाइल में संग्रहीत होता है, तो कोड सेगमेंट इस फ़ाइल का एक हिस्सा होता है; जब लोडर (कंप्यूटिंग) एक प्रोग्राम को मुख्य मेमोरी में रखता है ताकि इसे निष्पादित किया जा सके, ऑब्जेक्ट फ़ाइलों में दोनों सेगमेंट के अनुरूप और केवल रन टाइम पर आवश्यक सेगमेंट के लिए विभिन्न मेमोरी क्षेत्रों को आवंटित किया जाता है (विशेष रूप से, पृष्ठों के रूप में)। उदाहरण के लिए, किसी ऑब्जेक्ट फ़ाइल के कोड सेगमेंट को मेमोरी में संबंधित कोड सेगमेंट में लोड किया जाता है।

मेमोरी में कोड सेगमेंट सामान्यतः केवल पढ़ने के लिए होता है और इसका एक निश्चित आकार होता है, इसलिए अंतः स्थापित प्रणाली पर इसे सामान्यतः लोड करने की आवश्यकता के बिना केवल पढ़ने के लिए रीड ओनली मेमोरी (ROM) में रखा जा सकता है। यदि कोड सेगमेंट केवल-पढ़ने के लिए नहीं है, तो विशेष कंप्यूटर आर्किटेक्चर स्वयं-संशोधित कोड की अनुमति देता है। फिक्स्ड-पोजिशन या स्थिति-स्वतंत्र कोड को सेगमेंटेड या पेजेड मेमोरी सिस्टम में कई प्रक्रियाओं द्वारा मेमोरी में साझा किया जा सकता है।[1][2] मेमोरी क्षेत्र के रूप में, कोड सेगमेंट को स्टैक पर या स्टैक के नीचे रखा जा सकता है ताकि स्टैक हीप और स्टैक ओवरफ़्लो को इसे ओवरराइट करने से रोका जा सके।[3]


यह भी देखें

संदर्भ

  1. 1.0 1.1 Jason W. Bacon (2012-03-13). "Chapter 10. Subprogram Calls and the Stack". cs.uwm.edu. Section 10.4. Memory Segments. Retrieved 2014-05-02.
  2. Kai Wang (2012-09-20). "Code Segment and Data Segment: Memory Layout of a Program". beingdeveloper.com. Retrieved 2014-05-02.
  3. Yu-An Tan; Ji-yan Zheng; Yuan-Da Cao; Xue-lan Zhang (October 2005). Buffer overflow protection based on adjusting code segment limit. IEEE International Symposium on Communications and Information Technology. IEEE. doi:10.1109/ISCIT.2005.1567023.