Jitter oficialiai tapo GNU projekto dalimi

Prieš kelias dienas buvo paskelbta žinia, kad projektas Jitter oficialiai tapo projektu pagal GNU projekto sparną ir dabar yra kuriamas GNU Jitter pavadinimu naudojant GNU infrastruktūrą ir pagal projekto reikalavimus.

Tiems, kurie nežino apie Jitter, turėtumėte žinoti, kad tai yraa yra diegimas, leidžiantis generuoti nešiojamas ir labai greitas virtualias mašinas savavališkoms programavimo kalboms, kurių kodo vykdymo našumas gerokai lenkia vertėjus ir yra artimas vietiniam sukompiliuotam kodui.

Jitter yra labai nešiojama, o tinkama VM elgsis lygiai taip pat bet kurioje platformoje, kurioje yra tik standartinis C kompiliatorius ir biblioteka; tačiau našumas bus geresnis, jei ELF sistemose su GCC bus naudojama viena iš palaikomų architektūrų (šiuo metu: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; antrasis lygis: Aarch64, Alpha, ARM, S390x). Žinoma, Jitter yra GNU projekto dalis ir pirmiausia sukurta naudoti GNU sistemoje.

nervintisr kaip įvestį paima palaikomų instrukcijų aukšto lygio specifikaciją virtualiai mašinai, o išvestyje sudaro paruoštą naudoti virtualios mašinos įgyvendinimą vykdyti duotus nurodymus.

Kiekvienos instrukcijos logika specifikacijoje Jis nurodomas naudojant C kodą. Papildomos funkcijos apima sąlyginių šakų operacijų, kurias sunku įgyvendinti C ir būdingas dinaminėms programavimo kalboms, palaikymą, pvz., žymos vertės tikrinimą ir perpildymo tikrinimą.

Jitter vykdymo laikas taip pat turi veiksmingą palaikymą sąlyginėms šakų operacijoms, kurias sunku įgyvendinti naudojant vien C, pvz., tikrinti reikšmių etiketes, kurių reikalauja dinamiškai įvestos kalbos, ir aritmetika su perpildymo tikrinimu. VM kodas turi prieigą prie procedūrų iškvietimo ir grąžinimo operacijų, daugeliu atvejų pasikliaudamas efektyviais aparatūros mechanizmais.

Gauta virtuali mašina suformatuota C formatu su nedideliu įterpimų skaičiumi surinkėjo. Pateikiami nustatymai, leidžiantys įgalinti įvairius optimizavimus ir pasirinkti siuntimo mechanizmus, todėl virtualią mašiną lengva perkelti į skirtingas platformas.

Jis palaiko registro, dėklo ir sujungimo vykdymo architektūrų naudojimą, taip pat galimybę atspindėti virtualios mašinos duomenų struktūras procesoriaus aparatinės įrangos registruose ir prijungti šiukšlių surinkėjus.

Sugeneruotas kodas apima paprastą C API, skirtą pakeisti ir dinamiškai vykdyti kodą virtualioje mašinoje, taip pat tvarkyklės programą, skirtą atskirai vykdyti kodą iš tekstinių failų virtualioje mašinoje.

Sukurtas C kodas yra stipriai kondicionuojamas ir gali būti sukonfigūruotas veikti naudojant skirtingus įvairaus sudėtingumo platinimo būdus; efektyviausi siuntimo būdai priklauso nuo tam tikros architektūros, bet ne VM, surinkimo palaikymo, kurį teikia Jitter; visi siuntimo modeliai, bet vienas taip pat pagrįstas GNU C plėtiniais.

Galiausiai, tie, kurie nori sužinoti daugiau apie tai, turėtų žinoti, kad originalus Jitter kodas parašytas C ir yra prieinamas pagal GPLv3 licenciją. Daugiau sužinoti galite adresu sekanti nuoroda.

Kaip gauti Jitter?

Tiems, kurie nori išbandyti Jitter, šaltinio kodą galite gauti atidarę terminalą ir įvedę jame šią komandą:

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

Kai tai bus padaryta, pereisime prie aplanko, kuriame yra kodas, įvedimo, vykdysime paleisties scenarijų, kuris naudojamas generuoti reikalingus failus, skirtus konfigūruoti ir sukurti Jitter, įskaitant konfigūracijos scenarijų. Tai darome su:

cd jitter && ./bootstrap

Verta paminėti, kad Jitter laikosi GNU konfigūravimo ir konstravimo konvencijų ir palaiko kūrimą iš šaltinio katalogo; Tiesą sakant, jis palaiko kryžminį kompiliavimą ir netgi testų rinkinio vykdymą kryžminiu kompiliavimu naudojant emuliatorių.

./configure && make

Galiausiai, norėdami vykdyti, tiesiog įveskite:

make check


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.