Kod segmenti - Code segment

Bu oddiy kompyuter dasturi xotirasining matn, har xil ma'lumotlar va stek va uyum bo'limlari bilan odatiy joylashishini ko'rsatadi.

Yilda hisoblash, a kod segmenti, shuningdek, a matn segmenti yoki shunchaki matn, ning bir qismi ob'ekt fayli yoki dasturning tegishli qismi virtual manzil maydoni o'z ichiga oladi bajariladigan ko'rsatmalar.[1] "Segment" atamasi xotira segmenti, bu tarixiy yondashuv xotirani boshqarish bu muvaffaqiyatli bo'ldi xotira. Dastur ob'ekt faylida saqlanganda kod segmenti ushbu faylning bir qismidir; qachon yuklovchi dasturni joylashtiradi xotira u bajarilishi uchun ob'ekt fayllaridagi ikkala segmentga va faqat ishlash vaqtida kerak bo'lgan segmentlarga mos keladigan turli xil xotira mintaqalari (xususan, sahifalar sifatida) ajratiladi. Masalan, ob'ekt faylining kod segmenti xotiradagi tegishli kod segmentiga yuklanadi.

Xotiradagi kod segmenti odatda faqat o'qish uchun mo'ljallangan va aniq o'lchamga ega va hokazo o'rnatilgan tizimlar u odatda joylashtirilishi mumkin faqat o'qish uchun xotira (ROM), yuklashni talab qilmasdan. Agar kod segmenti faqat o'qish uchun berilmagan bo'lsa, u holda me'morchilik imkon beradi o'z-o'zini o'zgartiradigan kod. Ruxsat etilgan holat yoki pozitsiyadan mustaqil kod segmentlangan yoki pachedlangan xotira tizimlaridagi bir necha jarayonlar bilan xotirada bo'lishishi mumkin.[1][2] Xotira mintaqasi sifatida kod segmentini oldini olish uchun uyum yoki stak ostiga qo'yish mumkin uyum va stack overflows uni qayta yozishdan.[3]

Shuningdek qarang

Adabiyotlar

  1. ^ a b Jeyson V. Bekon (2012-03-13). "10-bob. Subprogram qo'ng'iroqlari va stek". cs.uwm.edu. 10.4-bo'lim. Xotira segmentlari. Olingan 2014-05-02.
  2. ^ Kay Vang (2012-09-20). "Kod segmenti va ma'lumotlar segmenti: dasturning xotirada joylashuvi". beingdeveloper.com. Olingan 2014-05-02.
  3. ^ Yu-An Tan; Ji-yan Zheng; Yuan-Da Cao; Syu-lan Chjan (2005 yil oktyabr). Kod segmentining chegarasini sozlash asosida buferdan oshib ketishdan himoya. IEEE Xalqaro aloqa va axborot texnologiyalari simpoziumi. IEEE. doi:10.1109 / ISCIT.2005.1567023.