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