
QEMU पर अनुकरणित iPhone 11
QEMU एक सामान्य और ओपन सोर्स मशीन और यूज़रस्पेस एमुलेटर और वर्चुअलाइज़र है।
QEMU हार्डवेयर वर्चुअलाइज़ेशन समर्थन की किसी भी आवश्यकता के बिना सॉफ़्टवेयर में एक पूर्ण मशीन का अनुकरण करने में सक्षम है। गतिशील अनुवाद का उपयोग करके, यह बहुत अच्छा प्रदर्शन प्राप्त करता है। QEMU हाइपरवाइज़र को CPU प्रबंधित करने की अनुमति देते हुए एम्युलेटेड हार्डवेयर प्रदान करने के लिए Xen और KVM हाइपरवाइज़र के साथ भी एकीकृत हो सकता है। हाइपरवाइज़र समर्थन के साथ, QEMU CPUs के लिए लगभग देशी प्रदर्शन प्राप्त कर सकता है। जब QEMU सीधे CPUs का अनुकरण करता है, तो यह एक मशीन (जैसे ARMv7 बोर्ड) के लिए बनाए गए ऑपरेटिंग सिस्टम को किसी भिन्न मशीन (जैसे x86_64 PC बोर्ड) पर चलाने में सक्षम है।
QEMU Linux और BSD कर्नेल इंटरफेस के लिए यूज़रस्पेस API वर्चुअलाइज़ेशन प्रदान करने में भी सक्षम है। यह एक आर्किटेक्चर ABI (जैसे Linux PPC64 ABI) के विरुद्ध संकलित बाइनरी को एक भिन्न आर्किटेक्चर ABI (जैसे Linux x86_64 ABI) का उपयोग करने वाले होस्ट पर चलाने की अनुमति देता है। इसमें कोई हार्डवेयर एमुलेशन शामिल नहीं है, केवल CPU और syscall एमुलेशन।
QEMU का उद्देश्य विभिन्न उपयोग मामलों में फिट होना है। इसके व्यवहार और सेटिंग्स पर पूर्ण नियंत्रण चाहने वाले उपयोगकर्ता इसे सीधे आमंत्रित कर सकते हैं। इसका उद्देश्य एक स्थिर कमांड लाइन इंटरफ़ेस और मॉनिटर API प्रदान करके उच्च स्तरीय प्रबंधन परतों में एकीकरण को सुविधाजनक बनाना भी है। जब ओपन सोर्स एप्लिकेशन जैसे oVirt, OpenStack और virt-manager का उपयोग किया जाता है, तो इसे आमतौर पर libvirt लाइब्रेरी के माध्यम से अप्रत्यक्ष रूप से आमंत्रित किया जाता है।
QEMU समग्र रूप से GNU जनरल पब्लिक लाइसेंस, संस्करण 2 के तहत जारी किया गया है। पूर्ण लाइसेंसिंग विवरण के लिए, LICENSE फ़ाइल देखें।
दस्तावेज़ीकरण ऑनलाइन होस्ट किया गया पाया जा सकता है
<https://www.qemu.org/documentation/>_ । वर्तमान विकास संस्करण के लिए दस्तावेज़ीकरण जो
<https://www.qemu.org/docs/master/>_ पर उपलब्ध है, स्रोत ट्री में docs/
फ़ोल्डर से उत्पन्न होता है, और Sphinx <https://www.sphinx-doc.org/en/master/>_ द्वारा बनाया गया है।
QEMU एक मल्टी-प्लेटफ़ॉर्म सॉफ़्टवेयर है जिसे सभी आधुनिक Linux प्लेटफ़ॉर्म, OS-X, Win32 (Mingw64 टूलचेन के माध्यम से) और कई अन्य UNIX लक्ष्यों पर बनाने योग्य बनाया गया है। QEMU बनाने के सरल चरण हैं:
.. code-block:: shell
mkdir build cd build ../configure make
अतिरिक्त जानकारी QEMU वेबसाइट के माध्यम से ऑनलाइन भी पाई जा सकती है:
<https://wiki.qemu.org/Hosts/Linux>_<https://wiki.qemu.org/Hosts/Mac>_<https://wiki.qemu.org/Hosts/W32>_QEMU स्रोत कोड GIT संस्करण नियंत्रण प्रणाली के तहत बनाए रखा जाता है।
.. code-block:: shell
git clone https://gitlab.com/qemu-project/qemu.git
पैच सबमिट करते समय, एक सामान्य तरीका 'git format-patch' और/या 'git send-email' का उपयोग करके [email protected] मेलिंग सूची में मेल को प्रारूपित और भेजना है। सभी सबमिट किए गए पैच में लेखक की ओर से 'Signed-off-by' लाइन होनी चाहिए। पैच को डेवलपर्स गाइड के style section <https://www.qemu.org/docs/master/devel/style.html>_ में निर्धारित दिशानिर्देशों का पालन करना चाहिए।
पैच सबमिट करने पर अतिरिक्त जानकारी QEMU वेबसाइट के माध्यम से ऑनलाइन पाई जा सकती है
<https://wiki.qemu.org/Contribute/SubmitAPatch>_<https://wiki.qemu.org/Contribute/TrivialPatches>_QEMU वेबसाइट भी स्रोत नियंत्रण के तहत बनाए रखी जाती है।
.. code-block:: shell
git clone https://gitlab.com/qemu-project/qemu-web.git
<https://www.qemu.org/2017/02/04/the-new-qemu-website-is-up/>_उपरोक्त प्रक्रिया को कम बोझिल बनाने के लिए एक 'git-publish' उपयोगिता बनाई गई थी, और नियमित योगदान करने के लिए, या यहां तक कि लगातार पैच श्रृंखला संशोधन भेजने के लिए इसकी अत्यधिक अनुशंसा की जाती है। इसके लिए एक कार्यशील 'git send-email' सेटअप की भी आवश्यकता होती है, और डिफ़ॉल्ट रूप से यह सब कुछ स्वचालित नहीं करता है, इसलिए आप उपरोक्त चरणों को एक बार मैन्युअल रूप से करना चाह सकते हैं।
स्थापना निर्देशों के लिए, कृपया यहां जाएं
<https://github.com/stefanha/git-publish>_'git-publish' के साथ वर्कफ़्लो है:
.. code-block:: shell
$ git checkout master -b my-feature $ # work on new commits, add your 'Signed-off-by' lines to each $ git publish
आपकी पैच श्रृंखला भेज दी जाएगी और my-feature-v1 के रूप में टैग की जाएगी यदि आपको भविष्य में इसका संदर्भ देने की आवश्यकता है।
v2 भेजना:
.. code-block:: shell
$ git checkout my-feature # same topic branch $ # making changes to the commits (using 'git rebase', for example) $ git publish
आपकी पैच श्रृंखला विषय में 'v2' टैग के साथ भेजी जाएगी और git टिप को my-feature-v2 के रूप में टैग किया जाएगा।
QEMU प्रोजेक्ट बग ट्रैक करने के लिए GitLab मुद्दों का उपयोग करता है। QEMU git या अपस्ट्रीम रिलीज़ किए गए स्रोतों से बनाए गए कोड को चलाने पर पाए गए बग रिपोर्ट किए जाने चाहिए:
<https://gitlab.com/qemu-project/qemu/-/issues>_यदि ऑपरेटिंग सिस्टम विक्रेता द्वारा पूर्व-निर्मित बाइनरी पैकेज के माध्यम से QEMU का उपयोग कर रहे हैं, तो पहले विक्रेता के अपने बग ट्रैकर पर बग की रिपोर्ट करना बेहतर है। यदि बग नवीनतम अपस्ट्रीम कोड को भी प्रभावित करने के लिए जाना जाता है, तो इसे GitLab के माध्यम से भी रिपोर्ट किया जा सकता है।
बग रिपोर्टिंग पर अतिरिक्त जानकारी के लिए परामर्श लें:
<https://wiki.qemu.org/Contribute/ReportABug>_संस्करण इतिहास और रिलीज़ नोट्स के लिए, कृपया <https://wiki.qemu.org/ChangeLog/>_ पर जाएं या अधिक विस्तृत जानकारी के लिए git इतिहास देखें।
QEMU समुदाय से कई तरीकों से संपर्क किया जा सकता है, जिनमें से दो मुख्य तरीके ईमेल और IRC हैं
<mailto:[email protected]>_<https://lists.nongnu.org/mailman/listinfo/qemu-devel>_समुदाय से संपर्क करने के अतिरिक्त तरीकों की जानकारी QEMU वेबसाइट के माध्यम से ऑनलाइन पाई जा सकती है:
<https://wiki.qemu.org/Contribute/StartHere>_