इस प्रोजेक्ट के बारे में
हाइपरलाइट एक हल्का वर्चुअल मशीन मैनेजर (VMM) है जिसे अनुप्रयोगों के भीतर एक लाइब्रेरी के रूप में एम्बेड करने के लिए बनाया गया है, जिससे वे अविश्वसनीय कोड को हाइपरवाइज़र-पृथक माइक्रो वर्चुअल मशीनों के भीतर निष्पादित कर सकें। यह क्लाउड नेटिव कंप्यूटिंग फाउंडेशन सैंडबॉक्स प्रोजेक्ट है और वर्तमान में pre-1.0 है, इसलिए रिलीज़ के बीच API बदल सकता है।
यह कैसे काम करता है: होस्ट अनुप्रयोग एक गेस्ट बाइनरी से सैंडबॉक्स बनाता है और स्थानीय फ़ंक्शनों की तरह VM सीमा के पार फ़ंक्शनों को कॉल करता है। गेस्ट no_std Rust या C में लिखे गए विशेष-उद्देश्य ELF बाइनरी होते हैं, जिनमें कोई गेस्ट कर्नेल या ऑपरेटिंग सिस्टम नहीं होता, जो स्टार्टअप समय और मेमोरी फ़ुटप्रिंट को कम रखता है। होस्ट और गेस्ट टाइप्ड फ़ंक्शन कॉल के माध्यम से संवाद करते हैं, और गेस्ट डिफ़ॉल्ट रूप से सैंडबॉक्स्ड होते हैं जिनकी होस्ट फ़ाइलसिस्टम या नेटवर्क तक कोई पहुँच नहीं होती। गेस्ट स्थिति कॉलों के बीच बनी रहती है, और snapshot()/restore() VM मेमोरी को सहेज और रीसेट कर सकते हैं ताकि VM को फिर से बनाए बिना सैंडबॉक्स का पुनः उपयोग किया जा सके।
समर्थित हाइपरवाइज़र में KVM, MSHV और Windows हाइपरवाइज़र प्लेटफ़ॉर्म शामिल हैं। README एक होस्ट उदाहरण दिखाता है जो एक होस्ट फ़ंक्शन को पंजीकृत करता है और गेस्ट में कॉल करता है, और एक गेस्ट उदाहरण जो #[host_function] और #[guest_function] जैसे मैक्रो का उपयोग करता है।
बताए गए उपयोग के मामलों में हाइपरवाइज़र-स्तरीय पृथक्करण के साथ अविश्वसनीय या तृतीय-पक्ष कोड चलाना, मिलीसेकंड में सैंडबॉक्स बनाना और हटाना, माइक्रोसेकंड में गेस्ट फ़ंक्शन कॉल करना, किसी अनुप्रयोग में सैंडबॉक्स्ड निष्पादन एम्बेड करना, हाइपरवाइज़र पृथक्करण के साथ फ़ंक्शन-एज़-ए-सर्विस बनाना, और snapshot तथा restore के माध्यम से सैंडबॉक्स का पुनः उपयोग करना शामिल है। प्रोजेक्ट स्पष्ट रूप से कहता है कि यह सामान्य-उद्देश्य वर्चुअलाइज़ेशन या पूर्ण Linux गेस्ट वर्कलोड चलाने के लिए अभिप्रेत नहीं है जिन्हें syscalls, नेटवर्किंग या फ़ाइलसिस्टम पहुँच की आवश्यकता होती है।
रिपॉज़िटरी होस्ट और गेस्ट लाइब्रेरी, एक C API रैपर, picolibc से बनी एक गेस्ट libc, गेस्ट और कंपोनेंट मैक्रो, ट्रेसिंग समर्थन, साझा सामान्य कोड, FlatBuffer स्कीमा परिभाषाएँ, एक ट्रेस डंप टूल, और Rust तथा C में परीक्षण गेस्ट प्रोग्राम में व्यवस्थित है। संबंधित प्रोजेक्ट में गेस्ट बनाने और स्कैफ़ोल्डिंग के लिए cargo-hyperlight, WebAssembly मॉड्यूल के लिए hyperlight-wasm, JavaScript के लिए hyperlight-js, Python, .NET और Rust SDK के साथ मल्टी-बैकएंड सैंडबॉक्सिंग के लिए hyperlight-sandbox, और गेस्ट कर्नेल के रूप में Unikraft का उपयोग करके Linux अनुप्रयोग चलाने के लिए hyperlight-unikraft शामिल हैं। दस्तावेज़ीकरण, योगदान दिशानिर्देश और समुदाय बैठक विवरण रिपॉज़िटरी में प्रदान किए गए हैं।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.