सिम्युलेटर या एमुलेटर? अंतर क्या है?


522

जबकि मैं समझता हूं कि सामान्य रूप से अनुकरण और अनुकरण का क्या मतलब है, मैं लगभग हमेशा उनके बारे में भ्रमित हो जाता हूं। मान लें कि मैं सॉफ़्टवेयर का एक टुकड़ा बनाता हूं जो मौजूदा हार्डवेयर / सॉफ़्टवेयर की नकल करता है, मुझे इसे क्या कहना चाहिए? एक सिम्युलेटर या एक एमुलेटर?

प्रोग्रामिंग के संदर्भ में क्या कोई अंतर बता सकता है?

बोनस: इन दो शब्दों के बीच अंग्रेजी में क्या अंतर है? (क्षमा करें, मैं एक देशी वक्ता नहीं हूं :))


3
मोबाइल एप्लिकेशन विकास में, iPhone में एक सिम्युलेटर है जबकि एंड्रॉइड में एक एमुलेटर है। यहाँ और अधिक - stackoverflow.com/questions/4544588/…
विष्णु हरिदास

1
मुझे इस जानकारी पर विकिपीडिया की जानकारी मिली: en.wikipedia.org/wiki/Emulator#Emulation_versus_simulation
AmigoNico

यह
इसको

जवाबों:


462

अनुकरण एक मौजूदा लक्ष्य से मेल खाने के लिए बाहरी रूप से नमूदार व्यवहार की नकल करने की प्रक्रिया है। उत्सर्जन तंत्र की आंतरिक स्थिति को उस लक्ष्य की आंतरिक स्थिति को सटीक रूप से प्रतिबिंबित करने की आवश्यकता नहीं है जो यह अनुकरण कर रहा है।

दूसरी ओर, सिमुलेशन में लक्ष्य की अंतर्निहित स्थिति को मॉडलिंग करना शामिल है। एक अच्छे सिमुलेशन का अंतिम परिणाम यह है कि सिमुलेशन मॉडल उस लक्ष्य का अनुकरण करेगा जो वह अनुकरण कर रहा है।

आदर्श रूप से, आपको सिमुलेशन में देखने और उन गुणों का निरीक्षण करने में सक्षम होना चाहिए, जिन्हें आप मूल लक्ष्य में देखते हैं। व्यवहार में, प्रदर्शन के कारणों के लिए सिमुलेशन के कुछ शॉर्टकट हो सकते हैं - अर्थात, सिमुलेशन के कुछ आंतरिक पहलू वास्तव में अनुकरण हो सकते हैं।

MAME एक आर्केड गेम एमुलेटर है; हाइपरटर्म एक (बहुत अच्छा नहीं) टर्मिनल एमुलेटर है। वांछित अनुकरण व्यवहार प्राप्त करने के लिए आर्केड मशीन या विस्तार से मॉडल बनाने की कोई आवश्यकता नहीं है।

फ्लाइट सिम्युलेटर एक सिम्युलेटर है; SPICE एक इलेक्ट्रॉनिक्स सिम्युलेटर है। वे लक्ष्य का हर विवरण यथासंभव प्रस्तुत करते हैं कि लक्ष्य वास्तविकता में क्या करता है।

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


33
इस परिभाषा के अनुसार, क्या सॉफ्टवेयर में वास्तविक दुनिया का अनुकरण करना असंभव है ? मुझे नहीं लगता कि हम वास्तविक दुनिया की अंतर्निहित स्थिति का सही-सही प्रतिनिधित्व कर सकते हैं - केवल अब देखने योग्य गुणों का अनुकरण करें ...।
डॉल्फ

8
मैं इस "[सिमुलेशन] मॉडल से सहमत नहीं हूं कि लक्ष्य का हर विवरण जितना संभव हो सके, यह दर्शाने के लिए कि वास्तव में लक्ष्य क्या करता है।" सिमुलेशन सिमुलेशन के उद्देश्य के आधार पर पर्याप्त विस्तार के साथ लक्ष्य प्रणाली का मॉडल है। उदाहरण के लिए, फ़्लाइट सिमुलेटर शायद मछलियों को समुद्र में नहीं उड़ाता क्योंकि यह सिमुलेशन के उद्देश्य के लिए बेकार है।
हमीद

16
बिल्कुल विपरीत उत्तर यहां: stackoverflow.com/questions/2174638/…
smwikipedia

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

1
मुझे लगता है कि इस उत्तर ने 2 शर्तों को बदल दिया। अन्य सभी स्रोत इसे इस प्रकार समझाते हैं: अनुकरण = नकली व्यवहार; अनुकरण = भीतरी कामकाज की नकल करना। जो निम्नलिखित निष्कर्ष की ओर ले जाता है: वे दोनों शानदार शर्तें हैं।
धातुगुप्त

