Jitter passo a ser oficialment part del projecte GNU

Fa pocs dies es va donar a conèixer la notícia que el projecte Jitter va passar a ser oficialment un projecte sota l'ala del Projecte GNU i que ara s'està desenvolupant sota el nom GNU Jitter utilitzant infraestructura GNU i d'acord amb els requisits del projecte.

Per als qui desconeixen de Jitter, han de saber que aquesta és una implementació que permet generar màquines virtuals portàtils i molt ràpides per a dissenys arbitraris de llenguatges de programació, el rendiment d'execució de codi dels quals està significativament per davant dels intèrprets i s'acosta al codi compilat nadiu.

Jitter és altament portàtil i una VM correcta exhibirà exactament el mateix comportament a qualsevol plataforma que tingui només un compilador i una biblioteca C estàndard; no obstant això, el rendiment serà millor si es fa servir una de les arquitectures compatibles (actualment: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; segon nivell: Aarch64, Alpha, ARM, S390x) en sistemes ELF amb GCC . Per descomptat, Jitter és part del projecte GNU i està dissenyat principalment per al seu ús al sistema GNU .

Jitte r pren com a entrada una especificació d'alt nivell d'instruccions suportades per una màquina virtual, ia la sortida forma una implementació llista per fer servir una màquina virtual per executar les instruccions donades.

La lògica de cada instrucció a l'especificació s'especifica utilitzant codi C. Les característiques addicionals inclouen suport per a operacions de bifurcació condicional que són difícils d'implementar a C i inherents als llenguatges de programació dinàmica, com ara la verificació de valors d'etiquetes i la verificació de desbordaments.

El temps d'execució de Jitter també presenta un suport eficient per a operacions de bifurcació condicional difícils d'implementar usant només C, com ara la verificació d'etiquetes de valor com ho requereixen els llenguatges tipats dinàmicament i l'aritmètica amb verificació de desbordament. El codi de VM té accés a operacions de devolució i trucada de procediment, en la majoria dels casos confiant en mecanismes de maquinari eficients.

La màquina virtual resultant està formatada amb C amb una petita quantitat d'insercions d'assemblador. Es proporcionen configuracions per habilitar diverses optimitzacions i seleccionar mecanismes d'enviament, fet que facilita la migració d'una màquina virtual a diferents plataformes.

Admet l'ús d'arquitectures d'execució de registre, pila i combinació, així com la capacitat de reflectir les estructures de dades de la màquina virtual als registres de maquinari de la CPU i connectar recol·lectors d'escombraries.

El codi generat inclou una API C simple per substituir i executar dinàmicament codi en una màquina virtual, així com un programa de controlador per executar per separat el codi dels fitxers de text en una màquina virtual.

El codi C generat està fortament condicionat i es pot configurar per executar-se utilitzant diferents tècniques de distribució de diversa sofisticació; les tècniques de despatx més eficients es basen en algun suport d'acoblament específic de l'arquitectura però no específic de la VM, proporcionat per Jitter; tots els models de despatx, però un també es basa en extensions GNU C.

Finalment per als que estiguin interessats a conèixer-ne més, han de saber que el codi original de Jitter estan escrits en C i estan disponibles sota la llicència GPLv3. Pots conèixer més al següent enllaç.

Com obtenir Jitter?

Per als que estiguin interessats a poder provar Jitter, poden obtenir el codi font obrint una terminal i teclejant-hi la següent ordre:

git clone http://git.ageinghacker.net/jitter

Fet això, ara procedim a entrar a la carpeta que té el codi executarem l'script d'arrencada que serveix per generar els fitxers necessaris per configurar i construir Jitter, inclòs un script de configuració. Això ho fem amb:

cd jitter && ./bootstrap

Val a dir que Jitter segueix les convencions de GNU per a la configuració i la construcció i admet la construcció des del directori d'origen; de fet, admet la compilació encreuada i fins i tot l'execució del conjunt de proves en una compilació encreuada a través d'un emulador.

./configure && make

Finalment per executar només cal teclejar:

make check


Afegir com a font preferida a Google