XIP
XIP — абревіатура від англ. execute in place («виконати прямо на місці»), що означає виконання комп'ютерної програми безпосередньо з довготривалої пам'яті, на противагу до попереднього завантаження її до оперативної пам'яті. Технологію XIP можна вважати розширенням ідеї спільної пам'яті, спрямованої на максимальну економію об'єму пам'яті у комп'ютерній системі.
При використанні XIP у багатоядерній чи багатопроцесорній системі можна досягнути того, що єдина її копія буде виконуватися всіма ядрами.
Для реалізації XIP-методу потрібно, щоб система задовольняла деяким критеріям:
- Пам'ять довготривалого зберігання повинна мати інтерфейс, що дозволяє її під'єднання до центрального процесора як звичайну пам'ять;
- Цей інтерфейс повинен мати задовільну пропускну здатність, у тому числі при зверненні до випадкових комірок пам'яті;
- Файлова система, якщо вона використовується, повинна мати адекватні механізми відображення ділянок XIP-пам'яті;
- Програми повинні бути або лінковані за тією базовою адресою, де вони розташовуються, або повинні бути позиційно-незалежними;
- Програма не повинна модифікувати дані у своєму кодовому сегменті.
Перша вимога зазвичай виконується шляхом використання NOR-пам'яті, яку можна адресувати на рівні окремих слів (при читанні). Втім, така пам'ять може бути повільніша[джерело?], ніж оперативна.
Підтримка у операційних системах
Незважаючи на те, що дана технологія застосовувалася у вбудованих системах, firmware і деяких ОС реального часу задовго до 2000-х років[1], у операційних системах загального призначення підтримку вперше реалізовано у ядрі Linux версии 2.6 2005-го року.[2]
Див. також
- NVDIMM
Джерела
- Uebayashi, Masao (2010). eXecute-In-Place (XIP) Support for NetBSD Proceedings of BSD Canada (BSDCan'2010) (англ.). с. 2—15.
- Corbet, Jonathan (11 травня 2005). Execute-in-place. LWN.net (англ.).