350

अगर कोई फ्लाइट-सिम्युलेटर आपको A से B तक पहुंचा सकता है तो यह एक फ्लाइट-एमुलेटर होगा।

एक एमुलेटर वास्तविक उपयोग के लिए मूल की जगह ले सकता है ।
एक वर्चुअल पीसी एक पीसी का अनुकरण करता है।

एक सिम्युलेटर अध्ययन और विश्लेषण के लिए एक मॉडल है।

एक एमुलेटर को हमेशा वास्तविक समय के करीब संचालित करना होगा। एक सिम्युलेटर के लिए जो हमेशा मामला नहीं होता है। एक भूवैज्ञानिक सिमुलेशन 1000 साल / सेकंड या अधिक कर सकता है।


6
@ हेंक योर "कॉकपिट" उदाहरण शानदार है, हालांकि मैंने इसे टॉयबिल्डर जवाब पढ़ने के बाद समझा। धन्यवाद :)
आरा १०

1
वर्चुअल पीसी अनुकरण नहीं करता है , यह वर्चुअलाइज करता है। दूसरी ओर, QEmu अनुकरण करता है । दोनों मामलों में, नाम एक संकेत होना चाहिए।
जॉर्ग डब्ल्यू मित्तग

24
मुझे लगता है कि यह कहना सुरक्षित होगा कि वर्चुअल पीसी एक पीसी का अनुकरण करता है। यह कैसे अनुकरण करता है कि पीसी वर्चुअलाइजेशन के माध्यम से है, लेकिन यह कार्यान्वयन विवरण से अधिक है। आप तर्क दे सकते हैं कि हार्डवेयर वर्चुअलाइजेशन अनुकरण का एक सुपरसेट है, जिसमें त्वरित सीपीयू समर्थन, विशेष हार्डवेयर डिवाइस एक्सेस आदि प्रदान कर सकते हैं
ली बी

रुको, क्या वर्चुअल पीसी एक असली पीसी की बहुत अधिक 1: 1 प्रतिकृति प्रदान नहीं करता है? (मेरा मतलब है, सिस्टम वर्चुअलाइजेशन को केवल बाहरी व्यवहार का अनुकरण नहीं करना चाहिए, लेकिन सिस्टम वर्चुअलाइजेशन के विपरीत, सिस्टम वर्चुअलाइजेशन स्टैक को फिर से तैयार नहीं किया जाता है)।
कैमिलो मार्टिन

1
मैंने कहा कि उड़ान एमुलेटर कहाँ मिल सकता है?
जेरी डॉज

175

सिमुलेशन = विश्लेषण और अध्ययन के लिए

अनुकरण = विकल्प के रूप में उपयोग के लिए

एक सिम्युलेटर एक पर्यावरण है जो मॉडल है लेकिन एक एमुलेटर वह है जो मूल उपकरण या सिस्टम पर उपयोग को दोहराता है।

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

दूसरी ओर, एमुलेटर वास्तव में " करता है " जिस चीज़ का अनुकरण किया जा रहा है, वह करता है, और ऐसा करने में " वही काम करता हुआ " प्रतीत होता है । एमुलेटर उत्सर्जित होने वाली चीज़ की नकल करने के लिए प्रोटोकॉल के विभिन्न सेट का उपयोग कर सकता है, लेकिन परिणाम / परिणाम हमेशा मूल वस्तु के समान होता है। उदाहरण के लिए, EMU8086 आपके कंप्यूटर पर 8086 माइक्रोप्रोसेसर का अनुकरण करता है, जो स्पष्ट रूप से 8086 (= विभिन्न प्रोटोकॉल ) पर नहीं चल रहा है , लेकिन यह जो आउटपुट देता है वह वास्तविक 8086 होता है।


9
स्पष्ट उत्तर मैंने देखा है। मेरे लिए, केवल अतिरिक्त सजा हटाना या उसे यह अपने उत्कृष्ट विषम परिभाषाओं में एकीकृत करने :-D द्वारा सुधार किया जा सकता
doughgle

40

यह फ़ोकस में अंतर है। एमुलेटर 1 सिस्टम के व्यवहार को फिर से बनाने पर ध्यान केंद्रित करता है, इस बात की परवाह किए बिना कि सिस्टम आंतरिक रूप से कैसे कार्य करता है। सिमुलेटर 2 एक सिस्टम के घटकों को मॉडलिंग करने पर ध्यान केंद्रित करता है। आप एक एमुलेटर का उपयोग करते हैं जब आप ज्यादातर इस बात की परवाह करते हैं कि एक सिस्टम क्या करता है, और एक सिम्युलेटर जब आप परवाह करते हैं कि यह कैसे करता है।

