Cosmopolitan 2.0 च्या नवीन आवृत्तीला भेटा, क्रॉस-प्लॅटफॉर्म मानक C लायब्ररी

लाँच प्रकल्पाची नवीन आवृत्ती "कॉस्मोपॉलिटन 2.0", जे एक मानक C लायब्ररी आणि एक युनिव्हर्सल एक्झिक्युटेबल फाइल फॉरमॅट विकसित करते ज्याचा वापर इंटरप्रिटर आणि व्हर्च्युअल मशीन्सचा वापर न करता वेगवेगळ्या ऑपरेटिंग सिस्टमसाठी प्रोग्राम वितरित करण्यासाठी केला जाऊ शकतो.

कंटेनर सार्वत्रिक एक्झिक्युटेबल फाइल्स व्युत्पन्न करण्यासाठी विविध सिस्टीममधील विशिष्ट विभाग आणि शीर्षलेख एकत्र करण्यावर अवलंबून आहे युनिक्स, विंडोज आणि मॅकओएस मध्ये वापरल्या जाणार्‍या अनेक भिन्न फॉरमॅट्स एकत्र करून ऑपरेटिंग सिस्टम्स एका फाइलमध्ये.

याची खात्री करण्यासाठी एकच एक्झिक्यूटेबल प्रणालींवर चालवा विंडोज आणि युनिक्स, शेल स्क्रिप्ट म्हणून विंडोज पीई फाइल्स एन्कोड करण्यासाठी युक्ती वापरली जाते, थॉम्पसन शेल "#!" स्क्रिप्ट मार्कर वापरत नाही याचा फायदा घेत.

एकापेक्षा जास्त फायली (सर्व संसाधने एकाच फाईलमध्ये एकत्रित करून) समाविष्ट करणारे प्रोग्राम तयार करण्यासाठी, विशेष तयार केलेल्या झिप आर्काइव्हच्या स्वरूपात एक एक्झिक्यूटेबल फाइल तयार करण्यासाठी समर्थित आहे. प्रस्तावित स्वरूपाची रूपरेषा (उदाहरण hello.com अनुप्रयोग):

अतिरिक्त पोर्टेबिलिटीसाठी qemu-x86_64 कॉल प्रदान केला आहे आणि x86_64 आर्किटेक्चरसाठी संकलित केलेल्या कोडला x86 नसलेल्या प्लॅटफॉर्मवर चालण्यास अनुमती देते, जसे की रास्पबेरी पाई बोर्ड आणि ARM प्रोसेसरसह सुसज्ज ऍपल उपकरणे. ऑपरेटिंग सिस्टम (बेअर मेटल) शिवाय कार्य करणारे स्टँड-अलोन अॅप्लिकेशन्स तयार करण्यासाठी देखील प्रकल्पाचा वापर केला जाऊ शकतो. अशा अनुप्रयोगांमध्ये, एक बूटलोडर एक्झिक्युटेबल फाइलशी संलग्न केला जातो आणि प्रोग्राम बूट करण्यायोग्य ऑपरेटिंग सिस्टम म्हणून कार्य करतो.

कॉस्मोपॉलिटन 2.0 ची मुख्य नवीनता

या नवीन आवृत्तीमध्ये हे अधोरेखित केले गेले आहे अंतर्गत संसाधनांमध्ये प्रवेश करण्याची योजना बदलली आहे आत झिप फाइलमधून (फाईल्स उघडताना, zip:.. उपसर्ग वापरण्याऐवजी आता नेहमीचे /zip/… पथ वापरले जातात). त्याचप्रमाणे, विंडोजमधील डिस्क्समध्ये प्रवेश करण्यासाठी, "C:/…" ऐवजी "/c/…" सारखे पथ वापरणे शक्य आहे.

नवीन एपीई लोडर प्रस्तावित आहे (वास्तविक पोर्टेबल एक्झिक्युटेबल), जे सार्वत्रिक एक्झिक्युटेबल फाइल्सचे स्वरूप परिभाषित करते. नवीन बूटलोडर मेमरीमध्ये प्रोग्राम वाटप करण्यासाठी mmap वापरते आणि यापुढे फ्लायवरील सामग्री बदलत नाही. आवश्यक असल्यास, युनिव्हर्सल एक्झिक्युटेबल वैयक्तिक प्लॅटफॉर्मशी जोडलेल्या नियमित एक्झिक्युटेबलमध्ये रूपांतरित केले जाऊ शकते.

लिनक्सवर, binfmt_misc कर्नल मॉड्यूल वापरणे शक्य आहे APE कार्यक्रम चालवण्यासाठी. हे लक्षात घेतले जाते की binfmt_misc चा वापर ही सर्वात वेगवान स्टार्टअप पद्धत आहे ची अंमलबजावणी OpenBSD प्रोजेक्टद्वारे विकसित केलेल्या ppledge() आणि unveil() सिस्टम कॉल्सची कार्यक्षमता, तसेच C, C++, Python आणि Redbean प्रोग्राम्समध्ये कॉल डेटा वापरण्यासाठी API प्रदान करते, तसेच promise.com ची उपयुक्तता. अनियंत्रित प्रक्रिया वेगळे करणे.

आम्ही ते देखील शोधू शकतो Linux साठी, clock_gettime आणि gettimeofday कॉल्सची कार्यक्षमता वाढवली आहे vDSO (व्हर्च्युअल डायनॅमिक शेअर्ड ऑब्जेक्ट) मेकॅनिझमच्या वापरामुळे 10 वेळा पर्यंत, जे सिस्टम कॉल हँडलरला वापरकर्त्याच्या जागेवर स्थानांतरित करण्यास आणि स्विच संदर्भ बायपास करण्यास अनुमती देते.

बिल्ड लँडलॉक मेक वापरते, कठोर अवलंबित्व तपासणीसह GNU Make ची आवृत्ती आणि लँडलॉक सिस्टम कॉलचा वापर उर्वरित सिस्टमपासून प्रोग्राम वेगळे करण्यासाठी आणि कॅशिंग कार्यक्षमता सुधारण्यासाठी. एक पर्याय म्हणून, कंपाइलर क्षमता आणि नेहमीचा GNU मेक जतन केला जातो.

दुसरीकडे, ते देखील हायलाइट करते मल्टीथ्रेडिंगसाठी कार्यान्वित केलेली कार्ये: _spawn() आणि _join(), जे वेगवेगळ्या ऑपरेटिंग सिस्टमसाठी विशिष्ट API वर सार्वत्रिक बंधने आहेत. POSIX थ्रेड्ससाठी समर्थन कार्यान्वित करण्यासाठी देखील काम सुरू आहे.

इतर बदल की:

  • stderr ला सर्व फंक्शन कॉल्स आणि सिस्टम कॉल्सची माहिती पाठवण्यासाठी एक्झिक्यूटेबल फाइल्ससाठी “–ftrace” आणि “–strace” पर्यायांसाठी समर्थन जोडले.
  • Linux 5.9+, FreeBSD 8+ आणि OpenBSD शी सुसंगत Closefrom() सिस्टम कॉलसाठी समर्थन जोडले.
  • जटिल संख्यांसह कार्य करण्यासाठी गणितीय कार्ये Musl लायब्ररीमधून हलवली गेली आहेत.
  • अनेक गणित कार्ये वेगवान झाली आहेत.
  • 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. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.