Сегмент кода - Code segment

Здесь показан типичный макет программной памяти простого компьютера с текстом, различными данными, разделами стека и кучи.

В вычислениях , А сегмент кода , также известный как текстовый сегмент , или просто как текст , представляет собой часть из объектного файла или соответствующий раздел программы виртуального адресного пространства , который содержит исполняемые инструкции . Термин «сегмент» происходит от сегмента памяти , который представляет собой исторический подход к управлению памятью , на смену которому пришла подкачка страниц . Когда программа хранится в объектном файле, сегмент кода является частью этого файла; когда загрузчик помещает программу в память для его выполнения выделяются различные области памяти (в частности, как страницы), соответствующие как сегментам в объектных файлах, так и сегментам, необходимым только во время выполнения. Например, сегмент кода объектного файла загружается в соответствующий сегмент кода в памяти.

Сегмент кода в памяти обычно доступен только для чтения и имеет фиксированный размер, поэтому во встроенных системах он обычно может быть помещен в постоянное запоминающее устройство (ПЗУ) без необходимости загрузки. Если сегмент кода не предназначен только для чтения, то конкретная архитектура допускает самомодифицирующийся код . Код с фиксированной позицией или независимый от позиции код может совместно использоваться в памяти несколькими процессами в системах с сегментированной или страничной памятью. В качестве области памяти сегмент кода может быть размещен ниже кучи или стека, чтобы предотвратить его перезапись при переполнении кучи и стека .

Смотрите также

использованная литература