Jitter u bë zyrtarisht pjesë e projektit GNU

Pak ditë më parë u publikua lajmi se projekti Jitter u bë zyrtarisht një projekt nën krahun e Projektit GNU dhe tani po zhvillohet me emrin GNU Jitter duke përdorur infrastrukturën GNU dhe në përputhje me kërkesat e projektit.

Për ata që nuk janë të njohur me Jitter, duhet ta dini se ështëa është një implementim që lejon gjenerimin e makinave virtuale portative dhe shumë të shpejta për dizajne arbitrare të gjuhëve programuese, performanca e ekzekutimit të kodit të të cilave është dukshëm përpara interpretuesve dhe afër kodit të përpiluar vendas.

Jitter është shumë i lëvizshëm dhe një VM e saktë do të shfaqë saktësisht të njëjtën sjellje në çdo platformë që ka vetëm një përpilues dhe një bibliotekë standarde C; megjithatë, performanca do të jetë më e mirë duke përdorur një nga arkitekturat e mbështetura (aktualisht: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; niveli i dytë: Aarch64, Alpha, ARM, S390x) në sistemet ELF me GCC. Sigurisht, Jitter është pjesë e projektit GNU dhe është projektuar kryesisht për përdorim në sistemin GNU.

jitter merr si hyrje një specifikim të nivelit të lartë të udhëzimeve të mbështetura nga një makinë virtuale, dhe në dalje formon një implementim të gatshëm për përdorim të një makinerie virtuale për të ekzekutuar udhëzimet e dhëna.

Logjika e çdo instruksioni në specifikim specifikohet duke përdorur kodin C. Veçoritë shtesë përfshijnë mbështetjen për operacionet e degëzimit të kushtëzuar që janë të vështira për t'u zbatuar në C dhe të natyrshme në gjuhët dinamike të programimit, të tilla si kontrolli i vlerës së etiketës dhe kontrolli i tejmbushjes.

Koha e funksionimit Jitter gjithashtu përmban mbështetje efikase për operacionet e degëzimit të kushtëzuar të vështirë për t'u zbatuar duke përdorur vetëm C, siç është kontrolli i etiketës së vlerës siç kërkohet nga gjuhët e shtypura në mënyrë dinamike dhe aritmetika me kontrollin e tejmbushjes. Kodi VM akseson operacionet e thirrjes dhe kthimit të procedurës, në shumicën e rasteve duke u mbështetur në mekanizmat efikasë të harduerit.

Makina virtuale që rezulton është formatuar në C me një numër të vogël insertesh montues. Ofrohen konfigurime për të mundësuar optimizime të ndryshme dhe përzgjedhje të mekanizmave të ofrimit, duke e bërë të lehtë migrimin e një makine virtuale në platforma të ndryshme.

Ai mbështet përdorimin e arkitekturave të ekzekutimit të regjistrave, stekëve dhe bashkimeve, si dhe aftësinë për të pasqyruar strukturat e të dhënave të makinës virtuale në regjistrat e harduerit të CPU-së dhe për të lidhur mbledhësit e mbeturinave.

Kodi i gjeneruar përfshin një API të thjeshtë C për të zëvendësuar dhe ekzekutuar në mënyrë dinamike kodin në një makinë virtuale, si dhe një program kontrollues për të ekzekutuar veçmas kodin nga skedarët e tekstit në një makinë virtuale.

Kodi C i gjeneruar është shumë i kushtëzuar dhe mund të konfigurohet për të ekzekutuar duke përdorur teknika të ndryshme të shpërndarjes me sofistikim të ndryshëm; teknikat më efikase të dispeçimit mbështeten në disa mbështetje montimi specifike për arkitekturën, por jo specifike të VM-së, të ofruar nga Jitter; të gjitha modelet e dërgimit, por njëri bazohet gjithashtu në shtesat GNU C.

Së fundi, për ata që janë të interesuar të dinë më shumë rreth tij, duhet të dinë se kodi origjinal Jitter është i shkruar në C dhe është i disponueshëm nën licencën GPLv3. Mund të mësoni më shumë në lidhja vijuese.

Si të merrni Jitter?

Për ata që janë të interesuar të jenë në gjendje të testojnë Jitter, ata mund të marrin kodin burim duke hapur një terminal dhe duke shtypur komandën e mëposhtme në të:

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

Pasi të jetë bërë kjo, tani vazhdojmë të futim dosjen që ka kodin, do të ekzekutojmë skriptin e fillimit që përdoret për të gjeneruar skedarët e nevojshëm për të konfiguruar dhe ndërtuar Jitter, duke përfshirë një skript konfigurimi. Ne e bëjmë këtë me:

cd jitter && ./bootstrap

Vlen të përmendet se Jitter ndjek konventat GNU për konfigurimin dhe ndërtimin dhe mbështet ndërtimin nga direktoria burimore; në fakt, ai mbështet ndër-përpilimin dhe madje ekzekutimin e grupit të testimit në një përmbledhje të kryqëzuar nëpërmjet një emulatori.

./configure && make

Më në fund, për të ekzekutuar, thjesht shkruani:

make check


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.