stringtranslate.com

Сегмент кода

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

В вычислительной технике сегмент кода , также известный как текстовый сегмент или просто текст , представляет собой часть объектного файла или соответствующий раздел виртуального адресного пространства программы , который содержит исполняемые инструкции . [1]

Сегмент

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

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

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

Рекомендации

  1. ^ аб Джейсон В. Бэкон (13 марта 2012 г.). «Глава 10. Вызовы подпрограмм и стек». cs.uwm.edu . Раздел 10.4. Сегменты памяти. Архивировано из оригинала 2 мая 2014 г. Проверено 2 мая 2014 г.
  2. ^ Кай Ван (20 сентября 2012 г.). «Сегмент кода и сегмент данных: структура памяти программы». bedeveloper.com . Архивировано из оригинала 2 мая 2014 г. Проверено 2 мая 2014 г.
  3. ^ Ю-Ан Тан; Цзи-янь Чжэн; Юань-Да Цао; Сюэ-лань Чжан (октябрь 2005 г.). Защита от переполнения буфера на основе настройки ограничения сегмента кода . Международный симпозиум IEEE по коммуникациям и информационным технологиям. ИИЭЭ . дои : 10.1109/ISCIT.2005.1567023.