अपने सामान्य अंग्रेजी अर्थ का सवाल है, अनुकरण "प्रयास बराबर करने के लिए या गुणों या में एक और उत्कृष्टता प्राप्त करने के लिए है कार्रवाई ", जबकि अनुकरण है "के लिए मॉडल , दोहराने, व्यवहार, उपस्थिति या के गुणों नकल"। ज्यादा अंतर नहीं। अनुकरण , mulus से आता है , "प्रयास, प्रतिद्वंद्वी," और "नकल" और "छवि" से संबंधित है, जो सतह-लीवर जैसा दिखता है। "सिमुलेशन" सिमिलिस "जैसे" से आता है , जैसा कि शब्द "समान" है, जो शायद एक गहरी बधाई का सुझाव देता है।

संदर्भ:

  1. विकिपीडिया: एमुलेटर
  2. विकिपीडिया: कंप्यूटर अनुकरण
  3. विक्षनरी: अनुकरण
  4. विक्षनरी: अनुकरण
  5. व्युत्पत्ति ऑनलाइन: अनुकरण
  6. व्युत्पत्ति ऑनलाइन: सिमुलेशन

आपका जवाब दूसरों से अलग है। क्या वर्चुअल पीसी आपके अनुसार एक सिम्युलेटर या एमुलेटर है?
मिकाइल मेयर

@ MikaëlMayer: कई जवाब दूसरों से अलग हैं ', केवल कुछ समान हैं। मैं अपना जवाब समतुल्य मानूंगा (उस तरह से चीजों को उसी तरह वर्गीकृत किया जाएगा) टॉयबिल्डर और सीडीगेंस के लिए, और जोर्ग के साथ संगत। यह केवल पोंटस और ऐओलाई के विपरीत है।
आउटिस

@ MikaëlMayer वर्चुअल पीसी एक एमुलेटर है। यह हर वह चीज कर सकता है जो एक असली पीसी कर सकता है।
एक उपयोगकर्ता

1
@Pri इस पीसी का उत्तर वर्चुअल पीसी से संबंधित देखें। यह दोनों है, यह परिप्रेक्ष्य से निर्भर करता है। उदाहरण के लिए आप अभी भी कह सकते हैं कि यह एक सिमुलेशन है क्योंकि यह एक वास्तविक कंप्यूटर के रूप में गर्मी नहीं कर सकता है।
मिकाइल मेयर

@ MikaëlMayer वापस आने के लिए धन्यवाद, लेकिन ईमानदार होने के लिए, कुछ समय हम वास्तव में अंतर नहीं कर सकते हैं यदि कोई सिस्टम एमुलेटर या सिम्युलेटर है। बहस की एक अच्छी श्रृंखला शुरू होती है। आशा है कि मैं सही हूँ! कुछ उपयोग, अपने अंग्रेजी अर्थ, कार्यक्षमता, सामर्थ्य के आधार पर अंतर प्राप्त करते हैं। लेकिन जब मैं अपने केस स्टडी में सभी उत्तरों को लागू करता हूं, तो यह एक आसान बात नहीं है
एक उपयोगकर्ता

19

मुझे नहीं लगता कि एमुलेटर और सिम्युलेटर की तुलना की जा सकती है। दोनों किसी चीज की नकल करते हैं, लेकिन तर्क की एक ही गुंजाइश का हिस्सा नहीं हैं, वे एक ही संदर्भ में उपयोग नहीं किए जाते हैं।

संक्षेप में: एक एमुलेटर को ओरिजिनल की कुछ विशेषताओं को कॉपी करने के लिए डिज़ाइन किया गया है और इसे वास्तविक वातावरण में बदल भी सकता है। एक सिम्युलेटर को मूल की विशेषताओं की नकल करने के लिए उतारा नहीं गया है, लेकिन केवल मानव के लिए मूल के समान दिखाई देता है। मूल की विशेषताओं के बिना, सिम्युलेटर इसे वास्तविक वातावरण में प्रतिस्थापित नहीं कर सकता है।

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

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

मुझे नहीं लगता कि हम किसी भी ROM सिम्युलेटर को देखेंगे, क्योंकि ROM इंसानों के साथ बातचीत नहीं कर रहा है, और न ही हम कोई विमान एमुलेटर देखेंगे, क्योंकि विमानों में वास्तविक दुनिया में समान कार्य करने वाला प्रतिस्थापन नहीं हो सकता है।

मेरे विचार में एमुलेटर या सिम्युलेटर के अंदर का मॉडल कुछ भी हो सकता है, और मूल के मॉडल के समान नहीं होना चाहिए। एक ROM एमुलेटर मॉडल संभवतः हार्डवेयर के बजाय सॉफ्टवेयर होगा, एमएस फ्लाइट सिम्युलेटर इससे अधिक सॉफ्टवेयर नहीं हो सकता है।

