XIP

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

XIP — абревіатура від англ. execute in place («виконати прямо на місці»), що означає виконання комп'ютерної програми безпосередньо з довготривалої пам'яті, на противагу до попереднього завантаження її до оперативної пам'яті. Технологію XIP можна вважати розширенням ідеї спільної пам'яті, спрямованої на максимальну економію об'єму пам'яті у комп'ютерній системі.

При використанні XIP у багатоядерній чи багатопроцесорній системі можна досягнути того, що єдина її копія буде виконуватися всіма ядрами.

Для реалізації XIP-методу потрібно, щоб система задовольняла деяким критеріям:

  • Пам'ять довготривалого зберігання повинна мати інтерфейс, що дозволяє її під'єднання до центрального процесора як звичайну пам'ять;
  • Цей інтерфейс повинен мати задовільну пропускну здатність, у тому числі при зверненні до випадкових комірок пам'яті;
  • Файлова система, якщо вона використовується, повинна мати адекватні механізми відображення ділянок XIP-пам'яті;
  • Програми повинні бути або лінковані за тією базовою адресою, де вони розташовуються, або повинні бути позиційно-незалежними[en];
  • Програма не повинна модифікувати дані у своєму кодовому сегменті.

Перша вимога зазвичай виконується шляхом використання NOR-пам'яті, яку можна адресувати на рівні окремих слів (при читанні). Втім, така пам'ять може бути повільніша[джерело?], ніж оперативна.

Підтримка у операційних системах[ред. | ред. код]

Незважаючи на те, що дана технологія застосовувалася у вбудованих системах, firmware і деяких ОС реального часу задовго до 2000-х років[1], у операційних системах загального призначення підтримку вперше реалізовано у ядрі Linux версии 2.6 2005-го року.[2]

Див. також[ред. | ред. код]

Джерела[ред. | ред. код]

  1. Uebayashi, Masao (2010). eXecute-In-Place (XIP) Support for NetBSD (PDF). Proceedings of BSD Canada (BSDCan'2010) (англ.). с. 2—15. Архів оригіналу (PDF) за 31 липня 2020. Процитовано 27 лютого 2020.
  2. Corbet, Jonathan (11 травня 2005). Execute-in-place. LWN.net (англ.). Архів оригіналу за 27 лютого 2020. Процитовано 27 лютого 2020.