गतिशील पुनर्संकलन: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 14: Line 14:


== कार्य ==
== कार्य ==
डायनेमिक रीकंपलर को जिन मुख्य कार्यों को करना होता है, वे हैं:
गतिशील रीकंपलर को जिन मुख्य कार्यों को करना होता है, वे हैं:
* सोर्स प्लेटफॉर्म से मशीन कोड में पढ़ना
* स्रोत पटल से मशीन कूट भाषा में पढ़ना
* लक्ष्य प्लेटफॉर्म के लिए एमिटिंग मशीन कोड
* लक्ष्य पटल के लिए एमिटिंग मशीन कोड


एक गतिशील रीकंपलर कुछ सहायक कार्य भी कर सकता है:
एक गतिशील रीकंपलर कुछ सहायक कार्य भी कर सकता है:
* पुनः संकलित कोड के [[कैश (कंप्यूटिंग)]] का प्रबंधन
* पुनः संकलित कूट भाषा के [[कैश (कंप्यूटिंग)]] का प्रबंधन
* चक्र गणना रजिस्टरों के साथ प्लेटफार्मों पर बीता हुआ चक्र गणना का अद्यतन करना
* चक्र गणना रजिस्टरों के साथ प्लेटफार्मों पर बीता हुआ चक्र गणना का अद्यतन करना
* व्यवधान जाँच का प्रबंधन
* व्यवधान जाँच का प्रबंधन  
* वर्चुअलाइज्ड सपोर्ट हार्डवेयर के लिए एक इंटरफेस प्रदान करना, उदाहरण के लिए एक [[जीपीयू]]
*कल्पित समर्थन धातु सामग्री के लिए एक अंतरापृष्ठ प्रदान करना, उदाहरण के लिए एक [[जीपीयू]]
* लक्ष्य हार्डवेयर पर कुशलतापूर्वक चलाने के लिए उच्च-स्तरीय कोड संरचनाओं का अनुकूलन (नीचे देखें)
* लक्ष्य धातु सामग्री पर कुशलतापूर्वक चलाने के लिए उच्च-स्तरीय कूट भाषा संरचनाओं का अनुकूलन (नीचे देखें)


