Execució en plaça

En informàtica, execució en plaça o XIP en sigles angleses per eXecute In Place, és un mètode d'execució del codi des del suport de memòria secundària, ara per ara memòries NOR-Flash, sense traslladar el codi a memòria principal.

És un sistema utilitzat en sistemes incrustats per

  • reduir la quantitat de memòria RAM necessària, reduint així el consum elèctric superior en la RAM (important en els mòbils).
  • reduir la paginació en sistemes de temps real, evitant els retards per les manques a la memòria cau, reduint així les desviacions de temps.
  • reduir la fragmentació de l'espai lliure en memòria principal quan no es disposa de gestor de memòria (MMU).
  • reduir el temps d'arrencada per l'estalvi de descomprimir i copiar el codi inicial o el complet a la RAM.

El desavantatge és que augmenta una mica el temps d'execució perquè aquestes memòries són una mica més lentes.[1]

Això és possible en mitjans adressables per paraules, contràriament als adressables per blocs.

El seu ús més important és en la ROM d'arrencada, però a banda s'hi poden afegir els segments fixos de l'aplicació (codi i valors textuals) deixant per la RAM els segments de variables, separats en compilar.

En sistemes amb gestor de memòria (MMU) hi ha qui hi posa el nucli del Linux ('Kernel XIP')[2] i es parla també de XIP dels programes ('Application XIP')[3] però per aquests darrers cal un sistema de fitxers específic.

Sistemes de fitxers per a XIP modifica

CRAMFS
és el primer a ser usat amb aquesta finalitat. Cal aplicar al nucli el pedaç "CRAMFS Linear XIP"[4]
AXFS
experimental. Combina segments d'execució XIP amb altres d'execució en RAM segons freqüència d'ús, desant aquests darrers comprimits en NAND-Flash.[5]
xip2fs
desenvolupament d'IBM per a maquinari propi del S/390.[6]

Referències modifica

Enllaços externs modifica