दोनों शब्दों की यह तुलना वर्तमान में चयनित उत्तर (टॉयबिल्डर से) के अंतर का विरोध करेगी जो आंतरिक मॉडल पर अंतर डालता है, जबकि मेरा सुझाव है कि अंतर यह है कि क्या वास्तविक दुनिया में वास्तविक कार्य करने के लिए नकली का उपयोग किया जा सकता है या नहीं? कुछ स्वीकृत विस्तार, वास्तव में)।

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

यह एमुलेटर के साथ एक बड़ा अंतर है जो केवल मूल का अनुकरण करता है, और इसका उद्देश्य मूल वातावरण में इसका उपयोग करने की आवश्यकता नहीं है। वापस विमान के संदर्भ में ... एक विमान एमुलेटर क्या हो सकता है? हो सकता है कि एक ट्रेन जो दो हवाई अड्डों को जोड़ेगी - वास्तव में दो विमान कदम - यात्रियों को ले जाने वाली सवारियों के साथ, कार के इंटीरियर के साथ एक वास्तविक विमान केबिन की तरह लग रहा है, और कप्तान के साथ "महिलाओं और सज्जनों" का कहना है कि हमारी ऊंचाई 10 किलोमीटर और तापमान है हमारे गंतव्य पर 24 ° C है ”। इसका लाभ देखना मुश्किल है, हम ...

निष्कर्ष के रूप में, एमुलेटर काम करने के लिए एक वास्तविक चीज है, सिम्युलेटर उपयोगकर्ता को धोखा देने के लिए एक नकली उद्देश्य है।


1
वाक्यांश "ROM एमुलेटर" मुझे आभासी वीडियो गेम कंसोल की याद दिलाता है।
जो जेड

11

सरल व्याख्या।

यदि आप अपने पीसी (रनिंग विंडोज) को मैक में बदलना चाहते हैं, तो आप इनमें से कुछ भी कर सकते हैं:

(1) आप बस अपने विंडोज पर मैक थीम स्थापित कर सकते हैं। तो, आपका पीसी मैक की तरह अधिक महसूस करता है, लेकिन आप वास्तव में कोई मैक प्रोग्राम नहीं चला सकते हैं।(SIMULATION)

(या)

(2) आप अपने पीसी को मैक की तरह चलाने के लिए प्रोग्राम कर सकते हैं (मुझे यकीन नहीं है कि यह संभव है: पी)। अब आप मैक प्रोग्राम को सफलतापूर्वक चला सकते हैं और मैक पर भी उसी आउटपुट की उम्मीद कर सकते हैं।(EMULATION)

पहले मामले में, आप मैक का अनुभव कर सकते हैं, लेकिन आप मैक के समान आउटपुट की उम्मीद नहीं कर सकते।
दूसरे मामले में, आप मैक के समान आउटपुट की उम्मीद कर सकते हैं, लेकिन फिर भी तथ्य यह है कि यह केवल एक पीसी है।


3
यह सरल और पूरी तरह से गलत दोनों है। (2) अनुकरण के करीब है, लेकिन (1) न तो अनुकरण है और न ही अनुकरण।
निक बैस्टिन

10

एक सिम्युलेटर और एक एमुलेटर के बीच अंतर को समझने के लिए, ध्यान रखें कि एक सिम्युलेटर एक वास्तविक डिवाइस के व्यवहार की नकल करने की कोशिश करता है। उदाहरण के लिए, आईओएस सिम्युलेटर के मामले में, यह वास्तविक iPhone / iPad डिवाइस के वास्तविक व्यवहार का अनुकरण करता है। हालांकि, सिम्युलेटर स्वयं मैक पर स्थापित विभिन्न पुस्तकालयों का उपयोग करता है (जैसे कि क्विकटाइम) इसका रेंडरिंग करने के लिए ताकि प्रभाव एक वास्तविक iPhone के समान दिखाई दे। इसके अलावा, सिम्युलेटर पर परीक्षण किए गए एप्लिकेशन को x86 कोड में संकलित किया जाता है, जो कि सिम्युलेटर द्वारा समझा जाने वाला बाइट-कोड है। एक वास्तविक iPhone डिवाइस, इसके विपरीत, ARM- आधारित कोड का उपयोग करता है।

