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]
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]