Jitter blev officielt en del af GNU-projektet

For et par dage siden blev nyheden offentliggjort, at projektet Jitter blev officielt et projekt under GNU-projektets fløj og det udvikles nu under navnet GNU Jitter ved hjælp af GNU-infrastruktur og i overensstemmelse med projektets krav.

For dem, der ikke er bekendt med Jitter, skal du vide, at det er deta er en implementering, der gør det muligt at generere bærbare og meget hurtige virtuelle maskiner til vilkårlige designs af programmeringssprog, hvis kodeudførelsesydelse er væsentligt foran tolke og tæt på indfødt kompileret kode.

Jitter er meget bærbar, og en korrekt VM vil udvise nøjagtig den samme adfærd på enhver platform, der kun har en compiler og et standard C-bibliotek; ydelsen vil dog være bedre ved at bruge en af ​​de understøttede arkitekturer (i øjeblikket: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; 64. niveau: Aarch390, Alpha, ARM, SXNUMXx) på ELF-systemer med GCC. Selvfølgelig er Jitter en del af GNU-projektet og er designet primært til brug på GNU-systemet.

jitter tager som input en højniveauspecifikation af understøttede instruktioner af en virtuel maskine, og i outputtet danner en klar-til-brug implementering af en virtuel maskine at udføre de givne instruktioner.

Logikken for hver instruktion i specifikationen er angivet ved hjælp af C-kode. Yderligere funktioner omfatter understøttelse af betingede forgreningsoperationer, der er svære at implementere i C og iboende i dynamiske programmeringssprog, såsom tag-værdikontrol og overløbskontrol.

Jitter-runtiden byder også på effektiv understøttelse af betingede forgreningsoperationer, der er svære at implementere, kun ved brug af C, såsom kontrol af værdimærker som krævet af dynamisk indtastede sprog og aritmetik med overløbskontrol. VM-kode får adgang til procedureopkalds- og returoperationer, i de fleste tilfælde afhængig af effektive hardwaremekanismer.

Den resulterende virtuelle maskine er formateret i C med et lille antal indsættelser samler. Konfigurationer er tilvejebragt for at muliggøre forskellige optimeringer og udvalgte leveringsmekanismer, hvilket gør det nemt at migrere en virtuel maskine til forskellige platforme.

Det understøtter brugen af ​​register-, stack- og join-udførelsesarkitekturer samt muligheden for at spejle virtuelle maskinedatastrukturer i CPU-hardwareregistre og forbinde skraldopsamlere.

Den genererede kode inkluderer en simpel C API til dynamisk at erstatte og eksekvere kode i en virtuel maskine, samt et controllerprogram til separat eksekvering af kode fra tekstfiler i en virtuel maskine.

Den genererede C-kode er stærkt konditioneret og kan konfigureres til at køre ved hjælp af forskellige distributionsteknikker af varierende sofistikering; de mest effektive afsendelsesteknikker er afhængige af nogle arkitekturspecifikke, men ikke VM-specifikke, monteringssupport leveret af Jitter; alle forsendelsesmodeller, men en er også baseret på GNU C-udvidelser.

Til sidst, for dem, der er interesseret i at vide mere om det, bør de vide, at den originale Jitter-kode er skrevet i C og er tilgængelig under GPLv3-licensen. Du kan lære mere i følgende link.

Hvordan får man Jitter?

For dem, der er interesseret i at kunne teste Jitter, kan de få kildekoden ved at åbne en terminal og skrive følgende kommando i den:

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

Når dette er gjort, fortsætter vi nu med at indtaste mappen, der har koden, vi skal udføre opstartsscriptet, der bruges til at generere de nødvendige filer til at konfigurere og bygge Jitter, inklusive et konfigurationsscript. Det gør vi med:

cd jitter && ./bootstrap

Det er værd at nævne, at Jitter følger GNU-konventionerne for konfiguration og konstruktion og understøtter konstruktion fra kildebiblioteket; faktisk understøtter den krydskompilering og endda kørsel af testpakken i en krydskompilering via en emulator.

./configure && make

Til sidst, for at udføre, skal du bare skrive:

make check


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort.

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.