XIP — абревіатура від англ. execute in place («виконати прямо на місці»), що означає виконання комп'ютерної програми безпосередньо з довготривалої пам'яті, на противагу до попереднього завантаження її до оперативної пам'яті. Технологію XIP можна вважати розширенням ідеї спільної пам'яті, спрямованої на максимальну економію об'єму пам'яті у комп'ютерній системі.
При використанні XIP у багатоядерній чи багатопроцесорній системі можна досягнути того, що єдина її копія буде виконуватися всіма ядрами.
Для реалізації XIP-методу потрібно, щоб система задовольняла деяким критеріям:
- Пам'ять довготривалого зберігання повинна мати інтерфейс, що дозволяє її під'єднання до центрального процесора як звичайну пам'ять;
- Цей інтерфейс повинен мати задовільну пропускну здатність, у тому числі при зверненні до випадкових комірок пам'яті;
- Файлова система, якщо вона використовується, повинна мати адекватні механізми відображення ділянок XIP-пам'яті;
- Програми повинні бути або лінковані за тією базовою адресою, де вони розташовуються, або повинні бути позиційно-незалежними[en];
- Програма не повинна модифікувати дані у своєму кодовому сегменті.
Перша вимога зазвичай виконується шляхом використання NOR-пам'яті, яку можна адресувати на рівні окремих слів (при читанні). Втім, така пам'ять може бути повільніша[джерело?], ніж оперативна.
Підтримка у операційних системах Редагувати
Незважаючи на те, що дана технологія застосовувалася у вбудованих системах, firmware і деяких ОС реального часу задовго до 2000-х років, у операційних системах загального призначення підтримку вперше реалізовано у ядрі Linux версии 2.6 2005-го року.
Див. також Редагувати
- NVDIMM[en]