Jitter je službeno postao dio GNU projekta

Prije nekoliko dana objavljena je vijest da je projekat Jitter je zvanično postao projekat pod okriljem GNU projekta i sada se razvija pod imenom GNU Jitter koristeći GNU infrastrukturu iu skladu sa zahtjevima projekta.

Za one koji ne znaju za Jitter, trebali biste znati da jestea je implementacija koja omogućava generisanje prenosivih i veoma brzih virtuelnih mašina za proizvoljne dizajne programskih jezika, čije su performanse izvršavanja koda znatno ispred interpretatora i bliske izvornom kompajliranom kodu.

Jitter je veoma prenosiv i ispravan VM će pokazati potpuno isto ponašanje na bilo kojoj platformi koja ima samo standardni C kompajler i biblioteku; međutim, performanse će biti bolje ako se jedna od podržanih arhitektura (trenutno: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; drugi nivo: Aarch64, Alpha, ARM, S390x) koristi na ELF sistemima sa GCC. Naravno, Jitter je dio GNU projekta i prvenstveno je dizajniran za korištenje u GNU sistemu.

jitter uzima kao ulaz specifikaciju visokog nivoa podržanih instrukcija za virtuelnu mašinu, a na izlazu formira implementaciju virtuelne mašine spremnu za upotrebu da izvrši date instrukcije.

Logika svake instrukcije u specifikaciji Specificira se korištenjem C koda. Dodatne karakteristike uključuju podršku za operacije uslovnog grananja koje je teško implementirati u C i koje su inherentne dinamičkim programskim jezicima, kao što je provjera vrijednosti oznake i provjera prekoračenja.

Jitter runtime takođe ima efikasnu podršku za operacije uslovnog grananja koje je teško implementirati koristeći samo C, kao što je provjera oznaka vrijednosti kako to zahtijevaju dinamički tipizirani jezici i aritmetika sa provjerom prekoračenja. VM kod ima pristup operacijama poziva procedure i vraćanja, u većini slučajeva oslanjajući se na efikasne hardverske mehanizme.

Dobivena virtuelna mašina je formatirana u C sa malim brojem umetanja asemblera. Postavke su date za omogućavanje različitih optimizacija i odabir mehanizama isporuke, što olakšava migraciju virtuelne mašine na različite platforme.

Podržava upotrebu arhitektura registra, steka i spajanja, kao i mogućnost preslikavanja struktura podataka virtuelne mašine u registre hardvera procesora i povezivanje sakupljača smeća.

Generisani kod uključuje jednostavan C API za zamenu i dinamičko izvršavanje koda u virtuelnoj mašini, kao i drajverski program za odvojeno izvršavanje koda iz tekstualnih datoteka u virtuelnoj mašini.

Generisani C kod je jako uslovljen i može se konfigurisati da radi korišćenjem različitih tehnika distribucije različite sofisticiranosti; najefikasnije tehnike dispečerstva se oslanjaju na neku specifičnu arhitekturu, ali ne i VM-specifičnu podršku za sklapanje koju pruža Jitter; svi modeli otpreme, ali jedan je također baziran na GNU C ekstenzijama.

Konačno, za one koji su zainteresirani da saznaju više o tome, trebali biste znati da je originalni Jitter kod napisan u C-u i dostupan je pod GPLv3 licencom. Više možete saznati na sljedeći link.

Kako dobiti Jitter?

Za one koji su zainteresirani da isprobaju Jitter, izvorni kod možete dobiti otvaranjem terminala i upisivanjem sljedeće naredbe u njega:

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

Nakon što je ovo urađeno, sada prelazimo na ulazak u mapu koja ima kod, izvršit ćemo skriptu za pokretanje koja se koristi za generiranje potrebnih datoteka za konfiguraciju i izgradnju Jittera, uključujući konfiguracijsku skriptu. Ovo radimo sa:

cd jitter && ./bootstrap

Vrijedi spomenuti da Jitter slijedi GNU konvencije za konfiguraciju i konstrukciju i podržava izgradnju iz izvornog direktorija; u stvari, podržava unakrsnu kompilaciju, pa čak i pokretanje testnog paketa u unakrsnoj kompilaciji kroz emulator.

./configure && make

Konačno, da biste izvršili, samo upišite:

make check


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.