== अनुप्रयोग ==
== अनुप्रयोग ==
Line 29: Line 29:
* कई जावा आभासी मशीनों में गतिशील पुनर्संकलन की सुविधा होती है।
* कई जावा आभासी मशीनों में गतिशील पुनर्संकलन की सुविधा होती है।
* x86 पर [[Mac OS X]] के लिए Apple का [[रोसेटा (सॉफ्टवेयर)]], PowerPC कोड को [[x86 आर्किटेक्चर]] पर चलाने की अनुमति देता है।
* x86 पर [[Mac OS X]] के लिए Apple का [[रोसेटा (सॉफ्टवेयर)]], PowerPC कोड को [[x86 आर्किटेक्चर]] पर चलाने की अनुमति देता है।
* [[मैक 68K एमुलेटर]] के बाद के संस्करणों का उपयोग [[क्लासिक मैक ओएस]] में [[पावरपीसी]] हार्डवेयर पर [[680x0]] कोड चलाने के लिए किया गया।
* [[मैक 68K एमुलेटर]] के बाद के संस्करणों का उपयोग [[क्लासिक मैक ओएस]] में [[पावरपीसी]] हार्डवेयर पर [[680x0]] कूट भाषा चलाने के लिए किया गया।
* [[प्स्य्को]], [[पायथन (प्रोग्रामिंग भाषा)]] के लिए एक [[विशेषज्ञ संकलक]]।
* [[प्स्य्को]], [[पायथन (प्रोग्रामिंग भाषा)]] के लिए एक [[विशेषज्ञ संकलक]]।
* एचपी [[डायनेमो परियोजना]], एक पारदर्शी बाइनरी डायनेमिक [[संकलक अनुकूलन]] का एक उदाहरण।<ref name="HP_1999_Dynamo">{{cite web|url=http://www.hpl.hp.com/techreports/1999/HPL-1999-77.html|title=डायनेमो पर एचपी लैब्स की तकनीकी रिपोर्ट}}</रेफरी>
* एचपी [[डायनेमो परियोजना]], एक पारदर्शी बाइनरी गतिशील [[संकलक अनुकूलन]] का एक उदाहरण है।<ref name="HP_1999_Dynamo">{{cite web|url=http://www.hpl.hp.com/techreports/1999/HPL-1999-77.html|title=डायनेमो पर एचपी लैब्स की तकनीकी रिपोर्ट}}</रेफरी>
* [[डायनेमोरियो]], एक [[खुला स्रोत सॉफ्टवेयर]]|डायनेमो का ओपन-सोर्स उत्तराधिकारी जो [[एआरएम वास्तुकला]], [[x86-64]] और [[आइए-64]] (इटेनियम) इंस्ट्रक्शन सेट के साथ काम करता है।
* [[डायनेमोरियो]], एक [[खुला स्रोत सॉफ्टवेयर]]|डायनेमो का ओपन-सोर्स उत्तराधिकारी जो [[एआरएम वास्तुकला]], [[x86-64]] और [[आइए-64]] (इटेनियम) इंस्ट्रक्शन सेट के साथ काम करता है।
रेफरी>{{Cite web |url=http://www.dynamorio.org/home.html |title=DynamoRIO डायनेमिक इंस्ट्रूमेंटेशन टूल प्लेटफॉर्म|access-date=2016-04-12  |archive-date=2019-09-05  |archive-url=https://web.archive.org/web/20190905070811/http://www.dynamorio.org/home.html |url-status=dead }}</रेफरी><ref>{{Cite web|url=https://github.com/डायनेमोरियो/dynamorio|title = डायनेमोरियो|website = [[GitHub]]|date = 15 October 2021}}</ref>
रेफरी>{{Cite web |url=http://www.dynamorio.org/home.html |title=DynamoRIO डायनेमिक इंस्ट्रूमेंटेशन टूल प्लेटफॉर्म|access-date=2016-04-12  |archive-date=2019-09-05  |archive-url=https://web.archive.org/web/20190905070811/http://www.dynamorio.org/home.html |url-status=dead }}</रेफरी><ref>{{Cite web|url=https://github.com/डायनेमोरियो/dynamorio|title = डायनेमोरियो|website = [[GitHub]]|date = 15 October 2021}}</ref>
* [[Vx32]] सुरक्षित अनुप्रयोग [[प्लग-इन (कंप्यूटिंग)]] के लिए [[ऑपरेटिंग सिस्टम]]-स्वतंत्र x86 आर्किटेक्चर सैंडबॉक्स बनाने के लिए गतिशील पुनर्संकलन को नियोजित करता है।
* [[Vx32]] सुरक्षित अनुप्रयोग [[प्लग-इन (कंप्यूटिंग)]] के लिए [[ऑपरेटिंग सिस्टम|संचालन प्रणाली]]-स्वतंत्र x86 वास्तु-कला सैंडबॉक्स बनाने के लिए गतिशील पुनर्संकलन को नियोजित करता है।
* मैक के लिए [[माइक्रोसॉफ्ट वर्चुअल पीसी]], पावरपीसी पर x86 कोड चलाने के लिए प्रयोग किया जाता है।
* मैक के लिए [[माइक्रोसॉफ्ट वर्चुअल पीसी]], पावरपीसी पर x86 कूट भाषा चलाने के लिए प्रयोग किया जाता है।
* फ्रीकीबी, एक अंतरराष्ट्रीय डॉस कीबोर्ड और कंसोल ड्राइवर जिसमें कई प्रयोज्य संवर्द्धन के साथ स्वयं-संशोधित कोड और [[गतिशील मृत कोड उन्मूलन]] का उपयोग किया गया है ताकि इसके उपयोगकर्ता कॉन्फ़िगरेशन (चयनित सुविधाओं, भाषाओं, लेआउट) और वास्तविक रनटाइम पर्यावरण (ओएस) के आधार पर इसकी इन-मेमोरी छवि को कम किया जा सके। संस्करण और संस्करण, लोड किए गए ड्राइवर, अंतर्निहित हार्डवेयर), स्वचालित रूप से निर्भरता को हल करना, बाइट-स्तरीय ग्रैन्युलैरिटी पर कोड अनुभागों को गतिशील रूप से स्थानांतरित करना और पुनर्संयोजित करना और स्रोत कोड में प्रदान की गई सिमेंटिक जानकारी के आधार पर अनुकूलन, असेंबली और प्रोफ़ाइल जानकारी के दौरान विशेष उपकरणों द्वारा उत्पन्न स्थानांतरण जानकारी लोड समय पर प्राप्त किया।<ref name="Paul_1997_FreeKEYB">{{citation
* फ्रीकीबी, एक अंतरराष्ट्रीय डॉस कीबोर्ड और कंसोल संचालक है जिसमें कई प्रयोज्य संवर्द्धन के साथ स्वयं-संशोधित कूट भाषा और [[गतिशील मृत कोड उन्मूलन|गतिशील मृत कूट भाषा उन्मूलन]] का उपयोग किया गया है ताकि इसके उपयोगकर्ता विन्यास (चयनित सुविधाओं, भाषाओं, अभिविन्यास ) और वास्तविक क्रम पर्यावरण (ओएस) के आधार पर इसकी इन-मेमोरी छवि को कम किया जा सके। संस्करण और संस्करण, लोड किए गए संचालक,अंतर्निहित धातु सामग्री), स्वचालित रूप से निर्भरता को हल करना, बाइट-स्तरीय कणिकता पर कूट भाषा अनुभागों को गतिशील रूप से स्थानांतरित करना और पुनर्संयोजित करना और स्रोत कूट भाषा में प्रदान की गई अर्थ-संबंधी जानकारी के आधार पर अनुकूलन, सभा और रूपरेखा जानकारी के दौरान विशेष उपकरणों द्वारा उत्पन्न स्थानांतरण जानकारी लोड समय पर प्राप्त किया।<ref name="Paul_1997_FreeKEYB">{{citation
  |title=FreeKEYB - Enhanced DOS keyboard and console driver |edition=v6.5 |first1=Matthias R. |last1=Paul |first2=Axel C. |last2=Frinke |type=User Manual |date=1997-10-13 |orig-year=first published 1991}}</रेफरी>
  |title=FreeKEYB - Enhanced DOS keyboard and console driver |edition=v6.5 |first1=Matthias R. |last1=Paul |first2=Axel C. |last2=Frinke |type=User Manual |date=1997-10-13 |orig-year=first published 1991}}</रेफरी>
* [[Xbox 360]] (यानी मूल Xbox (कंसोल) के लिए लिखे गए चल रहे गेम) की पश्चगामी संगतता कार्यक्षमता को व्यापक रूप से गतिशील पुनर्संकलन का उपयोग करने के लिए माना जाता है।
* [[Xbox 360]] (यानी मूल Xbox (कंसोल) के लिए लिखे गए चल रहे गेम) की पश्चगामी संगतता कार्यक्षमता को व्यापक रूप से गतिशील पुनर्संकलन का उपयोग करने के लिए माना जाता है।

Revision as of 14:01, 26 March 2023

कंप्यूटर विज्ञान एक गतिशील पुनर्संकलन कुछ अनुकरणकर्ताओं और आभासी मशीनो की एक विशेषता है, जहां प्रणाली निष्पादन के दौरान कंप्यूटर कूट भाषा के कुछ भाग को संकलित कर सकता है। निष्पादन के दौरान संकलित करके, प्रणाली कार्यक्रम के क्रम वातावरण को प्रतिबिंबित करने के लिए उत्पन्न किए गए कूट भाषा को तैयार कर सकता है और संभावित रूप से पारंपरिक स्थिर संकलक के लिए उपलब्ध जानकारी का दोहन करके अधिक कुशल कूट भाषा का उत्पादन कर सकता है।

उपयोग करता है

कार्य अवधि पर स्थापत्य के बीच मशीन कूट लेखन को परिवर्तित करने के लिए अधिकांश गतिशील पुनर्संकलक का उपयोग किया जाता है। विरासत द्यूत क्षेत्र के अनुकरण में यह एक ऐसा कार्य है जिसकी हमेशा आवश्यकता पड़ती है। अन्य मामलों में, जावा (प्रोग्रामिंग भाषा) या सामान्य भाषा क्रम बायटेकोड जैसे सुवाह्य कार्यक्रम प्रतिनिधित्व को निष्पादित करने के लिए एक अनुकूली अनुकूलन रणनीति के हिस्से के रूप में एक प्रणाली गतिशील पुनर्संकलन को नियोजित कर सकता है। यह बड़ी तेज़ी से दोषमार्जक गतिशील रीकंपिलेशन का भी उपयोग करते हैं ताकि अधिकांश डी-ऑप्टिमाइजेशन तकनीकों में ऊपरी खर्च को कम किया जा सके,और अन्य विशेषताएं जैसी गतिशील थ्रेड माइग्रेशन

कार्य

गतिशील रीकंपलर को जिन मुख्य कार्यों को करना होता है, वे हैं:

  • स्रोत पटल से मशीन कूट भाषा में पढ़ना
  • लक्ष्य पटल के लिए एमिटिंग मशीन कोड

एक गतिशील रीकंपलर कुछ सहायक कार्य भी कर सकता है:

  • पुनः संकलित कूट भाषा के कैश (कंप्यूटिंग) का प्रबंधन
  • चक्र गणना रजिस्टरों के साथ प्लेटफार्मों पर बीता हुआ चक्र गणना का अद्यतन करना
  • व्यवधान जाँच का प्रबंधन
  • कल्पित समर्थन धातु सामग्री के लिए एक अंतरापृष्ठ प्रदान करना, उदाहरण के लिए एक जीपीयू
  • लक्ष्य धातु सामग्री पर कुशलतापूर्वक चलाने के लिए उच्च-स्तरीय कूट भाषा संरचनाओं का अनुकूलन (नीचे देखें)

अनुप्रयोग

Template:Example farm

  • कई जावा आभासी मशीनों में गतिशील पुनर्संकलन की सुविधा होती है।
  • x86 पर Mac OS X के लिए Apple का रोसेटा (सॉफ्टवेयर), PowerPC कोड को x86 आर्किटेक्चर पर चलाने की अनुमति देता है।
  • मैक 68K एमुलेटर के बाद के संस्करणों का उपयोग क्लासिक मैक ओएस में पावरपीसी हार्डवेयर पर 680x0 कूट भाषा चलाने के लिए किया गया।
  • प्स्य्को, पायथन (प्रोग्रामिंग भाषा) के लिए एक विशेषज्ञ संकलक
  • एचपी डायनेमो परियोजना, एक पारदर्शी बाइनरी गतिशील संकलक अनुकूलन का एक उदाहरण है।Cite error: Closing </ref> missing for <ref> tag
  • Vx32 सुरक्षित अनुप्रयोग प्लग-इन (कंप्यूटिंग) के लिए संचालन प्रणाली-स्वतंत्र x86 वास्तु-कला सैंडबॉक्स बनाने के लिए गतिशील पुनर्संकलन को नियोजित करता है।
  • मैक के लिए माइक्रोसॉफ्ट वर्चुअल पीसी, पावरपीसी पर x86 कूट भाषा चलाने के लिए प्रयोग किया जाता है।
  • फ्रीकीबी, एक अंतरराष्ट्रीय डॉस कीबोर्ड और कंसोल संचालक है जिसमें कई प्रयोज्य संवर्द्धन के साथ स्वयं-संशोधित कूट भाषा और गतिशील मृत कूट भाषा उन्मूलन का उपयोग किया गया है ताकि इसके उपयोगकर्ता विन्यास (चयनित सुविधाओं, भाषाओं, अभिविन्यास ) और वास्तविक क्रम पर्यावरण (ओएस) के आधार पर इसकी इन-मेमोरी छवि को कम किया जा सके। संस्करण और संस्करण, लोड किए गए संचालक,अंतर्निहित धातु सामग्री), स्वचालित रूप से निर्भरता को हल करना, बाइट-स्तरीय कणिकता पर कूट भाषा अनुभागों को गतिशील रूप से स्थानांतरित करना और पुनर्संयोजित करना और स्रोत कूट भाषा में प्रदान की गई अर्थ-संबंधी जानकारी के आधार पर अनुकूलन, सभा और रूपरेखा जानकारी के दौरान विशेष उपकरणों द्वारा उत्पन्न स्थानांतरण जानकारी लोड समय पर प्राप्त किया।Cite error: Closing </ref> missing for <ref> tag एक PlayStation 2 एमुलेटर, में एक recompiler है जिसे microVU कहा जाता है, जो SuperVU का उत्तराधिकारी है।
  • जीसीईएमयू,[1] एक खेल घन एमुलेटर।
  • रत्न,[2] एमएसएक्स के लिए एक खेल का लड़का एमुलेटर एक अनुकूलन गतिशील रीकंपलर का उपयोग करता है।
  • डीएसएमयूएमई,[3] एक Nintendo डी एस एमुलेटर, एक डायनारेक विकल्प है।
  • सोयविज़ का पीएसपी,[4] एक प्लेस्टेशन पोर्टेबल इम्यूलेटर, एक डायनारेक विकल्प है।
  • Mupen64Plus, एक मल्टी-प्लेटफ़ॉर्म निन्टेंडो 64 एमुलेटर।[5]
  • Yabause, एक बहु-मंच अब शनि एमुलेटर।[6]
  • PPSSPP, एक बहु-मंच प्लेस्टेशन पोर्टेबल इम्यूलेटर, डिफ़ॉल्ट रूप से समय-समय पर संकलन डायनेमिक रीकंपलर का उपयोग करता है।[7]


यह भी देखें

संदर्भ

  1. petebernert. "जीसीएम". SourceForge.
  2. "Gameboy Emulator for MSX | The New Image". GEM. Retrieved 2014-01-12.
  3. "DeSmuME v0.9.9".
  4. Publicado por Carlos Ballesteros Velasco (2013-07-28). "Soywiz's PSP Emulator: Release : Soywiz's Psp Emulator 2013-07-28 (r525)". Pspemu.soywiz.com. Retrieved 2014-01-12.
  5. Mupen64Plus
  6. "SH2".
  7. "PPSSPP - PPSSPP - PSP emulator for Android, Windows, Linux, iOS, MacOSX". ppsspp.org. Retrieved 2021-11-17.


बाहरी संबंध