Cosmopolitan 2.0 ના નવા સંસ્કરણને મળો, ક્રોસ-પ્લેટફોર્મ સ્ટાન્ડર્ડ C લાઇબ્રેરી

નું લોકાર્પણ પ્રોજેક્ટનું નવું સંસ્કરણ "કોસ્મોપોલિટન 2.0", જે પ્રમાણભૂત C લાઇબ્રેરી અને સાર્વત્રિક એક્ઝિક્યુટેબલ ફાઇલ ફોર્મેટ વિકસાવે છે જેનો ઉપયોગ દુભાષિયા અને વર્ચ્યુઅલ મશીનોના ઉપયોગ વિના વિવિધ ઑપરેટિંગ સિસ્ટમ્સ માટે પ્રોગ્રામ્સનું વિતરણ કરવા માટે થઈ શકે છે.

કન્ટેનર સાર્વત્રિક એક્ઝિક્યુટેબલ ફાઇલો બનાવવા માટે વિવિધ સિસ્ટમોમાંથી ચોક્કસ સેગમેન્ટ્સ અને હેડરોને સંયોજિત કરવા પર આધાર રાખે છે યુનિક્સ, વિન્ડોઝ અને મેકઓએસમાં ઉપયોગમાં લેવાતા વિવિધ ફોર્મેટને જોડીને ઓપરેટિંગ સિસ્ટમ્સને એક ફાઇલમાં બનાવે છે.

તેની ખાતરી કરવા માટે એક જ એક્ઝિક્યુટેબલ સિસ્ટમો પર ચલાવો વિન્ડોઝ અને યુનિક્સ, વિન્ડોઝ PE ફાઇલોને શેલ સ્ક્રિપ્ટ તરીકે એન્કોડ કરવા માટે યુક્તિનો ઉપયોગ થાય છે, એ હકીકતનો લાભ લઈને કે થોમ્પસન શેલ "#!" સ્ક્રિપ્ટ માર્કરનો ઉપયોગ કરતું નથી.

બહુવિધ ફાઈલો (બધા સંસાધનોને એક જ ફાઈલમાં જોડીને) સમાવિષ્ટ પ્રોગ્રામ્સ બનાવવા માટે, તેને ખાસ ઘડાયેલ ઝીપ આર્કાઈવના રૂપમાં એક્ઝિક્યુટેબલ ફાઈલ જનરેટ કરવા માટે સપોર્ટ કરવામાં આવે છે. સૂચિત ફોર્મેટની રૂપરેખા (ઉદાહરણ hello.com એપ્લિકેશન):

qemu-x86_64 કૉલ વધારાની પોર્ટેબિલિટી માટે આપવામાં આવે છે અને x86_64 આર્કિટેક્ચર માટે સંકલિત કોડને બિન-x86 પ્લેટફોર્મ્સ પર ચલાવવાની મંજૂરી આપે છે, જેમ કે રાસ્પબેરી પી બોર્ડ અને એઆરએમ પ્રોસેસર્સથી સજ્જ Apple ઉપકરણો. પ્રોજેક્ટનો ઉપયોગ એકલા એપ્લીકેશન બનાવવા માટે પણ થઈ શકે છે જે ઓપરેટિંગ સિસ્ટમ (બેર મેટલ) વગર કામ કરે છે. આવી એપ્લિકેશન્સમાં, એક્ઝિક્યુટેબલ ફાઇલ સાથે બુટલોડર જોડાયેલ હોય છે, અને પ્રોગ્રામ બુટ કરી શકાય તેવી ઓપરેટિંગ સિસ્ટમ તરીકે કાર્ય કરે છે.

કોસ્મોપોલિટન 2.0 ની મુખ્ય નવીનતાઓ

આ નવા સંસ્કરણમાં તે પ્રકાશિત થયું છે આંતરિક સંસાધનોને ઍક્સેસ કરવા માટેની સ્કીમા બદલવામાં આવી છે ડેન્ટ્રો ઝિપ ફાઇલમાંથી (ફાઈલો ખોલતી વખતે, zip:.. ઉપસર્ગનો ઉપયોગ કરવાને બદલે સામાન્ય /zip/… પાથનો હવે ઉપયોગ થાય છે). તેવી જ રીતે, વિન્ડોઝમાં ડિસ્કને એક્સેસ કરવા માટે, "C:/…" ને બદલે "/c/…" જેવા પાથનો ઉપયોગ કરવો શક્ય છે.

એક નવું APE લોડર પ્રસ્તાવિત છે (ખરેખર પોર્ટેબલ એક્ઝિક્યુટેબલ), જે યુનિવર્સલ એક્ઝિક્યુટેબલ ફાઇલોના ફોર્મેટને વ્યાખ્યાયિત કરે છે. નવું બુટલોડર પ્રોગ્રામને મેમરીમાં ફાળવવા માટે mmap નો ઉપયોગ કરે છે અને હવે ફ્લાય પરની સામગ્રીને બદલશે નહીં. જો જરૂરી હોય તો, સાર્વત્રિક એક્ઝિક્યુટેબલને વ્યક્તિગત પ્લેટફોર્મ સાથે જોડાયેલા નિયમિત એક્ઝિક્યુટેબલમાં રૂપાંતરિત કરી શકાય છે.