इसके विपरीत, एक एमुलेटर एक वास्तविक डिवाइस के काम का अनुकरण करता है। एक एमुलेटर पर परीक्षण किए गए एप्लिकेशन वास्तविक डिवाइस द्वारा उपयोग किए जाने वाले वास्तविक बाइट-कोड में संकलित किए जाते हैं। एमुलेटर बाईट-कोड का एक ऐसे रूप में अनुवाद करके एप्लिकेशन को निष्पादित करता है जिसे एमुलेटर चलाने वाले होस्ट कंप्यूटर द्वारा निष्पादित किया जा सकता है।

अनुकरण और अनुकरण के बीच के सूक्ष्म अंतर को समझने के लिए, कल्पना करें कि आप एक बच्चे को समझाने की कोशिश कर रहे हैं कि चाकू से खेलना खतरनाक है। इसे अनुकरण करने के लिए, आप दर्द में चाकू और कराह के साथ खुद को काटने का नाटक करते हैं। इसका अनुकरण करने के लिए, आप वास्तव में खुद को काटते हैं।


7
घर के बच्चों पर यह कोशिश मत करो: D
Gearoid मर्फी

9

एमुलेटर एक प्रणाली का एक मॉडल है जो किसी भी मान्य इनपुट को स्वीकार करेगा जो कि उत्सर्जित प्रणाली को स्वीकार करेगा, और उसी आउटपुट या परिणाम का उत्पादन करेगा। तो आपका सॉफ्टवेयर एक एमुलेटर है, केवल अगर यह इम्यूलेटेड सिस्टम के व्यवहार को ठीक करता है।


धन्यवाद। मुझे लगता है कि यह एमुलेशन की बहुत सटीक परिभाषा है। इसलिए, उदाहरण के लिए वाइन एक सिम्युलेटर है क्योंकि यह आवश्यक रूप से विंडोज में परिभाषित एक ही सटीक आउटपुट नहीं देता है ?
आरा

6
या तो / या एमुलेटर या सिम्युलेटर में वाइन को जूता करने की कोशिश करने के बारे में सावधान रहें। WINE एक संगतता परत है, जो बायनेरिज़ को दूसरे सिस्टम की बाइनरी API लेयर पर चलने वाली बायनेरी बनाती है। आप इसे एडॉप्टर कह सकते हैं। मुझे लगता है कि सिम्युलेटर इसे समझने का बुरा तरीका नहीं है, लेकिन यह वास्तव में एमुलेटर की तुलना में बहुत करीब नहीं है।
ली बी

इस स्पेक्ट्रम में वाइन का उत्सर्जन होता है। इसमें विंडोज बायनेरिज़ को जोड़ने की बाहरी उपस्थिति है, लेकिन अगर आप उन इंटर्नल को देखना चाहते हैं जो आप विंडोज के बारे में कुछ भी नहीं सीखेंगे।
निक बैस्टिन

9

कुछ साल पहले मैं एक बहुत ही संक्षिप्त कहावत के साथ आया था, मेरा मानना ​​है कि अंतर का सार काफी अच्छी तरह से पकड़ता है:

एक सिम्युलेटर एक मिशन पर एक एमुलेटर है।

इसके द्वारा मेरा मतलब है कि आप एक एमुलेटर का उपयोग करते हैं जब आप वास्तविक चीज़ का उपयोग नहीं कर सकते हैं, और आप एक सिम्युलेटर का उपयोग करते हैं जब आप वास्तविक चीज़ का उपयोग नहीं कर सकते हैं और आप इसके बारे में कुछ जानना चाहते हैं


8

कम या ज्यादा सामान्य समानता में: यदि आपका सॉफ़्टवेयर सब कुछ कर सकता है जो कि नकल किया हुआ सिस्टम कर सकता है, तो यह एक एमुलेटर है। यदि यह केवल एक प्रणाली (आईटी या अन्यथा) के परिणामों का अनुमान लगाता है, तो यह एक सिम्युलेटर है।


5

सिम्युलेटर: यह दुभाषिया के समान है। यानी यह वास्तव में व्यवहार की नकल करने के लिए लाइन द्वारा वास्तविक कोड को निष्पादित करता है

एमुलेटर: यह समान निष्पादन योग्य है। यानी यह संकलित कोड लेता है और इसे निष्पादित करता है।


4

एक एमुलेटर वास्तविक प्रणाली का एक विकल्प है लेकिन एक सिम्युलेटर का उपयोग वास्तविक प्रणाली को अनुकूलित करने, समझने और अनुमान लगाने के लिए किया जाता है।


3

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

शब्द के वर्तमान उपयोग के लिए मेरा औचित्य है एमुलेशन यह है कि यह कार्यक्षमता को "बढ़ा" सकता है, और केवल सिस्टम के व्यवहार के "उचित" सन्निकटन से चिंतित है।

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

