XIP

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

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

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

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

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

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

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

Див. також

  • NVDIMM

Джерела

  1. Uebayashi, Masao (2010). eXecute-In-Place (XIP) Support for NetBSD Proceedings of BSD Canada (BSDCan'2010) (англ.). с. 2—15.
  2. Corbet, Jonathan (11 травня 2005). Execute-in-place. LWN.net (англ.).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.