Linux પર, binfmt_misc કર્નલ મોડ્યુલ વાપરવાનું શક્ય છે APE કાર્યક્રમો ચલાવવા માટે. તે નોંધ્યું છે કે binfmt_misc નો ઉપયોગ એ સૌથી ઝડપી સ્ટાર્ટઅપ પદ્ધતિ છે, વધુમાં નું અમલીકરણ ઓપનબીએસડી પ્રોજેક્ટ દ્વારા વિકસાવવામાં આવેલ પ્રતિજ્ઞા() અને અનાવિલ() સિસ્ટમ કૉલ્સની કાર્યક્ષમતા, તેમજ C, C++, Python અને Redbean પ્રોગ્રામ્સમાં કૉલ ડેટાનો ઉપયોગ કરવા માટે API પ્રદાન કરે છે, તેમજ પ્રોમિસ ડોટ કોમની ઉપયોગિતા. મનસ્વી પ્રક્રિયાઓને અલગ કરવા.

આપણે એ પણ શોધી શકીએ છીએ Linux માટે, clock_gettime અને gettimeofday કૉલ્સનું પ્રદર્શન વધારવામાં આવ્યું છે vDSO (વર્ચ્યુઅલ ડાયનેમિક શેર્ડ ઑબ્જેક્ટ) મિકેનિઝમના ઉપયોગને કારણે 10 વખત સુધી, જે સિસ્ટમ કૉલ હેન્ડલરને વપરાશકર્તા જગ્યામાં સ્થાનાંતરિત કરવા અને સ્વિચ સંદર્ભને બાયપાસ કરવાની મંજૂરી આપે છે.

બિલ્ડ લેન્ડલોક મેકનો ઉપયોગ કરે છે, સખત નિર્ભરતા તપાસ સાથે GNU Make ની આવૃત્તિ અને બાકીની સિસ્ટમમાંથી પ્રોગ્રામને અલગ કરવા અને કેશીંગ કાર્યક્ષમતામાં સુધારો કરવા માટે લેન્ડલોક સિસ્ટમ કોલનો ઉપયોગ. એક વિકલ્પ તરીકે, કમ્પાઇલર ક્ષમતા અને સામાન્ય GNU મેક સાચવેલ છે.

બીજી બાજુ, તે પણ હાઇલાઇટ કરે છે મલ્ટિથ્રેડીંગ માટે અમલમાં આવેલ કાર્યો: _સ્પૉન() અને _જોઇન(), જે વિવિધ ઓપરેટિંગ સિસ્ટમો માટે ચોક્કસ API પર સાર્વત્રિક બંધનકર્તા છે. POSIX થ્રેડો માટે સપોર્ટ લાગુ કરવા માટે પણ કામ ચાલી રહ્યું છે.

અન્ય ફેરફારો કે જે standભા છે:

  • stderr ને તમામ ફંક્શન કૉલ્સ અને સિસ્ટમ કૉલ્સ વિશેની માહિતી મોકલવા માટે એક્ઝિક્યુટેબલ ફાઇલોમાં “–ftrace” અને “–strace” વિકલ્પો માટે સમર્થન ઉમેર્યું.
  • Linux 5.9+, FreeBSD 8+ અને OpenBSD સાથે સુસંગત Closefrom() સિસ્ટમ કૉલ માટે સપોર્ટ ઉમેર્યો.
  • જટિલ સંખ્યાઓ સાથે કામ કરવા માટેના ગાણિતિક કાર્યો મુસલ લાઇબ્રેરીમાંથી ખસેડવામાં આવ્યા છે.
  • ગણિતના ઘણા કાર્યોને ઝડપી બનાવવામાં આવ્યા છે.
  • nointernet() કાર્ય પ્રસ્તાવિત છે, જે નેટવર્ક ક્ષમતાઓને નિષ્ક્રિય કરે છે.
  • સ્ટ્રિંગ્સને અસરકારક રીતે જોડવા માટે નવા કાર્યો ઉમેર્યા: appendd, appendf, appendr, appends, appendw, appendz, kappendf, kvappendf, અને vappendf.
  • kprintf() વિધેયોના કુટુંબનું સુરક્ષિત સંસ્કરણ, એલિવેટેડ વિશેષાધિકારો સાથે કામ કરવા માટે રચાયેલ છે, ઉમેરવામાં આવ્યું છે.
  • SSL, SHA, curve25519, અને RSA અમલીકરણોની નોંધપાત્ર રીતે સુધારેલ કામગીરી.

છેલ્લે, જો તમે તેના વિશે વધુ જાણવામાં રસ ધરાવો છો, તો તમારે જાણવું જોઈએ કે પ્રોજેક્ટ કોડઅથવા ISC લાયસન્સ હેઠળ વિતરિત કરવામાં આવે છે (MIT/BSD નું સરળ સંસ્કરણ).


તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: AB ઈન્ટરનેટ નેટવર્ક્સ 2008 SL
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.