सॉफ्टवेयर इम्यूलेटर: एक 0x86 एमुलेटर केवल 0x86 असेंबली भाषा को निष्पादित करने में सक्षम होने के साथ संबंधित है, एक विशिष्ट 0x86 प्रोसेसर के चक्र व्यवहारिक मॉडल के प्रति सटीक चक्र प्रदान नहीं करता है। बोच इसका एक उदाहरण है। QEMU ऐसा करता है, लेकिन विशेष कर्नेल मॉड्यूल का उपयोग करके "वर्चुअलाइजेशन" की भी अनुमति देता है।

SIMULATOR: टेक्सास इंस्ट्रूमेंट्स सॉफ्टवेयर डेवलपमेंट के लिए वहाँ प्रोसेसर का एक CYCLE ACCURATE व्यवहार मॉडल प्रदान करता है, जिसका उद्देश्य डेवलपर्स के लिए विशिष्ट प्रोसेसर कोर के व्यवहार का सटीक SIMULATION होना है, जो काम करने वाले हार्डवेयर से पहले उपयोग करता है।

सॉफ्टवेयर EMULATOR संवर्धित कार्यक्षमता: BLEEM ने न केवल आपको Playstation सॉफ़्टवेयर चलाने की अनुमति दी, बल्कि PlayStation की तुलना में उच्च रिज़ॉल्यूशन के साथ डिस्प्ले को आउटपुट करने की अनुमति दी, और साथ ही उपलब्ध GPU की अधिक उन्नत क्षमताओं का लाभ भी उठाया। (यानी बेहतर ब्लेंडिंग और टेक्सचर को स्मूथ करना)


3

दोनों एक ऑब्जेक्ट के मॉडल हैं जिनके पास आउटपुट को नियंत्रित करने और आउटपुट देखने के कुछ साधन हैं।

मुख्य अंतर यह है कि:

  • एक एमुलेटर के साथ , आप चाहते हैं कि आउटपुट ठीक उसी तरह से मेल खाता हो जो आप अनुकरण कर रहे हैं।
  • एक सिम्युलेटर के साथ , आप चाहते हैं कि आपके आउटपुट के कुछ गुण उसी के समान हों जो वस्तु का उत्पादन करेगा।

एक उदाहरण देता हूं - मान लीजिए कि आप एक सिस्टम में एक नए सेंसर (जैसे थर्मामीटर) को जोड़ने के लिए कुछ सिस्टम टेस्टिंग करना चाहते हैं, जो सिस्टम को प्रभावित करेगा। आप जानते हैं कि थर्मामीटर 8 बार एक संदेश भेजता है जिसमें दूसरा माप होता है।

सिमुलेशन - यदि आपके पास अभी तक थर्मामीटर नहीं है, लेकिन आप परीक्षण करना चाहते हैं कि यह संदेश दर आपके सिस्टम को अधिभार नहीं देगा, तो आप एक इकाई को संलग्न करके सेंसर को अनुकरण कर सकते हैं जो एक यादृच्छिक संख्या को 8 बार दूसरी बार भेजता है। आप कोई भी परीक्षण चला सकते हैं जो सेंसर द्वारा भेजे जाने वाले वास्तविक मूल्य पर निर्भर नहीं करता है।

अनुकरण - मान लें कि आपके पास एक बहुत महंगा थर्मामीटर है जो 0.001 C तक मापता है, और आप यह देखना चाहते हैं कि क्या आप एक सस्ते थर्मामीटर के साथ मिल सकते हैं जो केवल निकटतम 0.5 C. तक मापता है। आप महंगे थर्मामीटर का उपयोग करके सबसे सस्ते थर्मामीटर का अनुकरण कर सकते हैं। फिर रीडिंग को निकटतम 0.5 C तक चलाएं और तापमान मान पर निर्भर करने वाले परीक्षण चलाएं।

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

शर्तों की परिभाषा:

  • अनुकरण - पार या बिल्कुल मैच
  • अनुकरण - रूप या चरित्र में अनुकरण

नोट - यह एक प्रश्न के उत्तर के समान है जिसे इस एक के रूप में चिह्नित किया गया है ( stackoverflow.com/questions/2174638/… )। मैंने एक डिवाइस की नकल करने से ज्यादा कुछ के लिए शब्दों की परिभाषा (प्रश्न में पूछी गई लेकिन अभी तक जवाब नहीं दी गई) और साथ ही सिमुलेशन (परिमित तत्व विश्लेषण) के उपयोग के बारे में कुछ जानकारी जोड़ी।
जे एलस्टन

2

यह प्रश्न संभवतः ऐतिहासिक अभ्यास पर एक नज़र डालकर सबसे अच्छा उत्तर दिया गया है।

अतीत में, मैंने PlayStation और SEGA के लिए पीसी पर गेमिंग कंसोल एमुलेटर देखा है।

