411 REFERENCE · Wikipedia
एमुलेटर
Reference material by Wikipedia contributors. This retains its source identity and is not 411 news reporting.
सितंबर 2026
एम्यूलेटर (Emulator) ऐसा कंप्यूटर सॉफ्टवेयर या हार्डवेयर-आधारित तंत्र है जो किसी अन्य कंप्यूटर, प्रोसेसर, उपकरण या हार्डवेयर वातावरण के व्यवहार को पुनः प्रस्तुत करता है, ताकि उसके लिए बनाए गए सॉफ्टवेयर को किसी अलग प्रणाली पर चलाया या उसका परीक्षण किया जा सके।About QEMU, QEMU Documentation.Introduction, QEMU Documentation.
एम्यूलेटर का उपयोग पुराने या असंगत सॉफ्टवेयर को चलाने, विभिन्न CPU आर्किटेक्चर के लिए सॉफ्टवेयर विकसित करने, हार्डवेयर और ऑपरेटिंग सिस्टम के परीक्षण, मोबाइल अनुप्रयोग विकास तथा कंप्यूटर प्रणालियों के अनुसंधान में किया जाता है। QEMU जैसे एम्यूलेटर CPU, स्मृति और विभिन्न उपकरणों सहित संपूर्ण मशीन का आभासी मॉडल उपलब्ध करा सकते हैं।System Emulation and Device Emulation, QEMU Documentation.
एम्यूलेशन को वर्चुअलाइजेशन से अलग समझना महत्वपूर्ण है। एम्यूलेशन में किसी दूसरे CPU या हार्डवेयर के व्यवहार को सॉफ्टवेयर द्वारा पुनः प्रस्तुत किया जा सकता है, जबकि वर्चुअलाइजेशन में उपयुक्त परिस्थितियों में अतिथि प्रणाली को होस्ट के वास्तविक हार्डवेयर पर चलाया जा सकता है। आधुनिक प्रणालियाँ दोनों तकनीकों का संयोजन भी कर सकती हैं।
इतिहास
कंप्यूटिंग के प्रारंभिक विकास में अलग-अलग कंप्यूटर प्रणालियों के बीच सॉफ्टवेयर संगतता एक महत्वपूर्ण समस्या थी। विभिन्न कंप्यूटरों में अलग CPU आर्किटेक्चर, निर्देश-समुच्चय, स्मृति व्यवस्था और उपकरण हो सकते थे। इसलिए एक प्रणाली के लिए विकसित सॉफ्टवेयर को दूसरी प्रणाली पर सीधे चलाना हमेशा संभव नहीं होता था।
एम्यूलेशन ने अलग कंप्यूटर प्रणालियों के बीच इस प्रकार की संगतता के लिए एक तकनीकी मार्ग उपलब्ध कराया। किसी पुरानी या अलग प्रणाली के आवश्यक व्यवहार को नई प्रणाली पर पुनः प्रस्तुत करके उसके लिए विकसित सॉफ्टवेयर को मूल हार्डवेयर के बिना चलाया जा सकता है।
समय के साथ एम्यूलेशन का उपयोग पुराने कंप्यूटरों और सॉफ्टवेयर के संरक्षण से आगे बढ़कर विभिन्न CPU आर्किटेक्चर के लिए सॉफ्टवेयर विकास, ऑपरेटिंग सिस्टम परीक्षण, एम्बेडेड प्रणालियों और मोबाइल उपकरणों के विकास तक फैल गया।
आधुनिक एम्यूलेटर विभिन्न CPU आर्किटेक्चर और मशीन प्रकारों का अनुकरण कर सकते हैं। QEMU के दस्तावेज़ों के अनुसार इसका system emulation CPU, स्मृति और emulated devices सहित एक संपूर्ण मशीन का आभासी मॉडल उपलब्ध कराता है।
QEMU system emulation के अतिरिक्त user-mode emulation भी प्रदान करता है, जिसमें एक CPU architecture के लिए संकलित प्रोग्राम को दूसरे CPU architecture पर चलाया जा सकता है।User Mode Emulation, QEMU Documentation.
कार्यप्रणाली
एम्यूलेटर का मूल उद्देश्य होस्ट (host) प्रणाली पर अतिथि (guest) प्रणाली के लिए अपेक्षित कंप्यूटिंग वातावरण उपलब्ध कराना है।
यदि अतिथि प्रणाली ऐसे CPU architecture के लिए बनाई गई है जो होस्ट कंप्यूटर के CPU से अलग है, तो एम्यूलेटर अतिथि CPU के निर्देशों और व्यवहार को होस्ट प्रणाली पर पुनः प्रस्तुत कर सकता है। QEMU का Tiny Code Generator (TCG) विभिन्न CPU architectures के लिए software-based CPU emulation उपलब्ध कराता है।Emulation, QEMU Documentation.
पूर्ण system emulation में केवल CPU का अनुकरण पर्याप्त नहीं होता। अतिथि ऑपरेटिंग सिस्टम को स्मृति और विभिन्न hardware devices की भी आवश्यकता होती है। इसलिए एम्यूलेटर नेटवर्क, USB, storage, display तथा अन्य उपकरणों के आभासी मॉडल उपलब्ध करा सकता है।
पूर्ण प्रणाली एम्यूलेशन में सामान्यतः निम्न घटक शामिल हो सकते हैं:
CPU एम्यूलेशन — अतिथि प्रोसेसर के निर्देशों और वास्तु व्यवहार का अनुकरण।
स्मृति मॉडल — अतिथि प्रणाली के लिए उपलब्ध स्मृति का प्रतिनिधित्व।
उपकरण एम्यूलेशन — नेटवर्क, USB, storage तथा अन्य उपकरणों का अनुकरण।
इनपुट-आउटपुट — अतिथि प्रणाली और emulated devices के बीच संचार।
बूट वातावरण — अतिथि ऑपरेटिंग सिस्टम को आरंभ करने के लिए आवश्यक firmware और अन्य घटक।
QEMU में विभिन्न CPU architectures तथा मशीन प्रकारों के लिए system emulation उपलब्ध है।
एम्यूलेशन के प्रकार
एम्यूलेशन को उसके द्वारा अनुकरण किए जाने वाले स्तर और उद्देश्य के आधार पर विभिन्न प्रकारों में समझा जा सकता है।
सिस्टम एम्यूलेशन
सिस्टम एम्यूलेशन में संपूर्ण कंप्यूटर या hardware platform का मॉडल उपलब्ध कराया जाता है। अतिथि ऑपरेटिंग सिस्टम को CPU, स्मृति और विभिन्न उपकरणों सहित एक आभासी मशीन का वातावरण दिखाई देता है।
इस प्रकार के एम्यूलेशन का उपयोग अलग CPU architecture वाले ऑपरेटिंग सिस्टम को चलाने, पुराने कंप्यूटर वातावरण को पुनः निर्मित करने तथा software और hardware development में परीक्षण के लिए किया जा सकता है।
QEMU system emulation इसका प्रमुख उदाहरण है। यह विभिन्न CPU architectures के लिए system emulation उपलब्ध कराता है और अनेक प्रकार के emulated devices का समर्थन करता है।
यूज़र-मोड एम्यूलेशन
यूज़र-मोड एम्यूलेशन में पूरी मशीन का अनुकरण करने के बजाय किसी दूसरे CPU architecture के लिए संकलित प्रोग्राम या प्रक्रिया को होस्ट प्रणाली पर चलाया जाता है।
QEMU user-mode emulation एक CPU architecture के लिए बनाए गए program को दूसरे CPU architecture पर चलाने में सक्षम बनाता है। इसमें अतिथि प्रोग्राम के system calls को होस्ट operating system की सुविधाओं के अनुरूप परिवर्तित किया जाता है।QEMU User space emulator, QEMU Documentation.
इस प्रकार का एम्यूलेशन पूर्ण अतिथि operating system चलाए बिना cross-architecture software development और testing में उपयोगी हो सकता है।
प्रोसेसर एम्यूलेशन
कुछ एम्यूलेटर विशेष CPU architectures के instructions और behavior के अनुकरण पर केंद्रित होते हैं। QEMU का TCG विभिन्न CPU architectures को software में emulate कर सकता है।
TCG एक JIT (Just-in-time) compiler के रूप में भी कार्य करता है और अतिथि CPU instructions को host पर निष्पादित करने के लिए translated code तैयार करता है।Glossary, QEMU Documentation.
उपकरण एम्यूलेशन
किसी संपूर्ण कंप्यूटर प्रणाली का अनुकरण करने के लिए CPU के अतिरिक्त विभिन्न hardware devices का मॉडल भी आवश्यक हो सकता है। QEMU में network, USB, NVMe, SCSI, eMMC तथा अन्य उपकरणों के लिए device emulation उपलब्ध है।
उपकरण एम्यूलेशन के माध्यम से अतिथि operating system को ऐसे hardware interfaces उपलब्ध कराए जा सकते हैं जिनके साथ वह सामान्य कंप्यूटर की तरह काम कर सके।
एम्यूलेशन और वर्चुअलाइजेशन
एम्यूलेशन और वर्चुअलाइजेशन संबंधित लेकिन अलग तकनीकें हैं।
एम्यूलेशन में लक्ष्य CPU या hardware के व्यवहार को software द्वारा पुनः प्रस्तुत किया जा सकता है। इसलिए किसी अलग CPU architecture के लिए बनाए गए software को अलग architecture वाले host पर भी चलाया जा सकता है।
वर्चुअलाइजेशन में, जब अतिथि और होस्ट वातावरण उपयुक्त हों, अतिथि प्रणाली को host के वास्तविक CPU पर hardware virtualization सुविधाओं की सहायता से चलाया जा सकता है। इससे पूर्ण software emulation की तुलना में performance overhead कम हो सकता है।
QEMU दोनों तकनीकों का समर्थन करता है। इसके system emulation में CPU को TCG के माध्यम से software में emulate किया जा सकता है, जबकि KVM, Xen और अन्य hypervisor-based accelerators के माध्यम से virtualization acceleration का उपयोग किया जा सकता है।
इस प्रकार आधुनिक computing environments में emulation और virtualization को एक-दूसरे के विकल्प के बजाय आवश्यकता के अनुसार संयुक्त रूप से भी उपयोग किया जा सकता है।
सॉफ्टवेयर एम्यूलेशन और हार्डवेयर त्वरण
पूर्ण software emulation में अतिथि CPU instructions को host प्रणाली पर software द्वारा संसाधित किया जाता है। यह अलग CPU architectures के बीच व्यापक compatibility उपलब्ध करा सकता है, लेकिन instruction translation के कारण performance overhead उत्पन्न हो सकता है।
इस overhead को कम करने के लिए आधुनिक प्रणालियाँ hardware या virtualization acceleration का उपयोग कर सकती हैं। QEMU में KVM, Xen तथा अन्य hypervisor-based accelerators का समर्थन उपलब्ध है।
Android Emulator भी hardware acceleration का उपयोग कर सकता है। Android Developers के अनुसार hardware acceleration दो प्रमुख रूपों में उपयोगी है—graphics acceleration, जो rendering performance बढ़ाती है, और VM acceleration, जो emulator के execution performance को बेहतर करती है।Configure hardware acceleration for the Android Emulator, Android Developers, Google.
जब अतिथि और होस्ट architecture उपयुक्त रूप से मेल खाते हैं, तो hypervisor अतिथि code को host processor पर अधिक सीधे चलाने में सहायता कर सकता है।
Android Emulator
Android Emulator Android अनुप्रयोगों के विकास और परीक्षण के लिए उपयोग किया जाने वाला विशेष एम्यूलेटर है। यह कंप्यूटर पर एक virtual Android device चलाने की सुविधा देता है, जिससे डेवलपर विभिन्न Android versions और device configurations पर अनुप्रयोगों का परीक्षण कर सकता है।Run apps on the Android Emulator, Android Developers, Google.
Android Emulator में प्रत्येक virtual device की विशेषताओं को Android Virtual Device (AVD) द्वारा परिभाषित किया जाता है। AVD Android version और simulated device की hardware characteristics निर्धारित करता है।Create and manage virtual devices, Android Developers, Google.
डेवलपर अलग-अलग screen sizes, Android versions और hardware configurations वाले virtual devices बना सकता है। इससे किसी अनुप्रयोग को अनेक संभावित उपकरणों पर परीक्षण करने में सहायता मिलती है।
Android Emulator में network conditions, location तथा अन्य व्यवहारों को भी परीक्षण के लिए नियंत्रित किया जा सकता है।Advanced emulator usage, Android Developers, Google.
Android Studio में virtual device के माध्यम से application को सीधे build और run किया जा सकता है।Build and run your app, Android Developers, Google.
Android Emulator graphics और VM acceleration का उपयोग कर सकता है। hardware acceleration उपलब्ध होने पर emulator graphics rendering और execution performance में सुधार कर सकता है।
हालाँकि emulator development और testing के लिए उपयोगी है, Android Developers release से पहले वास्तविक hardware device पर application का परीक्षण करने की भी सलाह देता है।Run apps on a hardware device, Android Developers, Google.
अनुप्रयोग
एम्यूलेटर का उपयोग सॉफ्टवेयर विकास, परीक्षण, डिजिटल संरक्षण, cross-architecture development, embedded systems और शिक्षा सहित अनेक क्षेत्रों में किया जाता है।
सॉफ्टवेयर विकास और परीक्षण
डेवलपर वास्तविक hardware उपलब्ध होने से पहले विभिन्न CPU architectures, operating-system environments और device configurations पर software का परीक्षण करने के लिए emulators का उपयोग कर सकते हैं।
मोबाइल development में Android Emulator का उपयोग अलग-अलग virtual devices और Android versions पर applications का परीक्षण करने के लिए किया जाता है।
पुराने सॉफ्टवेयर का संरक्षण
एम्यूलेशन पुराने computer platforms और उनके software को आधुनिक प्रणालियों पर पुनः चलाने का साधन प्रदान कर सकता है। यदि मूल hardware उपलब्ध नहीं है या उसका उपयोग कठिन है, तो उसके behavior का software-based model पुराने programs तक पहुँच बनाए रखने में सहायता कर सकता है।
यह digital preservation और historical computing के अध्ययन में उपयोगी हो सकता है।
क्रॉस-आर्किटेक्चर विकास
एक CPU architecture के लिए बनाए गए program को दूसरे CPU architecture पर चलाने के लिए user-mode emulation उपयोगी हो सकता है। QEMU user-mode emulation विभिन्न architectures के लिए संकलित programs को दूसरे supported host architecture पर चलाने की सुविधा देता है।
ऑपरेटिंग सिस्टम विकास
Operating-system और kernel developers अलग hardware environments में software का परीक्षण करने के लिए system emulation का उपयोग कर सकते हैं। इससे कुछ development और testing परिस्थितियों में वास्तविक hardware की आवश्यकता कम हो सकती है।
एम्बेडेड सिस्टम विकास
Virtual hardware और device emulation embedded software के विकास तथा परीक्षण में उपयोगी हो सकते हैं। QEMU विभिन्न architectures और machine models के लिए system emulation उपलब्ध कराता है, जिससे embedded software के कुछ development और testing कार्य वास्तविक hardware के बिना किए जा सकते हैं।
शिक्षा और अनुसंधान
एम्यूलेशन अलग CPU architectures, hardware devices और operating-system environments के अध्ययन के लिए नियंत्रित प्रयोगात्मक वातावरण उपलब्ध करा सकता है। QEMU के system और user-mode emulation जैसे विकल्प विभिन्न computer architectures के साथ प्रयोग करने की सुविधा प्रदान करते हैं।
एम्यूलेटर और संगतता परत में अंतर
हर ऐसा software जो किसी दूसरे platform के applications चलाता है, आवश्यक रूप से emulator नहीं होता।
उदाहरण के लिए Wine Windows applications को Linux, macOS और अन्य POSIX-संगत प्रणालियों पर चलाने के लिए एक compatibility layer है। Wine की आधिकारिक जानकारी के अनुसार यह Windows API calls को POSIX calls में translate करता है और virtual machine या सामान्य emulator की तरह Windows की आंतरिक प्रणाली का simulation नहीं करता।About Wine, WineHQ.
इसलिए किसी तकनीक को emulator या compatibility layer के रूप में वर्गीकृत करने के लिए यह देखना आवश्यक है कि वह CPU, hardware या application programming interface के किस स्तर पर compatibility उपलब्ध कराती है।
एम्यूलेशन, वर्चुअलाइजेशन और सिमुलेशन
एम्यूलेशन, वर्चुअलाइजेशन और सिमुलेशन संबंधित लेकिन अलग अवधारणाएँ हैं।
एम्यूलेटर का उद्देश्य सामान्यतः किसी दूसरी प्रणाली या hardware के behavior और interfaces को पुनः प्रस्तुत करना होता है, ताकि उसके लिए बनाए गए software को चलाया जा सके।
वर्चुअलाइजेशन में अतिथि operating system को virtual machine में चलाया जाता है और उपयुक्त परिस्थितियों में अतिथि code को host processor पर hardware virtualization के माध्यम से अधिक सीधे निष्पादित किया जा सकता है।
सिमुलेशन सामान्यतः किसी प्रणाली के व्यवहार या मॉडल का अध्ययन करने पर केंद्रित होता है। इसमें लक्ष्य प्रणाली के प्रत्येक instruction या hardware interface को उसी प्रकार reproduce करना आवश्यक नहीं होता।
व्यवहार में इन तकनीकों का संयोजन भी हो सकता है। QEMU system emulation में software CPU emulation के साथ KVM, Xen या अन्य virtualization accelerators का उपयोग किया जा सकता है।
लाभ
एम्यूलेशन के प्रमुख लाभ निम्न हैं:
अलग hardware या CPU architecture के लिए बनाए गए software को दूसरे environment में चलाने की संभावना।
विकास और परीक्षण के लिए नियंत्रित तथा पुनरुत्पाद्य environment।
वास्तविक hardware के बिना कुछ प्रणालियों का परीक्षण।
पुराने software और computer environments के संरक्षण में सहायता।
विभिन्न device configurations का परीक्षण।
cross-architecture software development में सहायता।
education और research में विभिन्न computer architectures का अध्ययन।
सीमाएँ और समस्याएँ
एम्यूलेशन की प्रमुख सीमाओं में performance overhead और hardware compatibility शामिल हैं। अलग CPU architecture का पूर्ण software emulation computational overhead उत्पन्न कर सकता है।
QEMU में TCG द्वारा CPU emulation और virtualization accelerators के बीच अंतर इसका उदाहरण है। जहाँ software emulation व्यापक architecture compatibility प्रदान कर सकता है, वहीं hardware virtualization उपलब्ध होने पर execution अधिक तेज हो सकता है।
किसी वास्तविक hardware device की सभी विशेषताओं का सटीक software model बनाना भी जटिल हो सकता है। QEMU में अनेक प्रकार के devices के लिए अलग-अलग emulation models उपलब्ध हैं, लेकिन प्रत्येक device का behavior वास्तविक hardware से पूरी तरह समान होना आवश्यक नहीं है।
Android Emulator की भी कुछ सीमाएँ हैं। Android Developers के अनुसार कुछ वास्तविक hardware features, जैसे Bluetooth, NFC और USB से संबंधित कुछ device interactions, emulator में वास्तविक उपकरण की तरह उपलब्ध नहीं होते।
इसके अतिरिक्त emulator का सही configuration आवश्यक है। गलत virtual hardware, system image, graphics configuration या acceleration settings के कारण performance या compatibility प्रभावित हो सकती है।
सुरक्षा संबंधी पहलू
एम्यूलेटर स्वयं एक जटिल software layer होता है और इसलिए उसे स्वतः पूर्ण security boundary नहीं माना जाना चाहिए।
QEMU के security documentation में guest isolation, privilege reduction और security boundaries से संबंधित अलग-अलग considerations दिए गए हैं।QEMU Security, QEMU Documentation.
विशेष रूप से device passthrough जैसी सुविधाओं में अतिथि प्रणाली को host hardware तक अधिक प्रत्यक्ष पहुँच मिल सकती है। इसलिए सुरक्षा-संवेदनशील environments में emulator configuration और isolation का सावधानीपूर्वक मूल्यांकन आवश्यक है।
QEMU documentation कुछ विशेष सुविधाओं, जैसे semihosting, के बारे में भी चेतावनी देती है कि वे guest-host isolation को प्रभावित कर सकती हैं और इसलिए अविश्वसनीय code के साथ उनका उपयोग सावधानी से किया जाना चाहिए।
उल्लेखनीय एम्यूलेटर
एम्यूलेशन के क्षेत्र में विभिन्न उद्देश्यों के लिए अनेक software projects विकसित हुए हैं।
QEMU — सामान्य-उद्देश्य मुक्तस्रोत machine emulator और virtualizer, जिसमें system तथा user-mode emulation दोनों उपलब्ध हैं।
Android Emulator — Android applications के विकास और परीक्षण के लिए virtual Android devices उपलब्ध कराने वाला emulator।
DOSBox — पुराने DOS आधारित software और games को आधुनिक प्रणालियों पर चलाने के लिए प्रयुक्त emulation environment।
Wine — Windows applications के लिए compatibility layer; तकनीकी रूप से सामान्य पूर्ण machine emulator नहीं है।
महत्व
एम्यूलेशन आधुनिक computing में software compatibility, development, testing और digital preservation का महत्वपूर्ण साधन है। इसके माध्यम से एक computer पर दूसरे computer या device के behavior को पुनः प्रस्तुत किया जा सकता है।
इसकी उपयोगिता केवल पुराने software को चलाने तक सीमित नहीं है। Mobile application development, cross-architecture software, operating-system development, embedded systems और computer architecture के अध्ययन में भी emulation का उपयोग होता है।
Hardware acceleration और virtualization technologies ने उन परिस्थितियों में emulator performance को बेहतर बनाने में सहायता की है जहाँ अतिथि और host architecture तथा hardware capabilities उपयुक्त हों।
इस प्रकार एम्यूलेशन अलग-अलग computer architectures और software environments के बीच compatibility उपलब्ध कराने के साथ-साथ software development, testing और computing history के संरक्षण का भी महत्वपूर्ण तकनीकी साधन है।
यह भी देखें
वर्चुअलाइजेशन
वर्चुअल मशीन
कंप्यूटर सिमुलेशन
QEMU
Android Emulator
DOSBox
Wine
CPU आर्किटेक्चर
ऑपरेटिंग सिस्टम
अनुप्रयोग सॉफ्टवेयर
सॉफ्टवेयर परीक्षण
संदर्भ