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

From Vigyanwiki
No edit summary
No edit summary
Tag: Manual revert
 
(21 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Redirect|गतिशील अनुवाद यहां पुनर्निर्देश करता है। प्राकृतिक भाषाओं के अनुवाद के लिए गतिशील और औपचारिक तुल्यता देखें।}}
{{Multiple issues|
{{More citations needed|date=January 2014}}
{{Weasel|date=January 2014}}
{{Original research|date=June 2021}}
{{Lead too short|date=June 2021}}
}}
{{Use dmy dates|date=July 2019|cs1-dates=y}}
{{Use dmy dates|date=July 2019|cs1-dates=y}}
{{Program execution}}
{{Program execution}}
[[कंप्यूटर विज्ञान]] में, गतिशील पुनर्संकलन और कुछ अनुकरणकर्ताओं और [[आभासी मशीन|आभासी मशीनो]] की एक विशेषता है, जहां प्रणाली निष्पादन के दौरान [[कंप्यूटर प्रोग्राम|कंप्यूटर कूट भाषा]] के कुछ भाग को संकलित कर सकता है। निष्पादन के दौरान संकलित करके, प्रणाली प्रोग्राम के क्रम वातावरण को प्रतिबिंबित करने के लिए उत्पन्न किए गए [[कोड|कूट भाषा]] को तैयार कर सकता है, और संभावित रूप से पारंपरिक स्थिर [[संकलक]] के लिए उपलब्ध जानकारी का दोहन करके अधिक कुशल कूट भाषा का उत्पादन कर सकता है।
'''[[कंप्यूटर विज्ञान]] एक गतिशील पुनर्संकलन(रीकंपलर)''',अनुकरणकर्ताओं और [[आभासी मशीन|आभासी मशीनो]] की एक विशेषता है, जो प्रणाली निष्पादन के दौरान [[कंप्यूटर प्रोग्राम|कंप्यूटर कूट भाषा]] के कुछ भाग को संकलित करता है। कार्यान्वयन के दौरान संकलन करके सिस्टम प्रोग्राम के कार्यावधि वातावरण को प्रतिबिंबित करके उत्पन्न किए गए कोड को तैयार कर सकता है, और संभावित रूप से एक पारंपरिक स्थिर संकलक के लिए उपलब्ध जानकारी को प्राप्त करके अधिक अच्छा कोड का उत्पादन करता है।


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


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


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


