Jitter blev officiellt en del av GNU-projektet

För några dagar sedan släpptes nyheten att projektet Jitter blev officiellt ett projekt under GNU-projektets vingar och det utvecklas nu under namnet GNU Jitter med hjälp av GNU-infrastruktur och i enlighet med projektkraven.

För de som inte är bekanta med Jitter bör du veta att det är deta är en implementering som gör det möjligt att generera bärbara och mycket snabba virtuella maskiner för godtyckliga konstruktioner av programmeringsspråk, vars kodexekveringsprestanda är betydligt bättre än tolkar och nära inhemsk kompilerad kod.

Jitter är mycket portabel och en korrekt virtuell dator kommer att uppvisa exakt samma beteende på alla plattformar som bara har en kompilator och ett standard C-bibliotek; prestandan kommer dock att bli bättre med en av de stödda arkitekturerna (för närvarande: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; nivå 64: Aarch390, Alpha, ARM, SXNUMXx) på ELF-system med GCC. Naturligtvis är Jitter en del av GNU-projektet och är främst designat för användning på GNU-systemet.

jitter tar som indata en högnivåspecifikation av instruktioner som stöds av en virtuell maskin, och i utgången bildar en färdig att använda implementering av en virtuell maskin att utföra de givna instruktionerna.

Logiken för varje instruktion i specifikationen specificeras med C-kod. Ytterligare funktioner inkluderar stöd för villkorade förgreningsoperationer som är svåra att implementera i C och som är inneboende i dynamiska programmeringsspråk, såsom kontroll av taggvärden och överflödeskontroll.

Jitter-körtiden har också effektivt stöd för svårimplementerade villkorliga förgreningsoperationer med endast C, såsom värdetaggkontroll som krävs av dynamiskt skrivna språk och aritmetik med överflödeskontroll. VM-kod får åtkomst till proceduranrop och returoperationer, i de flesta fall beroende på effektiva hårdvarumekanismer.

Den resulterande virtuella maskinen är formaterad i C med ett litet antal infogningar assemblerare. Konfigurationer tillhandahålls för att möjliggöra olika optimeringar och välja leveransmekanismer, vilket gör det enkelt att migrera en virtuell maskin till olika plattformar.

Det stöder användningen av exekveringsarkitekturer för register, stack och join, såväl som möjligheten att spegla datastrukturer för virtuella maskiner i CPU-hårdvaruregister och ansluta sophämtare.

Den genererade koden inkluderar ett enkelt C API för att dynamiskt ersätta och exekvera kod i en virtuell maskin, samt ett styrprogram för att separat exekvera kod från textfiler i en virtuell maskin.

Den genererade C-koden är kraftigt konditionerad och kan konfigureras för att köras med olika distributionstekniker av varierande sofistikering; de mest effektiva sändningsteknikerna förlitar sig på något arkitekturspecifikt, men inte VM-specifikt, monteringsstöd från Jitter; alla leveransmodeller, men en är också baserad på GNU C-tillägg.

Slutligen, för de som är intresserade av att veta mer om det, bör de veta att den ursprungliga Jitter-koden är skriven i C och är tillgänglig under GPLv3-licensen. Du kan lära dig mer i följande länk.

Hur får man Jitter?

För de som är intresserade av att kunna testa Jitter kan de få källkoden genom att öppna en terminal och skriva följande kommando i den:

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

När detta är gjort, nu fortsätter vi att gå in i mappen som har koden, vi ska köra startskriptet som används för att generera de nödvändiga filerna för att konfigurera och bygga Jitter, inklusive ett konfigurationsskript. Vi gör detta med:

cd jitter && ./bootstrap

Det är värt att nämna att Jitter följer GNU:s konventioner för konfiguration och konstruktion och stödjer konstruktion från källkatalogen; i själva verket stöder den korskompilering och till och med körning av testsviten i en korskompilering via en emulator.

./configure && make

Slutligen, för att köra, skriv bara:

make check


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.