Jitter je službeno postao dio GNU projekta

Prije nekoliko dana objavljena je vijest da je projekt Jitter je službeno postao projekt pod okriljem GNU projekta a sada se razvija pod imenom GNU Jitter koristeći GNU infrastrukturu iu skladu sa zahtjevima projekta.

Za one koji nisu upoznati s Jitterom, trebali biste znati da jesta je implementacija koja omogućuje generiranje prijenosnih i vrlo brzih virtualnih strojeva za proizvoljne dizajne programskih jezika, čija je izvedba koda znatno ispred interpretatora i bliska izvornom prevedenom kodu.

Jitter je vrlo prenosiv i ispravan VM će pokazati potpuno isto ponašanje na bilo kojoj platformi koja ima samo kompajler i standardnu ​​C biblioteku; međutim, performanse će biti bolje korištenjem jedne od podržanih arhitektura (trenutačno: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; 64. razina: Aarch390, Alpha, ARM, SXNUMXx) na ELF sustavima s GCC. Naravno, Jitter je dio GNU projekta i dizajniran je prvenstveno za korištenje u GNU sustavu.

jitter uzima kao ulaz specifikaciju visoke razine podržanih instrukcija pomoću virtualnog stroja, a u izlazu oblikuje gotovu implementaciju virtualnog stroja izvršiti zadane upute.

Logika svake instrukcije u specifikaciji specificira se pomoću C koda. Dodatne značajke uključuju podršku za operacije uvjetnog grananja koje je teško implementirati u C i koje su svojstvene dinamičkim programskim jezicima, kao što je provjera vrijednosti oznake i provjera prekoračenja.

Jitter runtime također ima učinkovitu podršku za teške za implementaciju operacija uvjetnog grananja koristeći samo C, kao što je provjera oznake vrijednosti prema zahtjevima dinamički upisanih jezika i aritmetika s provjerom preljeva. VM kod pristupa operacijama poziva procedure i vraćanja, u većini slučajeva oslanjajući se na učinkovite hardverske mehanizme.

Rezultirajući virtualni stroj je formatiran u C s malim brojem umetanja asembler. Dostupne su konfiguracije koje omogućuju različite optimizacije i odabir mehanizama isporuke, što olakšava migraciju virtualnog stroja na različite platforme.

Podržava korištenje arhitektura izvođenja registra, stogova i spajanja, kao i mogućnost zrcalnog prikaza struktura podataka virtualnog stroja u registrima hardvera procesora i povezivanja sakupljača smeća.

Generirani kod uključuje jednostavan C API za dinamičku zamjenu i izvršavanje koda u virtualnom stroju, kao i program kontrolera za odvojeno izvršavanje koda iz tekstualnih datoteka u virtualnom stroju.

Generirani C kod je jako uvjetovan i može se konfigurirati za rad korištenjem različitih tehnika distribucije različite sofisticiranosti; najučinkovitije tehnike slanja oslanjaju se na neku specifičnu arhitekturu, ali ne i VM-specifičnu podršku za sklapanje koju pruža Jitter; svi modeli otpreme, ali jedan se također temelji na GNU C ekstenzijama.

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

Kako dobiti Jitter?

Za one koji su zainteresirani da mogu testirati Jitter, mogu dobiti izvorni kod otvaranjem terminala i upisivanjem sljedeće naredbe u njega:

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

Nakon što je to učinjeno, sada nastavljamo s unosom mape koja ima kod, izvršit ćemo skriptu za pokretanje koja se koristi za generiranje potrebnih datoteka za konfiguriranje i izgradnju Jittera, uključujući konfiguracijsku skriptu. To radimo sa:

cd jitter && ./bootstrap

Vrijedno je spomenuti da Jitter slijedi GNU konvencije za konfiguraciju i konstrukciju te podržava konstrukciju iz izvornog direktorija; zapravo, podržava unakrsno prevođenje, pa čak i pokretanje testnog paketa u unakrsnoj kompilaciji putem emulatora.

./configure && make

Na kraju, za izvršenje, samo upišite:

make check


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.