== अनुप्रयोग ==
== अनुप्रयोग ==
{{example farm|date=June 2021}}
* कई जावा आभासी मशीनों में गतिशील पुनर्संकलक(रीकंपलर) की सुविधा होती है
* कई जावा आभासी मशीनों में गतिशील पुनर्संकलन की सुविधा होती है।
* एक्स86 पर [[Mac OS X|मैक ओएस एक्स]] के लिए एप्प्ल का [[रोसेटा (सॉफ्टवेयर)]], पावरपीसी कूट भाषा को [[x86 आर्किटेक्चर|एक्स86 आर्किटेक्चर]] पर चलाने की अनुमति देता है।
* 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>
* एचपी [[डायनेमो परियोजना]], एक पारदर्शी बाइनरी डायनेमिक [[संकलक अनुकूलन]] का एक उदाहरण।<ref name="HP_1999_Dynamo">{{cite web|url=http://www.hpl.hp.com/techreports/1999/HPL-1999-77.html|title=डायनेमो पर एचपी लैब्स की तकनीकी रिपोर्ट}}</रेफरी>
* [[डायनेमोरियो|डायनेमो रियो]], डायनेमो का एक ओपन-सोर्स है जो एआरएम, x86-64 और IA-64 (इटेनियम) निर्देश सेट के साथ काम करता है।<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><ref>{{Cite web|url=https://github.com/डायनेमोरियो/dynamorio|title = डायनेमोरियो|website = [[GitHub]]|date = 15 October 2021}}</ref>
* [[डायनेमोरियो]], एक [[खुला स्रोत सॉफ्टवेयर]]|डायनेमो का ओपन-सोर्स उत्तराधिकारी जो [[एआरएम वास्तुकला]], [[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>
* Vx32 वर्चुअल मशीन सुरक्षित एप्लिकेशन प्लगइन्स के लिए OS-स्वतंत्र x86 आर्किटेक्चर सैंडबॉक्स बनाने के लिए गतिशील पुनर्संकलक(रीकंपलर) को नियोजित करती है।
* [[Vx32]] सुरक्षित अनुप्रयोग [[प्लग-इन (कंप्यूटिंग)]] के लिए [[ऑपरेटिंग सिस्टम]]-स्वतंत्र x86 आर्किटेक्चर सैंडबॉक्स बनाने के लिए गतिशील पुनर्संकलन को नियोजित करता है।
* मैक के लिए [[माइक्रोसॉफ्ट वर्चुअल पीसी]], पावरपीसी पर एक्स86 कूट भाषा चलाने के लिए प्रयोग किया जाता है।
* मैक के लिए [[माइक्रोसॉफ्ट वर्चुअल पीसी]], पावरपीसी पर x86 कोड चलाने के लिए प्रयोग किया जाता है।
* फ्री कीब, एक अंतर्राष्ट्रीय DOS कीबोर्ड और कंसोल ड्राइवर जिसमें कई प्रयोज्य संवर्द्धन के साथ स्व-संशोधित कोड और गतिशील मृत कोड उन्मूलन का उपयोग किया गया है ताकि इसके उपयोगकर्ता विन्यास (चयनित सुविधाओं, भाषाओं, लेआउट) और वास्तविक रनटाइम वातावरण (OS संस्करण) के आधार पर इसकी इन-मेमोरी छवि को कम किया जा सके। और संस्करण, लोड किए गए ड्राइवर, अंतर्निहित हार्डवेयर), स्वचालित रूप से निर्भरताओं को हल करना, बाइट-स्तरीय पठन पर कोड अनुभागों को गतिशील रूप से स्थानांतरित करना और पुनर्संयोजन करना और स्रोत कोड में प्रदान की गई अर्थगत जानकारी के आधार पर प्रस्तुत करना,असेंबली के दौरान विशेष उपकरणों द्वारा उत्पन्न स्थानांतरण जानकारी और लोड समय पर जानकारी प्राप्त करना |<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}}</ref>
  |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 (कंसोल) के लिए लिखे गए चल रहे गेम) की पश्चगामी संगतता कार्यक्षमता को व्यापक रूप से गतिशील पुनर्संकलन का उपयोग करने के लिए माना जाता है।
* Apple सिलिकॉन के लिए Apple का [[रोसेटा 2]], x86-64-आधारित प्रोसेसर के लिए संकलित कई अनुप्रयोगों को Apple सिलिकॉन पर निष्पादन के लिए अनुवादित करने की अनुमति देता है।
* Apple सिलिकॉन के लिए Apple का [[रोसेटा 2]], x86-64-आधारित प्रोसेसर के लिए संकलित कई अनुप्रयोगों को Apple सिलिकॉन पर निष्पादन के लिए अनुवादित करने की अनुमति देता है।


=== एम्युलेटर्स ===
== एमुलेटर ==
* [[पीसीएसएक्स2]],<ref>{{cite web|url=http://www.pcsx2.net|title=PCSX 2}}</ref> एक [[PlayStation 2]] एमुलेटर, में एक recompiler है जिसे microVU कहा जाता है, जो SuperVU का उत्तराधिकारी है।
*PCSX2, एक [[PlayStation 2|प्लेस्टेशन 2]] एमुलेटर, में एक पुनर्संकलक है जिसे माइक्रो वीयू कहा जाता है, जो सुपरवीयू का पार्ट है।
* जीसीईएमयू,<ref>{{cite web|url=http://sourceforge.net/projects/gcemu-project|title=जीसीएम|author=petebernert|work=SourceForge}}</ref> एक [[खेल घन]] एमुलेटर।
* जीसीईएमयू,<ref>{{cite web|url=http://sourceforge.net/projects/gcemu-project|title=जीसीएम|author=petebernert|work=SourceForge}}</ref> एक [[खेल घन]] एमुलेटर है।
* रत्न,<ref>{{cite web|url=http://gem.tni.nl/ |title=Gameboy Emulator for MSX &#124; The New Image |publisher=GEM |access-date=2014-01-12}}</ref> [[एमएसएक्स]] के लिए एक [[खेल का लड़का]] एमुलेटर एक अनुकूलन गतिशील रीकंपलर का उपयोग करता है।
* जीसीईएमयू<ref>{{cite web|url=http://gem.tni.nl/ |title=Gameboy Emulator for MSX &#124; The New Image |publisher=GEM |access-date=2014-01-12}}</ref>एक गेमक्यूब इम्यूलेटर है।
* डीएसएमयूएमई,<ref>{{cite web|url=http://desmume.org/2013/04/30/desmume-0-9-9-released/|title=DeSmuME v0.9.9}}</ref> एक [[Nintendo डी एस]] एमुलेटर, एक डायनारेक विकल्प है।
*जेम<sup>[7]</sup> एमएसए के लिए एक गेम बॉय इम्यूलेटर एक डायनेमिक रीकंपलर का अनुकूलन का उपयोग करता है।
* सोयविज़ का पीएसपी,<ref>{{cite web|author=Publicado por Carlos Ballesteros Velasco |url=http://pspemu.soywiz.com/2013/07/release-soywizs-psp-emulator-2013-07-28.html |title=Soywiz's PSP Emulator: Release : Soywiz's Psp Emulator 2013-07-28 (r525) |publisher=Pspemu.soywiz.com |date=2013-07-28 |access-date=2014-01-12}}</ref> एक [[प्लेस्टेशन पोर्टेबल]] इम्यूलेटर, एक डायनारेक विकल्प है।
* डीएसएमयूएमई<ref>{{cite web|url=http://desmume.org/2013/04/30/desmume-0-9-9-released/|title=DeSmuME v0.9.9}}</ref> एक [[Nintendo डी एस|निंटेंडो डी एस]] एमुलेटर, एक डायनारेक विकल्प का रूप है |
* [[Mupen64Plus]], एक मल्टी-प्लेटफ़ॉर्म निन्टेंडो 64 एमुलेटर।<ref>[http://pandorawiki.org/Mupen64plus_dynamic_recompiler Mupen64Plus]</ref>
* सोयविज का पीएसपी,<ref>{{cite web|author=Publicado por Carlos Ballesteros Velasco |url=http://pspemu.soywiz.com/2013/07/release-soywizs-psp-emulator-2013-07-28.html |title=Soywiz's PSP Emulator: Release : Soywiz's Psp Emulator 2013-07-28 (r525) |publisher=Pspemu.soywiz.com |date=2013-07-28 |access-date=2014-01-12}}</ref> एक [[प्लेस्टेशन पोर्टेबल]] इम्यूलेटर का डायनारेक विकल्प है।
* Yabause, एक बहु-मंच [[अब शनि]] एमुलेटर।<ref>{{cite web|url=http://wiki.yabause.org/index.php5?title=SH2_dynamic_recompiler|title=SH2}}</ref>
* [[Mupen64Plus|मुपेन 64 प्लस]], एक निन्टेंडो 64 एमुलेटर के एक से अधिक प्लेटफोर्म है।<ref>[http://pandorawiki.org/Mupen64plus_dynamic_recompiler Mupen64Plus]</ref>
*[[PPSSPP]], एक बहु-मंच प्लेस्टेशन पोर्टेबल इम्यूलेटर, डिफ़ॉल्ट रूप से [[समय-समय पर संकलन]] डायनेमिक रीकंपलर का उपयोग करता है।<ref>{{Cite web|title=PPSSPP - PPSSPP - PSP emulator for Android, Windows, Linux, iOS, MacOSX|url=https://ppsspp.org/|access-date=2021-11-17|website=ppsspp.org}}</ref>
* याबॉस, एक बहु-मंच [[अब शनि|शैटर्न]] एमुलेटर है।<ref>{{cite web|url=http://wiki.yabause.org/index.php5?title=SH2_dynamic_recompiler|title=SH2}}</ref>
*[[PPSSPP|पीपीएसएसपीपी]],एक बहु-मंच प्लेस्टेशन पोर्टेबल एमुलेटर, डिफाल्ट रूप से एक जेआईटी गतिशील रीकंपलर का उपयोग करता है।<ref>{{Cite web|title=PPSSPP - PPSSPP - PSP emulator for Android, Windows, Linux, iOS, MacOSX|url=https://ppsspp.org/|access-date=2021-11-17|website=ppsspp.org}}</ref>




Line 66: Line 59:
* [http://www.multigesture.net/wp-content/uploads/mirror/zenogais/Dynamic%20Recompiler.html Dynamic recompiler tutorial]
* [http://www.multigesture.net/wp-content/uploads/mirror/zenogais/Dynamic%20Recompiler.html Dynamic recompiler tutorial]
* [https://web.archive.org/web/20170201173933/http://emulatemii.com/wordpress/?tag=dynarec Blog posts about writing a MIPS to PPC dynamic recompiler]
* [https://web.archive.org/web/20170201173933/http://emulatemii.com/wordpress/?tag=dynarec Blog posts about writing a MIPS to PPC dynamic recompiler]
[[Category: वर्चुअलाइजेशन]] [[Category: संकलक निर्माण]] [[Category: अनुकरण सॉफ्टवेयर]]


[[Category: Machine Translated Page]]
[[Category:Articles with invalid date parameter in template]]
[[Category:Created On 17/02/2023]]
[[Category:Created On 17/02/2023]]
[[Category:Machine Translated Page]]
[[Category:Pages with reference errors]]
[[Category:Pages with script errors]]
[[Category:Templates Vigyan Ready]]
[[Category:Use dmy dates from July 2019]]
[[Category:अनुकरण सॉफ्टवेयर]]
[[Category:वर्चुअलाइजेशन]]
[[Category:संकलक निर्माण]]

Latest revision as of 20:56, 26 April 2023

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

उपयोग करता है

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

कार्य

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

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

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

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

अनुप्रयोग

  • Vx32 वर्चुअल मशीन सुरक्षित एप्लिकेशन प्लगइन्स के लिए OS-स्वतंत्र x86 आर्किटेक्चर सैंडबॉक्स बनाने के लिए गतिशील पुनर्संकलक(रीकंपलर) को नियोजित करती है।
  • मैक के लिए माइक्रोसॉफ्ट वर्चुअल पीसी, पावरपीसी पर एक्स86 कूट भाषा चलाने के लिए प्रयोग किया जाता है।
  • फ्री कीब, एक अंतर्राष्ट्रीय DOS कीबोर्ड और कंसोल ड्राइवर जिसमें कई प्रयोज्य संवर्द्धन के साथ स्व-संशोधित कोड और गतिशील मृत कोड उन्मूलन का उपयोग किया गया है ताकि इसके उपयोगकर्ता विन्यास (चयनित सुविधाओं, भाषाओं, लेआउट) और वास्तविक रनटाइम वातावरण (OS संस्करण) के आधार पर इसकी इन-मेमोरी छवि को कम किया जा सके। और संस्करण, लोड किए गए ड्राइवर, अंतर्निहित हार्डवेयर), स्वचालित रूप से निर्भरताओं को हल करना, बाइट-स्तरीय पठन पर कोड अनुभागों को गतिशील रूप से स्थानांतरित करना और पुनर्संयोजन करना और स्रोत कोड में प्रदान की गई अर्थगत जानकारी के आधार पर प्रस्तुत करना,असेंबली के दौरान विशेष उपकरणों द्वारा उत्पन्न स्थानांतरण जानकारी और लोड समय पर जानकारी प्राप्त करना |[4]
  • Xbox 360 (अर्थात् मूल Xbox के लिए लिखे गए रनिंग गेम) की पश्चगामी संगतता कार्यात्मकता व्यापक रूप से गतिशील पुनर्संकलन का उपयोग करने के लिए मानी जाती है
  • Apple सिलिकॉन के लिए Apple का रोसेटा 2, x86-64-आधारित प्रोसेसर के लिए संकलित कई अनुप्रयोगों को Apple सिलिकॉन पर निष्पादन के लिए अनुवादित करने की अनुमति देता है।

एमुलेटर

  • PCSX2, एक प्लेस्टेशन 2 एमुलेटर, में एक पुनर्संकलक है जिसे माइक्रो वीयू कहा जाता है, जो सुपरवीयू का पार्ट है।
  • जीसीईएमयू,[5] एक खेल घन एमुलेटर है।
  • जीसीईएमयू[6]एक गेमक्यूब इम्यूलेटर है।
  • जेम[7] एमएसए के लिए एक गेम बॉय इम्यूलेटर एक डायनेमिक रीकंपलर का अनुकूलन का उपयोग करता है।
  • डीएसएमयूएमई[7] एक निंटेंडो डी एस एमुलेटर, एक डायनारेक विकल्प का रूप है |
  • सोयविज का पीएसपी,[8] एक प्लेस्टेशन पोर्टेबल इम्यूलेटर का डायनारेक विकल्प है।
  • मुपेन 64 प्लस, एक निन्टेंडो 64 एमुलेटर के एक से अधिक प्लेटफोर्म है।[9]
  • याबॉस, एक बहु-मंच शैटर्न एमुलेटर है।[10]
  • पीपीएसएसपीपी,एक बहु-मंच प्लेस्टेशन पोर्टेबल एमुलेटर, डिफाल्ट रूप से एक जेआईटी गतिशील रीकंपलर का उपयोग करता है।[11]


यह भी देखें

संदर्भ

  1. "डायनेमो पर एचपी लैब्स की तकनीकी रिपोर्ट".
  2. "DynamoRIO डायनेमिक इंस्ट्रूमेंटेशन टूल प्लेटफॉर्म". Archived from the original on 2019-09-05. Retrieved 2016-04-12.
  3. "डायनेमोरियो". GitHub. 2021-10-15.
  4. Paul, Matthias R.; Frinke, Axel C. (1997-10-13) [first published 1991], FreeKEYB - Enhanced DOS keyboard and console driver (User Manual) (v6.5 ed.)
  5. petebernert. "जीसीएम". SourceForge.
  6. "Gameboy Emulator for MSX | The New Image". GEM. Retrieved 2014-01-12.
  7. "DeSmuME v0.9.9".
  8. 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.
  9. Mupen64Plus
  10. "SH2".
  11. "PPSSPP - PPSSPP - PSP emulator for Android, Windows, Linux, iOS, MacOSX". ppsspp.org. Retrieved 2021-11-17.


बाहरी संबंध