गतिशील पुनर्संकलन: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Use dmy dates|date=July 2019|cs1-dates=y}} | {{Use dmy dates|date=July 2019|cs1-dates=y}} | ||
{{Program execution}} | {{Program execution}} | ||
[[कंप्यूटर विज्ञान]] एक गतिशील पुनर्संकलन कुछ अनुकरणकर्ताओं और [[आभासी मशीन|आभासी मशीनो]] की एक विशेषता है, जहां प्रणाली निष्पादन के दौरान [[कंप्यूटर प्रोग्राम|कंप्यूटर कूट भाषा]] के कुछ भाग को संकलित कर सकता है। निष्पादन के दौरान | [[कंप्यूटर विज्ञान]] एक गतिशील पुनर्संकलन कुछ अनुकरणकर्ताओं और [[आभासी मशीन|आभासी मशीनो]] की एक विशेषता है, जहां प्रणाली निष्पादन के दौरान [[कंप्यूटर प्रोग्राम|कंप्यूटर कूट भाषा]] के कुछ भाग को संकलित कर सकता है। निष्पादन के दौरान संकलन करके, सिस्टम प्रोग्राम के रन-टाइम वातावरण को प्रतिबिंबित करने के लिए उत्पन्न कोड को दर्जी कर सकता है और संभावित रूप से पारंपरिक स्थैतिक संकलक के लिए उपलब्ध नहीं होने वाली जानकारी का शोषण करके अधिक कुशल कोड का उत्पादन कर सकता है | | ||
== उपयोग करता है == | == उपयोग करता है == | ||
रनटाइम पर आर्किटेक्चर के बीच मशीन कोड को परिवर्तित करने के लिए अधिकांश डायनेमिक रीकंपलर का उपयोग किया जाता है। लीगेसी गेमिंग प्लेटफॉर्म के अनुकरण में यह एक ऐसा कार्य है जिसकी अक्सर आवश्यकता होती है।अन्य मामलों में, [[जावा (प्रोग्रामिंग भाषा)]] या [[सामान्य भाषा रनटाइम|सामान्य भाषा क्रम]] बायटेकोड जैसे सुवाह्य कार्यक्रम प्रतिनिधित्व को निष्पादित करने के लिए एक अनुकूली [[अनुकूलन]] रणनीति के हिस्से के रूप में एक प्रणाली गतिशील पुनर्संकलन को नियोजित कर सकता है। फुल-स्पीड डिबगर्स डायनेमिक रीकंपिलेशन का भी उपयोग करते हैं ताकि अधिकांश डी-ऑप्टिमाइजेशन तकनीकों में खर्च किए गए ओवरहेड को कम किया जा सके,और गतिशील [[थ्रेड माइग्रेशन]] जैसी अन्य विशेषताओं को कम किया जा सके ।। | |||
== कार्य == | == कार्य == |
Revision as of 17:48, 1 April 2023
कार्यक्रम निष्पादन |
---|
सामान्य अवधारणाएँ |
कोड के प्रकार |
संकलन रणनीतियाँ |
उल्लेखनीय रनटाइम्स |
|
उल्लेखनीय संकलक और टूलचेन |
|
कंप्यूटर विज्ञान एक गतिशील पुनर्संकलन कुछ अनुकरणकर्ताओं और आभासी मशीनो की एक विशेषता है, जहां प्रणाली निष्पादन के दौरान कंप्यूटर कूट भाषा के कुछ भाग को संकलित कर सकता है। निष्पादन के दौरान संकलन करके, सिस्टम प्रोग्राम के रन-टाइम वातावरण को प्रतिबिंबित करने के लिए उत्पन्न कोड को दर्जी कर सकता है और संभावित रूप से पारंपरिक स्थैतिक संकलक के लिए उपलब्ध नहीं होने वाली जानकारी का शोषण करके अधिक कुशल कोड का उत्पादन कर सकता है |
उपयोग करता है
रनटाइम पर आर्किटेक्चर के बीच मशीन कोड को परिवर्तित करने के लिए अधिकांश डायनेमिक रीकंपलर का उपयोग किया जाता है। लीगेसी गेमिंग प्लेटफॉर्म के अनुकरण में यह एक ऐसा कार्य है जिसकी अक्सर आवश्यकता होती है।अन्य मामलों में, जावा (प्रोग्रामिंग भाषा) या सामान्य भाषा क्रम बायटेकोड जैसे सुवाह्य कार्यक्रम प्रतिनिधित्व को निष्पादित करने के लिए एक अनुकूली अनुकूलन रणनीति के हिस्से के रूप में एक प्रणाली गतिशील पुनर्संकलन को नियोजित कर सकता है। फुल-स्पीड डिबगर्स डायनेमिक रीकंपिलेशन का भी उपयोग करते हैं ताकि अधिकांश डी-ऑप्टिमाइजेशन तकनीकों में खर्च किए गए ओवरहेड को कम किया जा सके,और गतिशील थ्रेड माइग्रेशन जैसी अन्य विशेषताओं को कम किया जा सके ।।
कार्य
गतिशील रीकंपलर को जिन मुख्य कार्यों को करना होता है, वे हैं:
- स्रोत पटल से मशीन कूट भाषा में पढ़ना
- लक्ष्य पटल के लिए एमिटिंग मशीन कोड
एक गतिशील रीकंपलर कुछ सहायक कार्य भी कर सकता है:
- पुनः संकलित कूट भाषा के कैश (कंप्यूटिंग) का प्रबंधन
- चक्र गणना रजिस्टरों के साथ प्लेटफार्मों पर बीता हुआ चक्र गणना का अद्यतन करना
- व्यवधान जाँच का प्रबंधन
- कल्पित समर्थन धातु सामग्री के लिए एक अंतरापृष्ठ प्रदान करना, उदाहरण के लिए एक जीपीयू
- लक्ष्य धातु सामग्री पर कुशलतापूर्वक चलाने के लिए उच्च-स्तरीय कूट भाषा संरचनाओं का अनुकूलन (नीचे देखें)
अनुप्रयोग
- कई जावा आभासी मशीनों में गतिशील पुनर्संकलन की सुविधा होती है
- एक्स86 पर मैक ओएस एक्स के लिए एप्प्ल का रोसेटा (सॉफ्टवेयर), पावरपीसी कूट भाषा को एक्स86 आर्किटेक्चर पर चलाने की अनुमति देता है।
- मैक 68K एमुलेटर के बाद के संस्करणों का उपयोग क्लासिक मैक ओएस में पावरपीसी हार्डवेयर पर 680x0 कूट भाषा चलाने के लिए किया गया।
- प्स्य्को, पायथन (प्रोग्रामिंग भाषा) के लिए एक विशेष संकलक है ।
- एचपी डायनेमो परियोजना, एक पारदर्शी बाइनरी गतिशील संकलक अनुकूलन का एक उदाहरण है।[1]
- डायनेमोरियो, एक खुला स्रोत सॉफ्टवेयर|डायनेमो का ओपन-सोर्स उत्तराधिकारी जो एआरएम वास्तुकला, x86-64 और आइए-64 (इटेनियम) इंस्ट्रक्शन सेट के साथ काम करता है।
- वीएक्स32 सुरक्षित अनुप्रयोग प्लग-इन (कंप्यूटिंग) के लिए संचालन प्रणाली-स्वतंत्र एक्स86 आर्किटेक्चर सैंडबॉक्स बनाने के लिए गतिशील पुनर्संकलन को नियोजित करता है।
- मैक के लिए माइक्रोसॉफ्ट वर्चुअल पीसी, पावरपीसी पर एक्स86 कूट भाषा चलाने के लिए प्रयोग किया जाता है।
- फ्रीकीबी, एक अंतरराष्ट्रीय डॉस कीबोर्ड और कंसोल संचालक है जिसमें कई प्रयोज्य संवर्द्धन के साथ स्वयं-संशोधित कूट भाषा और गतिशील मृत कूट भाषा उन्मूलन का उपयोग किया गया है ताकि इसके उपयोगकर्ता विन्यास (चयनित सुविधाओं, भाषाओं, अभिविन्यास ) और वास्तविक क्रम पर्यावरण (ओएस) के आधार पर इसकी इन-मेमोरी छवि को कम किया जा सके। संस्करण और संस्करण, लोड किए गए संचालक,अंतर्निहित धातु सामग्री), स्वचालित रूप से निर्भरता को हल करना, बाइट-स्तरीय कणिकता पर कूट भाषा अनुभागों को गतिशील रूप से स्थानांतरित करना और पुनर्संयोजित करना और स्रोत कूट भाषा में प्रदान की गई अर्थ-संबंधी जानकारी के आधार पर अनुकूलन, सभा और रूपरेखा जानकारी के दौरान विशेष उपकरणों द्वारा उत्पन्न स्थानांतरण जानकारी लोड समय पर प्राप्त किया।[4]
- Xbox 360 (यानी मूल Xbox (कंसोल) के लिए लिखे गए चल रहे गेम) की पश्चगामी संगतता कार्यक्षमता को व्यापक रूप से गतिशील पुनर्संकलन का उपयोग करने के लिए माना जाता है।
- Apple सिलिकॉन के लिए Apple का रोसेटा 2, x86-64-आधारित प्रोसेसर के लिए संकलित कई अनुप्रयोगों को Apple सिलिकॉन पर निष्पादन के लिए अनुवादित करने की अनुमति देता है।
एम्युलेटर्स
एमुलेटर
- एक प्लेस्टेशन 2 एमुलेटर, में एक पुनर्संकलक है जिसे माइक्रो वीयू कहा जाता है, जो सुपरवीयू का उत्तराधिकारी है।
- जीसीईएमयू,[6] एक खेल घन एमुलेटर है।
- रत्न,[7]
- जेम, [7] एमएसए के लिए एक गेम बॉय इम्यूलेटर एक ऑप्टिमाइजिंग गतिशील रीकंपलर का उपयोग करता है।
- डीएसएमयूएमई,[8] एक निंटेंडो डी एस एमुलेटर, एक डायनारेक विकल्प है |
- सोयविज़ का पीएसपी,[9] एक प्लेस्टेशन पोर्टेबल इम्यूलेटर, एक डायनारेक विकल्प है।
- मुपेन 64 प्लस, एक मल्टी-प्लेटफ़ॉर्म निन्टेंडो 64 एमुलेटर है।[10]
- Yabause, एक बहु-मंच अब शनि एमुलेटर है।[11]
- पीपीएसएसपीपी, एक बहु-मंच प्लेस्टेशन पोर्टेबल इम्यूलेटर, डिफ़ॉल्ट रूप से समय-समय पर संकलन गतिशील रीकंपलर का उपयोग करता है।[12]
यह भी देखें
- बाइनरी रीकंपाइलर
- बाइनरी अनुवाद
- प्लेटफॉर्म वर्चुअलाइजेशन सॉफ्टवेयर की तुलना
- अभी-अभी संकलन
- इंस्ट्रुमेंटेशन (कंप्यूटर प्रोग्रामिंग)
संदर्भ
- ↑ "डायनेमो पर एचपी लैब्स की तकनीकी रिपोर्ट".
- ↑ "DynamoRIO डायनेमिक इंस्ट्रूमेंटेशन टूल प्लेटफॉर्म". Archived from the original on 2019-09-05. Retrieved 2016-04-12.
- ↑ "डायनेमोरियो". GitHub. 2021-10-15.
- ↑ Paul, Matthias R.; Frinke, Axel C. (1997-10-13) [first published 1991], FreeKEYB - Enhanced DOS keyboard and console driver (User Manual) (v6.5 ed.)
- ↑ "PCSX 2".
- ↑ petebernert. "जीसीएम". SourceForge.
- ↑ "Gameboy Emulator for MSX | The New Image". GEM. Retrieved 2014-01-12.
- ↑ "DeSmuME v0.9.9".
- ↑ 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.
- ↑ Mupen64Plus
- ↑ "SH2".
- ↑ "PPSSPP - PPSSPP - PSP emulator for Android, Windows, Linux, iOS, MacOSX". ppsspp.org. Retrieved 2021-11-17.