सॉफ्टवेयर या ऐसे ड्राइविंग या फ्लाइंग जैसी वास्तविक जीवन क्रियाओं की नकल करने की कोशिश करने वाले सॉफ्टवेयर का जिक्र करते समय सिमुलेटर सामान्य बात है। Gran Turismo और Microsoft उड़ान सिम्युलेटर वसंत सिमुलेटर के क्लासिक उदाहरण के रूप में दिमाग में आते हैं।

भाषाई अंतर के लिए, अनुकरण आमतौर पर किसी की (या कुछ की) प्रशंसनीय विशेषताओं या व्यवहारों की नकल करने की क्रिया को संदर्भित करता है। अनुकरण नकल से अलग है, जिसमें नकल के उद्देश्य से एक व्यक्ति की नकल की जाती है।

क्रिया 'अनुकरण ’का भाषाई अर्थ अनिवार्य रूप से किसी या किसी चीज का दिखावा या नकल करना है।


2

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

इसलिए अगर मैं अपने पीसी पर अपने पुराने सुपर मारियो ब्रदर्स गेम को चलाना चाहता हूं तो मैं एसएनईएस एमुलेटर का उपयोग करता हूं , क्योंकि यह गेम चलाने के लिए समान या समान कंप्यूटर कोड (प्रक्रियाओं) का उपयोग कर रहा है, और समान या समान सामग्री (सिलिकॉन चिप) का उपयोग करता है । हालांकि, अगर मैं अपने पीसी पर बोइंग 747 जेट उड़ाना चाहता हूं तो मैं एक उड़ान सिम्युलेटर का उपयोग करता हूं क्योंकि यह मूल से पूरी तरह से अलग प्रक्रियाओं का उपयोग करता है (इसमें कोई वास्तविक पंख, लिफ्ट या वायुगतिकी शामिल नहीं हैं!)।

यहाँ कंप्यूटर विज्ञान शब्दावली से ली गई सटीक परिभाषाएँ दी गई हैं:

एक सिमुलेशन एक प्रणाली का एक मॉडल है जो सिस्टम के इनपुट और आउटपुट के बीच कार्यात्मक कनेक्शन को पकड़ता है, लेकिन जरूरी नहीं कि उन प्रक्रियाओं पर आधारित हो जो उसी तरह हैं, या सिस्टम के समान हैं।

एक प्रतिकृति एक प्रणाली का एक मॉडल है जो सिस्टम के इनपुट और आउटपुट के बीच कार्यात्मक कनेक्शन को पकड़ता है और उन प्रक्रियाओं पर आधारित होता है जो सिस्टम के स्वयं के समान हैं, या समान हैं।

एक इम्यूलेशन कुछ सिस्टम का एक मॉडल है जो सिस्टम के इनपुट और आउटपुट के बीच कार्यात्मक कनेक्शन को कैप्चर करता है, प्रक्रियाओं के आधार पर जो उस सिस्टम के समान हैं, या समान हैं, और जो सिस्टम के समान सामग्री से बना है। ।

संदर्भ: द ओपन यूनिवर्सिटी, M366 शब्दावली 1.1, 2007


2

सिमुलेशन एक ऐसी प्रणाली है जो कुछ और के समान व्यवहार करती है, लेकिन इसे पूरी तरह से अलग तरीके से लागू किया जाता है। यह एक प्रणाली का मूल व्यवहार प्रदान करता है लेकिन जरूरी नहीं कि सिस्टम के सभी नियमों का पालन किया जाए। यह वहाँ है कि आप कैसे कुछ काम करता है के बारे में एक विचार दे।

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


2

शब्दों की परिभाषाएँ अंतर का सबसे अच्छा वर्णन करती हैं। एक Google खोज अनुकरण और अनुकरण की निम्नलिखित परिभाषाएं देती है:

की उपस्थिति या चरित्र का अनुकरण अनुकरण

इम्यूलेट मैच या उससे अधिक (एक व्यक्ति या उपलब्धि), आमतौर पर नकल द्वारा।

एक सिमुलेशन एक प्रणाली की नकल करता है। एक अनुकरण एक प्रणाली को इतनी अच्छी तरह से अनुकरण करता है कि वह इसे बदल सकता है या इसे पार भी कर सकता है।

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

दूसरी ओर, सिमुलेशन उनके द्वारा मॉडल होने तक सीमित हैं। वे एक प्रणाली की नकल करने के लिए एक सर्वोत्तम प्रयास हैं, लेकिन इसके लिए प्रतिस्थापन नहीं। हार्डवेयर इम्यूलेटर हैं क्योंकि हार्डवेयर की नकल की जा सकती है और अंतर बताना मुश्किल होगा। कोई खेती करने वाला एमुलेटर नहीं है क्योंकि ऐसा कोई एमुलेशन नहीं है जो वास्तविक खेती की जगह ले सके। हम केवल खेती के एक मॉडल का अनुकरण कर सकते हैं कि कैसे बेहतर खेती करें।


