Jitter ble offisielt en del av GNU-prosjektet

For noen dager siden ble det annonsert at Jitter-prosjektet offisielt ble et prosjekt under paraplyen til GNU-prosjektet , og at det nå utvikles under navnet GNU Jitter ved hjelp av GNU-infrastruktur og i samsvar med prosjektets krav.

For de som ikke er kjent med Jitter, er det en implementering som lar deg generere bærbare og svært raske virtuelle maskiner for vilkårlige programmeringsspråkdesign, hvis kodekjøringsytelse er betydelig foran tolkere og nærmer seg innebygd kompilert kode.

Jitter er svært bærbar og en korrekt VM vil vise nøyaktig samme oppførsel på alle plattformer som bare har en kompilator og et standard C-bibliotek; ytelsen vil imidlertid bli bedre ved å bruke en av de støttede arkitekturene (for øyeblikket: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; 64. nivå: Aarch390, Alpha, ARM, SXNUMXx) på ELF-systemer med GCC. Selvfølgelig er Jitter en del av GNU-prosjektet og er designet primært for bruk på GNU-systemet.

Jitter tar som input en høynivåspesifikasjon av instruksjoner som støttes av en virtuell maskin, og danner i output en bruksklar implementering av en virtuell maskin for å utføre de gitte instruksjonene.

Logikken til hver instruksjon i spesifikasjonen er spesifisert ved hjelp av C-kode. Ytterligere funksjoner inkluderer støtte for betingede forgreningsoperasjoner som er vanskelige å implementere i C og iboende i dynamiske programmeringsspråk, for eksempel merking av etikettverdi og overløpskontroll.

Jitter-kjøringen har også effektiv støtte for betingede forgreningsoperasjoner som er vanskelige å implementere ved bruk av bare C, for eksempel verdikodekontroll som kreves av dynamisk skrevet språk og aritmetikk med overløpskontroll. VM-kode får tilgang til prosedyreanrop og returoperasjoner, i de fleste tilfeller avhengig av effektive maskinvaremekanismer.

Den resulterende virtuelle maskinen er formatert i C med et lite antall assembler-innsatser. Konfigurasjoner er tilgjengelige for å muliggjøre ulike optimaliseringer og velge leveringsmekanismer, noe som gjør det enkelt å migrere en virtuell maskin til forskjellige plattformer.

Den støtter bruken av register-, stack- og join-utførelsesarkitekturer, samt muligheten til å speile virtuelle maskindatastrukturer i CPU-maskinvareregistre og koble sammen søppelsamlere.

Den genererte koden inkluderer en enkel C API for dynamisk å erstatte og kjøre kode i en virtuell maskin, samt et kontrollerprogram for å kjøre kode separat fra tekstfiler i en virtuell maskin.

Den genererte C-koden er sterkt betinget og kan konfigureres til å kjøre ved hjelp av forskjellige distribusjonsteknikker med varierende sofistikering; de mest effektive forsendelsesteknikkene er avhengige av noen arkitekturspesifikke, men ikke VM-spesifikke, monteringsstøtte levert av Jitter; alle ekspedisjonsmodeller, men en er også basert på GNU C-utvidelser.

Til slutt, for de som er interessert i å lære mer, er den originale Jitter-koden skrevet i C og tilgjengelig under GPLv3-lisensen. Du kan finne ut mer på følgende lenke.

Hvordan få Jitter?

For de som er interessert i å kunne teste Jitter, kan de få tak i kildekoden ved å åpne en terminal og skrive inn følgende kommando i den:

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

Når dette er gjort, nå fortsetter vi for å gå inn i mappen som har koden, vi skal kjøre oppstartsskriptet som brukes til å generere de nødvendige filene for å konfigurere og bygge Jitter, inkludert et konfigurasjonsskript. Dette gjør vi med:

cd jitter && ./bootstrap

Det er verdt å nevne at Jitter følger GNU-konvensjonene for konfigurasjon og konstruksjon og støtter konstruksjon fra kildekatalogen; faktisk støtter den krysskompilering og til og med å kjøre testpakken i en krysskompilering via en emulator.

./configure && make

Til slutt, for å utføre, bare skriv:

make check


Legg til som foretrukket kilde i Google