Jump to content

Выполнить на месте

(Перенаправлено с «Выполнить на месте »)

В информатике оперативную выполнение на месте ( XIP ) — это метод выполнения программ непосредственно из долговременного хранилища, а не копирования их в память . Это расширение использования общей памяти для уменьшения общего объема необходимой памяти.

Его общий эффект заключается в том, что текст программы не использует доступную для записи память, сохраняя ее для динамических данных, и что все экземпляры программы запускаются из одной копии.

Чтобы это работало, необходимо соблюдение нескольких критериев:

  • Хранилище должно обеспечивать интерфейс с ЦП , аналогичный обычной памяти (или должен присутствовать адаптивный уровень).
  • Этот интерфейс должен обеспечивать достаточно быстрые операции чтения с произвольным доступом .
  • Файловая система , если она используется, должна предоставлять соответствующие функции сопоставления.
  • Программа должна быть либо связана , чтобы знать адрес, по которому хранилище отображается в системе, либо быть независимой от позиции .
  • Программа не должна изменять данные в загруженном изображении.

Требования к хранению обычно удовлетворяются за счет использования флэш-памяти NOR или EEPROM , которая может иметь побайтовую адресацию для операций чтения, хотя в большинстве конфигураций она немного медленнее, чем обычное системное ОЗУ.

XIP во время загрузки

[ редактировать ]

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

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

Для ядра или загрузчика адресное пространство обычно назначается внутри, поэтому для того, чтобы использовать для них XIP, достаточно указать компоновщику размещать немодифицируемые и модифицируемые данные в разных диапазонах адресов и обеспечить механизм копирования модифицируемых данных. в доступную для записи память перед запуском любого кода, предполагающего, что к данным можно получить обычный доступ. Это можно сделать как часть предыдущего этапа или в небольшом сегменте кода в начале программы.

Если адресное пространство назначается извне, например, в прикладной программе, которая запускается в системе, которая не предоставляет виртуальную память , компилятору необходимо получить доступ ко всем изменяемым данным, добавляя смещение к указателю на частную копию области данных. В этом случае внешний загрузчик отвечает за настройку областей памяти, специфичных для экземпляра.

BIOS и UEFI используют XIP для инициализации основной памяти .

XIP как файловая система

[ редактировать ]

XIP предъявляет к файловым системам требования, которые зачастую трудно удовлетворить. В системах без таблицы страниц весь файл должен храниться в последовательных байтах и ​​не должен быть фрагментирован, в то время как файловые системы на основе флэш-памяти часто стремятся распределить данные по секторам флэш-чипа, которые имеют наименьшее количество циклов стирания и выравнивают износ . чипа, продлевая срок его службы.

Все эти сложности и компромисс в скорости означают, что XIP обычно используется только для загрузчиков первого этапа или когда оперативной памяти крайне не хватает. В частности, игровые консоли второго-четвертого поколений подключают адрес и шину данных ПЗУ-картриджа к адресу консоли. [ 3 ] что позволяет (например) Atari 2600 работать только со 128 байтами оперативной памяти в интерфейсе IC джойстика .

Относительно новая файловая система для Linux, называемая AXFS ( Advanced XIP File System ), призвана преодолеть некоторые недостатки, связанные с XIP, особенно в отношении выполнения приложений пользовательского пространства на месте . Например, он позволяет разбить исполняемый двоичный файл на «регионы XIP», избежав тем самым ограничения фрагментации, упомянутого выше.

Реализация NetBSD также находится в стадии разработки. [ 4 ]

См. также

[ редактировать ]
  1. ^ Samsung S3C2416X имеет встроенную SRAM объемом 64 КБ, доступную на системной шине.
  2. ^ Broadcom BCM2835 использует свой кеш уровня 2 в качестве ОЗУ загрузчика перед инициализацией SDRAM.
  3. ^ Патент США 4485457 , Ричард К. Баласка, Роберт Л. Хантер и Скотт С. Робинсон, «Система памяти, включая ОЗУ и ПЗУ с переключением страниц», выдан 27 ноября 1984 г., передан CBS Inc.  
  4. ^ Уебаяси, Масао (5 апреля 2010 г.). «Поддержка eXecute-In-Place (XIP) для NetBSD» (PDF) . BSDCan .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 84c652a2847b4069d7d74b2dc238c4cc__1720246380
URL1:https://arc.ask3.ru/arc/aa/84/cc/84c652a2847b4069d7d74b2dc238c4cc.html
Заголовок, (Title) документа по адресу, URL1:
Execute in place - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)