1

एक वर्चुअल पीसी एक प्रोग्रामर BUT के दृष्टिकोण से , एक कंप्यूटर का अनुकरण करने की कोशिश करता है , एक ही समय में, यह एक इलेक्ट्रिकल इंजीनियर के दृष्टिकोण से एक कंप्यूटर का अनुकरण करता है ।


0

एमुलेटर:

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

सिम्युलेटर:

मैं स्पाइस या फ्लाइट सिम्युलेटर से बेहतर उदाहरण नहीं दे सकता। दोनों सॉफ्टवेयर या गणितीय मॉडल के साथ हार्डवेयर घटक व्यवहार को बदल देंगे जो हार्डवेयर के समान व्यवहार करेगा।

अंत में यह इस संदर्भ पर निर्भर करता है कि कौन सा समाधान बेहतर सूट परियोजना की जरूरत है।


0

सिम्युलेटर एमुलेटर की तुलना में कुछ अधिक व्यापक है और ऐसा लगता है कि इस पद के द्वंद्व को ऊपर के पदों में उखाड़ फेंका गया है।

एमुलेटर

लोगों ने "कंप्यूटर की दुनिया" में एक नए शब्द अनुकरण का उपयोग करने का फैसला किया जब उन्होंने मौजूदा सिस्टम के कुछ हार्डवेयर भागों को सरल तरीके से बदलना शुरू कर दिया - अपने व्यवहार की नकल करते हुए और कम्प्यूटेशनल प्रकृति पर भरोसा करते हुए कुछ को तोड़ने के लिए सुनिश्चित न करें और सब कुछ छोड़ दें समतुल्य अवस्था।तो हमने इस के टुकड़े का अनुकरण किया है! (और पूरा अभी भी पहले की तरह काम करता है)

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

सिम्युलेटर

सबसे पहले, मैंने एमुलेटरों के बारे में कई टिप्पणियां देखीं या कुछ वास्तविक को प्रतिस्थापित किया लेकिन सिमुलेटर नहीं।

BUT फ्लाइट सिम्युलेटर का उपयोग एक वास्तविक चीज़ के लिए किया जाता है - यह पायलटों को प्रशिक्षित करता है, उन्हें कौशल और ज्ञान देता है और यह महंगे वास्तविक विमानों की जगह लेता है और बहुत पैसा बचाता है। और हम सिर्फ एक विमान-एमुलेटर नहीं कह सकते हैं क्योंकि हमारे पास आंतरिक भावना है कि यह इससे बहुत अधिक है, इसलिए हम इसे सिम्युलेटर कहते हैं : विमान सिम्युलेटर में अनुकरण किए गए रडार या ट्रांसपोंडर हो सकते हैं जो सच है।

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

सिम्युलेटर एक ऐसी चीज़ के मॉडलिंग के समान है जिसे हम किसी कारण (लागत, प्रौद्योगिकी, भौतिक असंभव) के लिए प्राप्त नहीं कर सकते हैं। यह आमतौर पर कुछ नए या अमूर्त या जटिल या बाजार, मौसम, दहन, उपयोगकर्ता की तरह ठीक से नहीं जाना जाता है। तो यहाँ उड़ान, ब्लैक होल, स्टॉक एक्सचेंज, सिमुलेशन आते हैं।

तो अंत में:

  1. सिमुलेटर एमुलेटर की तुलना में व्यापक है
  2. सिम्युलेटर सामान्य रूप से नकल को कम करने की क्षमता के साथ अधिक वैश्विक प्रक्रियाओं / चीजों की नकल / मॉडल करता है (जैसे कुछ ज्ञात मॉडल का प्रतिनिधित्व करने वाले प्रीसेट के साथ संधारित्र सिम्युलेटर)
  3. एमुलेटर निश्चित विनिर्देश, ज्ञात विशेषताओं और गुणों (जैसे एसएनईएस एमुलेटर, इंटेल 8087 या रोलैंड टीबी -303) के साथ कुछ हार्डवेयर उपकरणों की नकल करता है।

शब्दों की उत्पत्ति के लिए

सभी लैटिन से आए और इसका मतलब है:

  • अनुकरण "समान होना" है (अधिक आक्रामक और सीधा - प्रतिद्वंद्विता जैसा दिखता है)
  • अनुकरण "समान होने के लिए है" (अधिक धूर्त और मुश्किल - नकल की तरह दिखता है)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.