થોડા દિવસો પહેલા સમાચાર બહાર આવ્યા હતા કે પ્રોજેક્ટ જીટર સત્તાવાર રીતે જીએનયુ પ્રોજેક્ટની પાંખ હેઠળનો પ્રોજેક્ટ બન્યો અને હવે GNU ઈન્ફ્રાસ્ટ્રક્ચરનો ઉપયોગ કરીને અને પ્રોજેક્ટની જરૂરિયાતો અનુસાર GNU Jitter નામ હેઠળ વિકસાવવામાં આવી રહ્યું છે.
જેઓ જીટરથી અજાણ છે, તેઓએ જાણવું જોઈએ કે તે છેa એક અમલીકરણ છે જે ખૂબ જ ઝડપી અને પોર્ટેબલ વર્ચ્યુઅલ મશીનો જનરેટ કરવાની મંજૂરી આપે છે પ્રોગ્રામિંગ ભાષાઓની મનસ્વી ડિઝાઇન માટે, જેનું કોડ એક્ઝિક્યુશન પર્ફોર્મન્સ દુભાષિયા કરતાં નોંધપાત્ર રીતે આગળ છે અને મૂળ સંકલિત કોડની નજીક છે.
જીટર અત્યંત પોર્ટેબલ છે અને યોગ્ય VM એ કોઈપણ પ્લેટફોર્મ પર બરાબર એ જ વર્તન પ્રદર્શિત કરશે કે જેમાં માત્ર પ્રમાણભૂત C કમ્પાઇલર અને લાઇબ્રેરી હોય; જો કે, જો સમર્થિત આર્કિટેક્ચરોમાંથી એક (હાલમાં: M68k, MIPS, PowerPC, RISC-V, SPARC, x86_64; સેકન્ડ લેવલ: Aarch64, Alpha, ARM, S390x) GCC સાથે ELF સિસ્ટમ્સ પર ઉપયોગમાં લેવામાં આવે તો પ્રદર્શન વધુ સારું રહેશે. જીટર અલબત્ત GNU પ્રોજેક્ટનો ભાગ છે અને તે મુખ્યત્વે GNU સિસ્ટમ પર ઉપયોગ કરવા માટે રચાયેલ છે.
જીટ્ટેr એ સપોર્ટેડ સૂચનાઓના ઉચ્ચ-સ્તરના સ્પષ્ટીકરણને ઇનપુટ તરીકે લે છે વર્ચ્યુઅલ મશીન માટે, અને આઉટપુટમાં તે વર્ચ્યુઅલ મશીનના ઉપયોગ માટે તૈયાર અમલીકરણ બનાવે છે આપેલ સૂચનાઓનો અમલ કરવા.
સ્પષ્ટીકરણમાં દરેક સૂચનાનો તર્ક સી કોડનો ઉપયોગ કરીને ઉલ્લેખિત છે. વધારાના લક્ષણોમાં શરતી બ્રાન્ચિંગ ઑપરેશન્સ માટે સપોર્ટનો સમાવેશ થાય છે જે C માં અમલમાં મૂકવું મુશ્કેલ છે અને ડાયનેમિક પ્રોગ્રામિંગ ભાષાઓમાં સહજ છે, જેમ કે ટૅગ મૂલ્યોની તપાસ કરવી અને ઓવરફ્લો માટે તપાસ કરવી.
જિટર રનટાઈમ માત્ર C નો ઉપયોગ કરીને અમલમાં મુકવામાં અઘરી શરતી બ્રાન્ચિંગ કામગીરી માટે કાર્યક્ષમ સમર્થન પણ આપે છે, જેમ કે ગતિશીલ રીતે ટાઈપ કરેલી ભાષાઓ દ્વારા જરૂરી મૂલ્ય લેબલ્સ અને ઓવરફ્લો ચેકિંગ સાથે અંકગણિતની તપાસ કરવી. VM કોડ પાસે કૉલબેક અને પ્રક્રિયા કૉલ ઑપરેશન્સની ઍક્સેસ છે, મોટા ભાગના કિસ્સાઓમાં કાર્યક્ષમ હાર્ડવેર મિકેનિઝમ પર આધાર રાખે છે.
પરિણામી વર્ચ્યુઅલ મશીન નાની સંખ્યામાં દાખલ સાથે C માં ફોર્મેટ થયેલ છે એસેમ્બલરનું. વિવિધ ઓપ્ટિમાઇઝેશનને સક્ષમ કરવા અને શિપિંગ મિકેનિઝમ્સ પસંદ કરવા માટે સેટિંગ્સ પ્રદાન કરવામાં આવે છે, જે વર્ચ્યુઅલ મશીનને વિવિધ પ્લેટફોર્મ્સ પર સ્થાનાંતરિત કરવાનું સરળ બનાવે છે.
તે રજિસ્ટર, સ્ટેક અને મર્જ એક્ઝેક્યુશન આર્કિટેક્ચરના ઉપયોગને સમર્થન આપે છે, તેમજ વર્ચ્યુઅલ મશીન ડેટા સ્ટ્રક્ચર્સને CPU હાર્ડવેર રજિસ્ટરમાં મિરર કરવાની ક્ષમતા અને કચરો કલેક્ટર્સને જોડે છે.
જનરેટ કરેલા કોડમાં વર્ચ્યુઅલ મશીનમાં કોડને ગતિશીલ રીતે બદલવા અને ચલાવવા માટે એક સરળ C API તેમજ વર્ચ્યુઅલ મશીનમાં ટેક્સ્ટ ફાઇલોમાંથી કોડને અલગથી ચલાવવા માટે ડ્રાઇવર પ્રોગ્રામનો સમાવેશ થાય છે.
જનરેટ કરેલ C કોડ ભારે કન્ડિશન્ડ છે અને તેને વિવિધ અભિજાત્યપણુની વિવિધ વિતરણ તકનીકોનો ઉપયોગ કરીને ચલાવવા માટે ગોઠવી શકાય છે; સૌથી વધુ કાર્યક્ષમ ડિસ્પેચિંગ તકનીકો અમુક આર્કિટેક્ચર-વિશિષ્ટ પર આધાર રાખે છે, પરંતુ VM-વિશિષ્ટ નહીં, જિટર દ્વારા પ્રદાન કરવામાં આવેલ એસેમ્બલી સપોર્ટ; બધા ડિસ્પેચ મોડલ, પરંતુ એક પણ GNU C એક્સ્ટેંશન પર આધારિત છે.
અંતે, જેઓ તેના વિશે વધુ જાણવામાં રસ ધરાવતા હોય, તમારે જાણવું જોઈએ કે મૂળ જીટર કોડ C માં લખાયેલો છે અને તે GPLv3 લાયસન્સ હેઠળ ઉપલબ્ધ છે. તમે અહીં વધુ જાણી શકો છો નીચેની કડી
જીટર કેવી રીતે મેળવવું?
જીટરને અજમાવવામાં રસ ધરાવતા લોકો માટે, તમે ટર્મિનલ ખોલીને અને તેમાં નીચેનો આદેશ લખીને સ્રોત કોડ મેળવી શકો છો:
git clone http://git.ageinghacker.net/jitter
એકવાર આ થઈ જાય, હવે અમે કોડ ધરાવતું ફોલ્ડર દાખલ કરવા આગળ વધીએ છીએ, અમે સ્ટાર્ટઅપ સ્ક્રિપ્ટને એક્ઝિક્યુટ કરવા જઈ રહ્યા છીએ જેનો ઉપયોગ રૂપરેખાંકન સ્ક્રિપ્ટ સહિત જિટરને ગોઠવવા અને બિલ્ડ કરવા માટે જરૂરી ફાઇલો જનરેટ કરવા માટે થાય છે. અમે આ સાથે કરીએ છીએ:
cd jitter && ./bootstrap
તે ઉલ્લેખનીય છે કે જીટ્ટર રૂપરેખાંકન અને બિલ્ડ માટે GNU સંમેલનોને અનુસરે છે અને સ્રોત ડિરેક્ટરીમાંથી બિલ્ડિંગને સપોર્ટ કરે છે; વાસ્તવમાં, તે ક્રોસ-કમ્પાઇલિંગને સપોર્ટ કરે છે અને ઇમ્યુલેટર દ્વારા ક્રોસ-કમ્પાઇલમાં ટેસ્ટ સ્યુટને પણ ચલાવે છે.
./configure && make
છેલ્લે, ચલાવવા માટે, ફક્ત ટાઇપ કરો:
make check