stringtranslate.com

Segmento de código

Esto muestra el diseño típico de la memoria de un programa de computadora simple con el texto, varios datos y secciones de pila y montón .

En informática , un segmento de código , también conocido como segmento de texto o simplemente como texto , es una porción de un archivo de objeto o la sección correspondiente del espacio de direcciones virtuales del programa que contiene instrucciones ejecutables . [1]

Segmento

El término "segmento" proviene de la palabra inglesa " memory segment " , que es un enfoque histórico de la gestión de memoria que ha sido reemplazado por la paginación . Cuando un programa se almacena en un archivo de objeto, el segmento de código es una parte de este archivo; cuando el cargador coloca un programa en la memoria para que pueda ejecutarse, se asignan varias regiones de memoria (en particular, como páginas), que corresponden tanto a los segmentos en los archivos de objeto como a los segmentos que solo se necesitan en tiempo de ejecución. Por ejemplo, el segmento de código de un archivo de objeto se carga en un segmento de código correspondiente en la memoria.

El segmento de código en la memoria es típicamente de sólo lectura y tiene un tamaño fijo, por lo que en los sistemas integrados normalmente se puede colocar en la memoria de sólo lectura (ROM), sin necesidad de carga. Si el segmento de código no es de sólo lectura, entonces la arquitectura particular permite código automodificable . El código de posición fija o independiente de la posición puede ser compartido en la memoria por varios procesos en sistemas de memoria segmentada o paginada. [1] [2] Como región de memoria, el segmento de código puede colocarse debajo del montón o la pila para evitar que los desbordamientos del montón y la pila lo sobrescriban. [3]

Véase también

Referencias

  1. ^ ab Jason W. Bacon (13 de marzo de 2012). "Capítulo 10. Llamadas a subprogramas y la pila". cs.uwm.edu . Sección 10.4. Segmentos de memoria. Archivado desde el original el 2 de mayo de 2014 . Consultado el 2 de mayo de 2014 .
  2. ^ Kai Wang (20 de septiembre de 2012). "Segmento de código y segmento de datos: diseño de memoria de un programa". beingdeveloper.com . Archivado desde el original el 2 de mayo de 2014. Consultado el 2 de mayo de 2014 .
  3. ^ Yu-An Tan; Ji-yan Zheng; Yuan-Da Cao; Xue-lan Zhang (octubre de 2005). Protección contra desbordamiento de búfer basada en el ajuste del límite del segmento de código . Simposio internacional IEEE sobre comunicaciones y tecnología de la información. IEEE . doi :10.1109/ISCIT.2005.1567023.