Jitter a devenit oficial parte a proiectului GNU

În urmă cu câteva zile a fost lansată vestea că proiectul Jitter a devenit oficial un proiect sub aripa Proiectului GNU și acum este dezvoltat sub numele GNU Jitter folosind infrastructura GNU și în conformitate cu cerințele proiectului.

Pentru cei care nu sunt familiarizați cu Jitter, ar trebui să știți că estea este o implementare care permite generarea de mașini virtuale portabile și foarte rapide pentru proiecte arbitrare ale limbajelor de programare, a căror performanță de execuție a codului este semnificativ înaintea interpreților și aproape de codul compilat nativ.

Jitter este foarte portabil și o VM corectă va prezenta exact același comportament pe orice platformă care are doar un compilator și o bibliotecă C standard; totuși, performanța va fi mai bună folosind una dintre arhitecturile acceptate (în prezent: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; al 64-lea nivel: Aarch390, Alpha, ARM, SXNUMXx) pe sistemele ELF cu GCC. Desigur, Jitter face parte din proiectul GNU și este conceput în primul rând pentru a fi utilizat pe sistemul GNU.

jitter ia ca intrare o specificație de nivel înalt a instrucțiunilor acceptate de o mașină virtuală, iar în rezultat se formează o implementare gata de utilizare a unei mașini virtuale pentru a executa instrucțiunile date.

Logica fiecărei instrucțiuni din specificație este specificat folosind codul C. Caracteristicile suplimentare includ suport pentru operațiuni de ramificare condiționată care sunt dificil de implementat în C și inerente limbajelor de programare dinamică, cum ar fi verificarea valorii etichetelor și verificarea depășirii.

Timpul de execuție Jitter oferă, de asemenea, suport eficient pentru operațiuni de ramificare condiționată dificil de implementat folosind doar C, cum ar fi verificarea etichetelor de valoare, așa cum este cerut de limbajele tastate dinamic și aritmetica cu verificarea depășirii. Codul VM accesează operațiunile de apelare și returnare a procedurii, în majoritatea cazurilor bazându-se pe mecanisme hardware eficiente.

Mașina virtuală rezultată este formatată în C cu un număr mic de inserții asamblator. Configurațiile sunt furnizate pentru a permite diverse optimizări și selectarea mecanismelor de livrare, ceea ce facilitează migrarea unei mașini virtuale pe diferite platforme.

Acceptă utilizarea arhitecturilor de execuție de înregistrare, stivă și unire, precum și capacitatea de a oglindi structurile de date ale mașinilor virtuale în registrele hardware ale CPU și de a conecta colectorii de gunoi.

Codul generat include un API C simplu pentru a înlocui și a executa în mod dinamic codul într-o mașină virtuală, precum și un program controler pentru a executa separat codul din fișierele text într-o mașină virtuală.

Codul C generat este puternic condiționat și poate fi configurat să ruleze folosind diferite tehnici de distribuție cu o sofisticare diferită; cele mai eficiente tehnici de expediere se bazează pe un suport de asamblare specific arhitecturii, dar nu specific VM, oferit de Jitter; toate modelele de expediere, dar unul se bazează și pe extensii GNU C.

În cele din urmă, pentru cei care sunt interesați să afle mai multe despre el, ar trebui să știe că codul Jitter original este scris în C și este disponibil sub licența GPLv3. Puteți afla mai multe în următorul link.

Cum să obțineți Jitter?

Pentru cei care sunt interesați să poată testa Jitter, pot obține codul sursă deschizând un terminal și tastând următoarea comandă în el:

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

Odată făcut acest lucru, acum trecem la intrarea în folderul care are codul, vom executa scriptul de pornire care este folosit pentru a genera fișierele necesare pentru a configura și construi Jitter, inclusiv un script de configurare. Facem asta cu:

cd jitter && ./bootstrap

Merită menționat că Jitter urmează convențiile GNU pentru configurare și construcție și suportă construcția din directorul sursă; de fapt, acceptă compilarea încrucișată și chiar rularea suita de teste într-o compilare încrucișată prin intermediul unui emulator.

./configure && make

În cele din urmă, pentru a executa, trebuie doar să tastați:

make check


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.