Simülatör mü yoksa Emülatör mü? Fark ne?


522

Simülasyon ve emülasyonun genel olarak ne anlama geldiğini anlasam da, neredeyse her zaman onlar hakkında kafam karışıyor. Mevcut donanımı / yazılımı taklit eden bir yazılım parçası oluşturduğumu varsayın, buna ne demeliyim? Bir simülatör mü yoksa bir emülatör mü?

Farkı programlama açısından açıklayan var mı?

Bonus: Bu iki terim arasındaki İngilizce farkı nedir? (Üzgünüm, ana dili İngilizce değilim :))


3
Mobil uygulama geliştirmede, iPhone'un bir simülatörü varken Android'in bir emülatörü vardır. Daha fazlası için - stackoverflow.com/questions/4544588/…
Vishnu Haridas

1
Vikipedi'nin bu bilgilendirici
ifadesini aldığını gördüm

bu da bunu açıklamakta yardımcı olabilir: programmers.stackexchange.com/questions/134746/…
Hakan Fıstık

Yanıtlar:


462

Öykünme, varolan bir hedefle eşleşecek şekilde dışa doğru gözlemlenebilir davranışı taklit etme işlemidir. Emülasyon mekanizmasının iç durumunun, taklit ettiği hedefin iç durumunu doğru bir şekilde yansıtması gerekmez.

Öte yandan simülasyon, hedefin temel durumunun modellenmesini içerir. İyi bir simülasyonun sonucu, simülasyon modelinin simüle ettiği hedefi taklit etmesidir.

İdeal olarak, simülasyona bakabilmeli ve orijinal hedefe bakıp bakmadığınızı da görebileceğiniz özellikleri gözlemleyebilmelisiniz. Uygulamada, performans nedenleriyle simülasyonun bazı kısayolları olabilir - yani, simülasyonun bazı iç yönleri aslında bir emülasyon olabilir.

MAME bir arcade oyun emülatörüdür; Hyperterm (çok iyi değil) bir terminal emülatörüdür. İstenen taklit davranışı elde etmek için çarşı makinesini veya terminali ayrıntılı olarak modellenmesine gerek yoktur.

Uçuş Simülatörü bir simülatör; SPICE bir elektronik simülatörüdür. Hedefin gerçekte ne yaptığını temsil etmek için hedefin her ayrıntısını mümkün olduğunca modelliyorlar.

DÜZENLEME: Diğer yanıtlar bir öykünmenin amacının öykünmekte olduğu nesnenin yerine geçebileceğine dikkat çekmiştir. Bu önemli bir nokta. Bir simülasyonun odak noktası daha çok hedefin dahili durumunun modellenmesidir - ve simülasyon mutlaka öykünmeye yol açmaz. Özellikle, bir simülasyon gerçek zamandan çok daha yavaş çalışabilir. Örneğin SPICE, gerçek bir elektronik devrenin yerini tutamaz (elektrik devrelerini bir SPICE simülasyonuna mükemmel bir şekilde bağlayan bir tür büyülü cihaz varsa bile.) Bir simülasyon Simülasyon her zaman emülasyona yol açmaz -


33
Bu tanımla, yazılımda gerçek dünyayı simüle etmek imkansız mıdır? Gerçek dünyanın temelini doğru bir şekilde temsil edebileceğimizi sanmıyorum - sadece gözlemlenebilir özellikleri taklit edin ... şimdilik.
Dolph

8
Bu "[Simülasyonlar] modeline, hedefin gerçekte ne yaptığını göstermek için hedefin her detayını mümkün olduğunca kabul etmiyorum ." Simülasyonlar, simülasyonun amacına göre yeterli ayrıntıya sahip hedef sistem modeline sahiptir. Örneğin, Uçuş Simülatörü muhtemelen denizdeki balıkları modellemez, çünkü simülasyon amacıyla işe yaramaz.
Hamdi


3
Görünüşe göre çoğu insan bu kelimeleri başka bir şekilde kullanıyor, öyle ki: simülasyon genellikle öykünmeden daha yüksek bir seviyede gerçekleşir (her iki kelimenin de belirli bir bağlamda nadiren birlikte kullanılmasına rağmen). Örneğin Apple'ın Simülatörüne karşı Android Emülatörü'ne bakın. Tanımların çoğuyla tutarlı kalmak ve gelecekteki ziyaretçiler için karışıklığı önlemek için bu cevaptaki kelimeler arasında geçiş yapmayı öneriyorum.
havacı

1
Bu cevabın 2 terimi değiştirdiğini düşünüyorum. Diğer tüm kaynaklar bunu şöyle açıklar: simülasyon = yinelenen davranış; öykünme = yinelenen iç çalışmalar. Bu da şu sonuca götürür: ikisi de SUBJECTIVE terimlerini korkutuyor.
metalim

350

Eğer bir uçuş simülatörü sizi A'dan B'ye taşıyabilseydi, o zaman bir uçuş emülatörü olurdu.

Bir emülatör gerçek kullanım için orijinalin yerini alabilir .
Sanal PC bir PC'ye öykünür.

Bir simülatör, çalışma ve analiz için bir modeldir.

Bir emülatörün her zaman gerçek zamanlıya yakın çalışması gerekir. Her zaman böyle olmayan bir simülatör için. Jeolojik bir simülasyon 1000 yıl / saniye veya daha fazla sürebilir.


6
@Henk "Kokpit" örneğiniz harika, ancak Toybuilder cevabını okuduktan sonra anladım. Teşekkürler :)
AraK

1
Sanal PC taklit etmez , sanallaştırır. QEMU, diğer taraftan, yaptığı taklit. Her iki durumda da, ad bir ipucu olmalıdır.
Jörg W Mittag

24
Sanal PC'nin bir PC'yi taklit ettiğini söylemenin güvenli olacağını düşünüyorum. PC'ye NASIL öykünür sanallaştırma yoluyla, ama bu daha çok bir uygulama detayı. Donanım sanallaştırmanın, hızlandırılmış CPU desteği, özel donanım aygıtı erişimi vb. Sağlayabilen bir öykünme kümesi olduğunu iddia edebilirsiniz
Lee B

Bekle, Sanal PC gerçek bir PC'nin neredeyse 1: 1 kopyasını sağlamıyor mu? (Yani, genel olarak sistem sanallaştırması, yalnızca dış davranışı simüle etmekle kalmamalı, örneğin ağ yığınının yeniden oluşturulmadığı uygulama sanallaştırmasının aksine, bir sistemin hemen hemen her köşesini ve başını takmalıdır).
Camilo Martin

1
Bahsedilen uçuş emülatörünü nerede bulabilirim?
Jerry Dodge

175

Simülasyon = Analiz ve çalışma için

Emülasyon = Yedek olarak kullanım için

Bir simülatör, modelleyen bir ortamdır, ancak bir emülatör, kullanımı orijinal cihaz veya sistemde olduğu gibi çoğaltır.

Simülatör, simüle ettiği bir şeyin aktivitesini taklit eder. "Görünür" (içeriğe bağlı olarak bu "görünür" ile çok şey gidebilir) simüle edilen şeyle aynı olmalıdır. Örneğin, uçuş simülatörü, sizi bir yerden başka bir yere taşımıyor olsa da, kullanıcıya gerçek bir uçuş olarak "görünür".

Öte yandan emülatör, aslında taklit edilen şeyin ne yaptığını " yapar " ve bunu yaparken de " aynı şeyi yapıyor gibi görünüyor ". Bir emülatör, taklit edilen şeyi taklit etmek için farklı protokoller seti kullanabilir, ancak sonuç / sonuç her zaman orijinal nesne ile aynıdır. Örneğin, EMU8086, bilgisayarınızdaki 8086 (= farklı protokoller ) üzerinde çalışmayan 8086 mikroişlemciyi öykünür , ancak verdiği çıktı gerçek bir 8086'nın vereceği şeydir.


9
Gördüğüm en net cevap. Benim için, sadece ekstra cümleyi atlayarak veya mükemmel zıt tanımlarınıza entegre ederek geliştirilebilir :-D
doughgle

40

Odak noktasında bir fark var. Emülatörler 1 , sistemin dahili olarak nasıl çalıştığına bakılmaksızın bir sistemin davranışını yeniden oluşturmaya odaklanır. Simülatörler 2 , bir sistemin bileşenlerini modellemeye odaklanır. Çoğunlukla bir sistemin ne yaptığını önemsediğinizde bir emülatör, nasıl çalıştığını önemsediğinizde bir simülatör kullanırsınız.

Genel İngilizce anlamlarına gelince, öykünme "nitelikler veya eylemlerde bir başkasına eşit olma ya da üstünlük çabasıdır ", simülasyon ise " davranışını, görünüşünü ya da özelliklerini modellemek , çoğaltmak, çoğaltmaktır". Çok fark yok. Öykünme æmulus , "çabalama, rakip" den gelir ve bir yüzey kolu benzerliğini gösteren "taklit" ve "görüntü" ile ilgilidir. "Simülasyon" dan gelir similis'in "gibi", belki de daha derin bir eşleşmeyi anlaşılacağı "benzer" kelimesini yapar.

Referanslar:

  1. Vikipedi: Emulator
  2. Vikipedi: Bilgisayar Simülasyonu
  3. Vikisözlük: öykünme
  4. Vikisözlük: simülasyon
  5. Etimoloji Çevrimiçi: öykünme
  6. Etimoloji Çevrimiçi: simülasyon

Cevabınız diğerlerinden farklı. Sanal PC size göre bir simülatör mü yoksa bir Emülatör mü?
Mikaël Mayer

@ MikaëlMayer: Cevapların çoğu diğerlerinden farklı, sadece bazıları benzer. Cevabımı Toybuilder ve cdiggens'lere eşdeğer (bu şekilde aynı şekilde sınıflandırılır) ve Jörg'lerle uyumlu olarak düşünürdüm. Sadece Pontus ve Aeolai'nin aksine.
outis

@ MikaëlMayer Sanal PC bir emülatördür. Gerçek bir bilgisayarın yapabileceği her şeyi yapabilir.
Bir kullanıcı

1
@Pri Sanal PC ile ilgili bu konuya verilen cevaba bakınız. Her ikisi de, perspektife bağlı. Örneğin, bunun bir simülasyon olduğunu söyleyebilirsiniz, çünkü gerçek bir bilgisayarın yaptığı gibi ısınamaz.
Mikaël Mayer

@ MikaëlMayer'a geri döndüğünüz için teşekkür ederiz, ancak dürüst olmak gerekirse, bazen bir sistemin emülatör veya simülatör olup olmadığını ayırt edemeyiz. İyi bir tartışma aralığı başlar. Umarım haklıyım! Kullanımı, İngilizce anlamı, işlevselliği, satın alınabilirliği temel alarak çok az fark vardır. Ama vaka çalışmamdaki tüm cevapları uyguladığımda, bu kolay bir şey değil
Bir kullanıcı

19

Emülatör ve simülatörün karşılaştırılabileceğini sanmıyorum. Her ikisi de bir şeyi taklit eder, ancak aynı akıl yürütme kapsamının bir parçası değildir, aynı bağlamda kullanılmazlar.

Kısacası, bir emülatör, kuruluşun bazı özelliklerini kopyalamak için tasarlanmıştır ve hatta gerçek ortamda bile değiştirebilir. Bir simülatörün orijinalin özelliklerini kopyalaması istenmez, sadece orijinaline benzer şekilde insanlara benzemesi istenir. Orijinalin özellikleri olmadan, simülatör gerçek ortamda yerini alamaz.

Bir emülatör , gerçek şeye ikame edilebilmesi için yeterince yakın bir şeyi taklit eden bir cihazdır.. Bir devrenin bir ROM (salt okunur bellek) devresi gibi çalışmasını istiyorsunuz, ancak içeriği istediğiniz gibi olana kadar ayarlamak da istersiniz. Taklit etmek istediğiniz ROM ile uyumlu fiziksel ve elektrik arayüzlerine sahip bir ROM emülatörü, bir kara kutu (CPU tabanlı olması muhtemel) kullanacaksınız. Emülatör, gerçek ROM yerine cihaza takılır. Anakart çalışırken herhangi bir fark görmeyecek, ancak taklit ROM içeriğini kolayca değiştirebileceksiniz. Aksi takdirde, emülatör tam olarak anakart bağlamında gerçek bir şey gibi davranacaktır (gerçek iç modelden dolayı biraz daha yavaş olabilir), ancak anakart bağlamından sadece tasarımcıya görünür ek işlevler (yeniden yazma gibi) olacaktır. . Öyleyse emülatör tanımı şu olacaktır: orijinali taklit eden bir şey, tüm işlevsel özelliklerine sahiptir,

Bir simülatör , başka bir düşünme bağlamında kullanılır, örneğin bir uçak simülatörü, bir araba simülatörü, vb. Simülasyon, gerçek şeyin sadece bir yönünün, genellikle bir insanın onu nasıl algılayacağı ve kontrol edeceği ile ilgili olanlara bakar. Simülatör, gerçek şeylerin işlevlerini yerine getirmez ve ona uygulanamaz. Uçak simülatörü uçmayacak veya birisini taşımayacak, amacı değil. Simülatörün çalışması amaçlanmamıştır, ancak pilota normal olanlardan başka amaçlar için gerçek bir şey gibi görünmesi, örneğin yer eğitimine izin vermek (tüm motor arızası gibi olağandışı durumlar dahil). Yani simülatör tanımı şu olabilir: insana görünebilen, orijinali gibi bir ölçüde genişleyen, ancak gerçek kullanım için değiştirilemeyen bir şey. Ayrıca pilot, simülatörün bir simülatör olduğunu bilecektir.

Herhangi bir ROM simülatörü göreceğimizi sanmıyorum, çünkü ROM insanlarla etkileşime girmiyor ya da herhangi bir uçak emülatörü görmeyeceğiz, çünkü uçakların gerçek dünyada aynı işlevleri yerine getiren bir yedekleri olamaz.

Benim görüşüme göre bir emülatör veya simülatör içindeki model herhangi bir şey olabilir ve orijinalin modeline benzer olmamalıdır. Bir ROM emülatör modeli muhtemelen donanım yerine yazılım olacaktır, MS Flight Simulator olduğundan daha fazla yazılım olamaz.

Her iki terimin bu karşılaştırması, dahili model üzerindeki farkı ortaya koyan mevcut seçili cevapla (Toybuilder'dan) çelişecektir, benim önerim ise farkın, sahte gerçek dünyadaki gerçek işlevi gerçekleştirmek için kullanıp kullanamayacağıdır ( kabul edilebilir bir ölçüde).

Düzlem simülatörünün, uçağın bir parçası olmayan dünyayı, güneşi, rüzgarı vb. Simüle etmek zorunda kalacağını unutmayın; çünkü bu gerçek ortamda değil, bir eğitim odasında kullanılır.

Bu, sadece orjinali taklit eden emülatör ile büyük bir farktır ve amacı, orijinali taklit etmeye gerek kalmadan kullanılmalıdır. Uçak içeriğine geri dönersek ... bir uçak emülatörü ne olabilir? Belki iki havaalanını birbirine bağlayan bir tren - aslında iki uçak adımı - yolcu taşıyan, gemide hostesler olan, araç içi gerçek bir uçak kabinine benzeyen ve kaptan "bayanlar ve baylar, irtifamız 10 km ve sıcaklık istikametimizde 24 ° C ". Faydasını görmek zordur, uğultu ...

Sonuç olarak, emülatör çalışmak için gerçek bir şeydir, simülatör kullanıcıyı kandırmak için sahte bir şeydir.


1
"ROM emülatörü" ifadesi bana sanal video oyun konsollarını hatırlatıyor.
Joe Z.

11

Basit Açıklama.

Bilgisayarınızı (Windows çalıştıran) Mac'e dönüştürmek istiyorsanız, aşağıdakilerden birini yapabilirsiniz:

(1) Windows'unuza bir Mac teması yükleyebilirsiniz. Yani, bilgisayarınız Mac gibi hissediyor, ancak aslında herhangi bir Mac programı çalıştıramazsınız.(SIMULATION)

(veya)

(2) Bilgisayarınızı Mac gibi çalışacak şekilde programlayabilirsiniz (bunun mümkün olup olmadığından emin değilim: P). Artık Mac programlarını başarıyla çalıştırabilir ve Mac'teki çıktıyı bekleyebilirsiniz.(EMULATION)

İlk durumda, Mac ile karşılaşabilirsiniz, ancak Mac ile aynı çıktıyı bekleyemezsiniz.
İkinci durumda, Mac'teki ile aynı çıktıyı bekleyebilirsiniz, ancak yine de bunun sadece bir PC olduğu gerçeği kalır.


3
Bu hem basit hem de tamamen yanlış. (2) öykünmeye yakındır, ancak (1) öykünme veya benzetim değildir.
Nick Bastin

10

Bir simülatör ve bir emülatör arasındaki farkı anlamak için, bir simülatörün gerçek bir cihazın davranışını taklit etmeye çalıştığını unutmayın. Örneğin, iOS Simulator durumunda, gerçek bir iPhone / iPad cihazının gerçek davranışını simüle eder. Bununla birlikte, Simülatörün kendisi, efektin gerçek bir iPhone ile aynı görünmesi için renderını gerçekleştirmek için Mac'te yüklü çeşitli kütüphaneleri (QuickTime gibi) kullanır. Ayrıca, Simulator üzerinde test edilen uygulamalar, Simulator tarafından anlaşılan bayt kodu olan x86 kodunda derlenmiştir. Gerçek bir iPhone cihazı ise tersine ARM tabanlı kod kullanır.

Buna karşılık, bir emülatör gerçek bir cihazın çalışmasını taklit eder. Bir emülatörde test edilen uygulamalar, gerçek cihaz tarafından kullanılan gerçek bayt kodunda derlenir. Öykünücü, bayt kodunu öykünücüyü çalıştıran ana bilgisayar tarafından çalıştırılabilecek bir forma çevirerek uygulamayı yürütür.

Simülasyon ve öykünme arasındaki ince farkı anlamak için, çocuğu bıçakla oynamanın tehlikeli olduğuna ikna etmeye çalıştığınızı düşünün. Bunu simüle etmek için, kendini bir bıçakla ve acı içinde inilti ile kesilmiş gibi davranıyorsun. Bunu taklit etmek için aslında kendinizi kestiniz.


7
Bunu evde çocuklarda denemeyin: D
Gearoid Murphy

9

Öykünücü, öykünülen sistemin kabul edeceği geçerli girdileri kabul edecek ve aynı çıktıyı veya sonucu üretecek bir sistem modelidir. Dolayısıyla, yazılımınız bir emülatördür, ancak taklit sistemin davranışını tam olarak üretirse.


Teşekkürler. Bence bu Öykünmenin çok kesin bir tanımı. Örneğin, Wine bir simülatördür çünkü Windows'da tanımlanan aynı kesin çıktıyı vermez mi?
AraK

6
WINE'ı emülatör veya simülatöre sokmaya çalışırken dikkatli olun. WINE, bir sistemdeki ikili dosyaları başka bir sistemin ikili API katmanında çalıştıran bir uyumluluk katmanıdır. Buna adaptör diyebilirsiniz. Sanırım simülatör de onu anlamanın kötü bir yolu değil, ama emülatörden çok daha yakın değil.
Lee B

ŞARAP bu spektrumda öykünmedir. Windows ikili dosyalarını bağlamanın dış görünüşüne sahiptir, ancak iç kısma bakacak olsaydınız, Windows hakkında hiçbir şey öğrenemezdiniz.
Nick Bastin

9

Birkaç yıl önce, inanıyorum ki, farkın özünü oldukça güzel bir şekilde yakalayan çok kısa bir atasözü buldum:

Bir simülatör bir görevdeki bir emülatördür.

Bununla, gerçek şeyi kullanamadığınızda bir emülatör kullandığınızı ve gerçek şeyi kullanamadığınızda bir simülatör kullandığınızı ve bunun hakkında bir şeyler bulmak istediğinizi kastediyorum .


8

Daha fazla veya daha az normal görüşte: Yazılımınız taklit sistemin yapabileceği her şeyi yapabilirse, bu bir emülatördür. Yalnızca bir sistemin (BT veya başka türlü) sonuçlarına yaklaşıyorsa, bu bir simülatördür.


5

Simülatör: Tercümana benzer. yani davranışı taklit etmek için gerçek kodu satır satır yürütür

Emulator: benzer yürütülebilir. yani derlenmiş kodu alır ve çalıştırır.


4

Bir emülatör gerçek sisteme bir alternatiftir, ancak gerçek sistemi optimize etmek, anlamak ve tahmin etmek için bir simülatör kullanılır.


3

İki terim arasındaki ayrım biraz belirsizdir. "Emülatörlerin" gömülü sistemlerde hata ayıklamanıza izin veren donanım parçaları olduğu bir dünyadan geliyor. Ve bir PC platformunda hata ayıklamak için ICE (In Circuit Emulation) özelliklerine sahip olmanıza izin veren ürünleri hatırlayın, bir parça donanımın davranışını simüle eden yazılım için bir miktar yanlış adlandırma olarak "Emülasyon" teriminin kullanımını buluyorum.

Terimin şu anki kullanımıyla ilgili gerekçem, Öykünme, işlevselliği "artırabileceği" ve yalnızca sistemin davranışının "makul" bir yaklaşımıyla ilgili olduğudur.

ICE: (Devre Emülasyonunda) Gerçek işlemci yerine bir anakarta takılan bir donanım parçası. Sistemi gerçek işlemci varmış gibi çalıştırmanızı sağlar. Tipik olarak bunlar, kullanıcının donanım kontrolü altında tek bir adımı kırmasını sağlamak için yazılımı tutkal mantığı ile yürütmek için üzerinde işlemcinin bir varyantına sahiptir. Bazıları günlük kaydı özelliği de sağlar. Çoğu modern işlemci geliştirme sistemi, ICE tipi öykünmeyi JTAG Emülasyonu ile değiştirir; burada JTAG, özel amaçlı bir seri bağlantı aracılığıyla işlemciyle konuşur ve tüm yürütme, panoya monte edilen işlemci tarafından gerçekleştirilir.

Yazılım EMÜLATÖRÜ: Bir 0x86 öykünücüsü, bir SPECIFIC 0x86 işlemcisinin döngü davranış modeli başına doğru döngü sağlamayan, yalnızca 0x86 montaj dilini yürütebilmekle ilgilidir. Bochs bunun bir örneğidir. QEMU bunu yapar, ancak özel çekirdek modülleri kullanarak "sanallaştırmaya" da izin verir.

SİMÜLATÖR: Texas Instruments, geliştiricilerin çalışma donanımına sahip olmadan önce kullanmaları için SPECIFIC işlemci çekirdeklerinin davranışının doğru bir SİMÜLASYONU olması amaçlanan yazılım geliştirmeleri için orada işlemcilerin DÖNGÜSÜ DOĞRU bir davranış modeli sağlar.

Yazılım EMULATOR artırıcı işlevsellik: BLEEM yalnızca Playstation Yazılımını çalıştırmanıza izin vermekle kalmadı, aynı zamanda ekranın Playstation'ın sağlayabildiğinden daha yüksek çözünürlükte çıkmasına izin verdi ve ayrıca mevcut olan GPU'ların daha gelişmiş özelliklerinden yararlandı. (örn. dokuları daha iyi karıştırma ve yumuşatma.)


3

Her ikisi de, girişleri kontrol etmek ve çıktıları gözlemlemek için bazı araçlara sahip olduğunuz bir nesnenin modelleri.

Temel fark şudur:

  • Bir emülatörle , çıktının taklit ettiğiniz nesnenin üreteceği ile tam olarak eşleşmesini istersiniz.
  • Bir simülatörle , çıktınızın belirli özelliklerinin nesnenin üreteceğine benzer olmasını istersiniz.

Bir örnek vereyim - bir sisteme yeni bir sensör (termometre gibi) eklemenin sistemi nasıl etkileyeceğini görmek için bazı sistem testleri yapmak istediğinizi varsayalım. Termometrenin ölçümünü içeren saniyede 8 kez bir mesaj gönderdiğini biliyorsunuz.

Simülasyon - henüz termometreniz yoksa, ancak bu mesaj hızının sisteminize aşırı yüklenmeyeceğini test etmek istiyorsanız, saniyede 8 kez rastgele bir sayı gönderen bir ünite takarak sensörü taklit edebilirsiniz. Sensörün gönderdiği gerçek değere dayanmayan herhangi bir testi çalıştırabilirsiniz.

Öykünme - 0,001 C'ye kadar ölçen çok pahalı bir termometreniz olduğunu ve yalnızca en yakın 0,5 C'ye kadar ölçen daha ucuz bir termometreden geçip geçemeyeceğinizi varsayalım. daha sonra okumayı en yakın 0,5 C'ye yuvarlar ve sıcaklık değerlerine dayanan testleri çalıştırır.

Simülasyonların davranışı tahmin etmek veya tahmin etmek için de kullanılabileceğini unutmayın. Hava tahmini ve sanal rüzgar tünelleri de dahil olmak üzere birçok uygulamada sonlu elemanlar analiz simülasyonları kullanılmaktadır.

Terimlerin tanımları:

  • öykünme - aşmak veya tam olarak eşleştirmek
  • simüle et - görünüşü veya karakteri taklit et

Not - Bu, bunun bir kopyası olarak işaretlenmiş bir sorunun cevabına çok benzer ( stackoverflow.com/questions/2174638/… ). Terimlerin bir tanımını ekledim (soruda istendi ancak henüz cevaplanmadı) ve ayrıca bir cihazı taklit etmekten daha fazlası için simülasyon (sonlu eleman analizi) kullanımları hakkında bazı bilgiler ekledim.
Jay Elston

2

Bu soru muhtemelen en iyi tarihsel pratiğe bakarak yanıtlanır.

Geçmişte, PlayStation & SEGA için PC'de oyun konsolu emülatörleri gördüm.

Simülatörler, sürüş veya uçuş gibi gerçek yaşam eylemlerini taklit etmeye çalışan yazılımlara atıfta bulunurlar. Gran Turismo ve Microsoft Flight Simulator, simülatörlerin klasik örnekleri olarak akla geliyor.

Dilsel farka gelince, öykünme genellikle birinin (ya da bir şeyin) övgüye değer özelliklerini ya da davranışlarını kopyalama eylemini ifade eder. Öykünme, bir kişinin alay konusu için kopyalandığı taklitten farklıdır.

'Simülasyon' fiilinin dilsel anlamı, esasen birini veya bir şeyi taklit etmek veya taklit etmektir.


2

Bilgisayar biliminde, hem simülasyon hem de öykünme, orijinal sistemle aynı girdilerden aynı çıktıları üretir; Bununla birlikte, bir öykünme aynı zamanda bunu başarmak için aynı işlemleri kullanır ve aynı malzemelerden yapılır . Bir simülasyon orijinal sistemden farklı işlemler kullanır. Ayrıca, aynı süreçleri kullanan ancak farklı bir malzemeden yapılmış olan ikisinin ara maddesi olan replikasyon terimi de dikkat çekicidir.

Eski Super Mario Bros oyunumu bilgisayarımda çalıştırmak istersem SNES öykünücüsü kullanıyorum , çünkü oyunu çalıştırmak için aynı veya benzer bilgisayar kodunu (süreçleri) kullanıyor ve aynı veya benzer malzemeleri (silikon çip) kullanıyor . Ancak, bir Boeing 747 jetini bilgisayarımda uçmak istersem, bir uçuş simülatörü kullanıyorum çünkü orijinalden tamamen farklı işlemler kullanıyor (gerçek kanatlar, asansör veya aerodinamik yok!).

Bir bilgisayar bilimi sözlüğünden alınan tam tanımlar şunlardır:

Bir simülasyon, sistemin girişleri ve çıkışları arasındaki fonksiyonel bağlantıları yakalayan, ancak zorunlu olarak sistemin kendisiyle aynı veya buna benzer süreçlere dayanmayan bir sistemin modelidir.

Çoğaltma, sistemin girdi ve çıktıları arasındaki işlevsel bağlantıları yakalayan ve sistemin kendisiyle aynı veya ona benzeyen işlemlere dayanan bir sistemin modelidir.

Bir öykünme, o sistemin sistemiyle aynı veya bu sisteme benzeyen veya bu sistemle aynı malzemelerden yapılmış süreçlere dayanarak, sistemin giriş ve çıkışları arasındaki işlevsel bağlantıları yakalayan bazı sistemlerin modelidir. .

Kaynak: Açık Üniversite, M366 Terimler Sözlüğü 1.1, 2007


2

Simülasyon, başka bir şeye benzeyen ancak tamamen farklı bir şekilde uygulanan bir sistemdir . Bir sistemin temel davranışını sağlar ancak simüle edilen sistemin tüm kurallarına uymayabilir. Size bir şeyin nasıl çalıştığı hakkında bir fikir vermek için var.

Bir öykünme, tam olarak başka bir şey gibi davranan ve öykünülen sistemin tüm kurallarına uyan bir sistemdir. Emüle edilen sistemin girişleri ve çıkışları ile ikili uyumlu olana kadar, ancak orijinal taklit sistemin ortamından farklı bir ortamda çalışan başka bir sistemin etkili bir şekilde tam bir kopyasıdır. Kurallar sabittir ve değiştirilemez veya sistem başarısız olur.


2

Kelimelerin tanımları farkı en iyi tanımlar. Bir google araması aşağıdaki taklit ve taklit tanımlarını verir:

görünümünü veya karakterini taklit etmek .

tipik olarak taklit yoluyla eşleşmeyi veya aşmayı (bir kişi veya başarı) taklit edin.

Bir simülasyon bir sistemi taklit eder. Bir öykünme, bir sistemi o kadar iyi simüle eder ve onu değiştirebilir veya hatta aşabilir.

Hesaplamada, bir emülasyon, taklit ettiği sistemin yerine bir damla olacaktır. Çoğu zaman taklit ettiği sistemden daha iyi performans gösterir. Örneğin, oyun konsolu emülatörleri genellikle daha fazla donanım uyumluluğu, daha iyi performans ve gelişmiş ses / video kalitesi gibi iyileştirmeler yapar.

Öte yandan simülasyonlar model olmaları ile sınırlıdır. Bir sistemi taklit etmek için en iyi girişimdir, ancak bunun yerini almazlar. Donanım taklitçileri olabilir, çünkü donanım taklit edilebilir ve farkı söylemek zor olacaktır. Çiftçilik Emülatörü yoktur, çünkü gerçek çiftçiliğin yerini alabilecek bir emülasyon yoktur. Nasıl daha iyi çiftçilik yapılacağına dair fikir edinmek için yalnızca bir tarım modelini taklit edebiliriz.


1

Bir Sanal Bilgisayar bir Bilgisayarı taklit etmeye çalışır , Programcı AMA açısından aynı zamanda bir Elektrik Mühendisi açısından bir Bilgisayarı simüle eder .


0

emülatörü:

Sadece İngilizce bildiğiniz ve Çin'de olduğunuz bir durumu düşünün. Çinli biriyle etkileşim kurmak için bir çevirmene ihtiyacınız var. Şimdi çevirmenin rolü, sizden İngilizce giriş isteyip Çince'ye dönüşmesi ve bu girdiyi Çinli kişiye vermesi ve Çinli kişiden yanıt alması ve İngilizceye dönüşmesi ve çıktıyı İngilizce olarak vermesidir. Şimdi bu çevirmen ve Çinli kişi emülatör. Her iki biçerdöver de, İngiliz kişiyle iletişim kuruyormuşsunuz gibi benzer işlevler sağlar. Yani donanım farklı olabilir ama işlevsellik aynı olacaktır.

Simülatör:

SPICE veya uçuş simülatöründen daha iyi örnek veremem. Her ikisi de donanım bileşeni davranışını, donanıma benzer davranacak olan yazılım veya matematik modeliyle değiştirecektir.

Sonuçta, hangi çözümün proje ihtiyaçlarına daha uygun olduğu bağlamına bağlıdır.


0

Simülatör , Emulator'dan daha geniş bir şeydir ve bu terimlerin ikiliği yukarıdaki yazılarda aşırı düşünülmüş gibi görünüyor.

emülatörü

İnsanlar , mevcut sistemin bazı donanım parçalarını basit bir şekilde değiştirmeye başladığında "bilgisayar dünyasında" yeni bir kelime öykünmesi kullanmaya karar verdiler - davranışlarını taklit ederek ve bir şeyi kırmadığından ve her şeyi içinde bırakmadığından emin olmak için hesaplama doğasına güvenerek eşdeğer durum. Biz de bunun parçasını taklit ettik! (ve bütün hâlâ eskisi gibi çalışıyor)

Emülatör daha önce bilinen ve var olan bir şeyin (sanal yongalar, devre kartları, elektronik cihazlar) dijital ortamda dar anlamda değiştirme ve sanallaştırma - bir yazılım parçası olarak dijital biçimde sunulması - olarak kullanılır. Böylece dünya daha dijital hale geldiğinde ve öykünücü kelimesini kitlelere getirdiğinde , kitleler buna belirsizlik (veya ek nedenler) ekledi.

Simülatör

Her şeyden önce, emülatörlerin gerçek bir şey yaptığını veya değiştirdiğini, ancak simülatörlerin olmadığını birçok yorum gördüm.

AMA uçuş simülatörü gerçek bir şey için kullanılır - pilotları eğitir, onlara beceri ve bilgi verir ve pahalı gerçek uçakların yerini alır ve çok para kazandırır. Ve sadece bir uçak emülatörü söyleyemeyiz, çünkü bunun bundan çok daha fazla olduğuna dair içsel bir hisimiz var, bu yüzden ona simülatör diyoruz :) Düzlem simülatörü doğru öykünmüş radar veya transponder içerebilir.

Simülatörlerin analiz ve çalışma (ve gerçek bir şey için emülatörler) için kullanıldığına dair çelişkili ifadeler, ancak bu analiz ve çalışma , taklit GSM panolarından daha az gerçek bir şey değildir (yaşadığımız bilgi çağında daha fazla). Analiz, işletmeye değer katar, maliyetleri düşürür veya değiştirilen (taklit edilen) donanımdan daha az olmayan kârlara dikkat çeker.

Simülatör, bir nedenden dolayı elde edemediğimiz bir şeyin modellenmesine benzer (maliyet, teknoloji, fiziksel imkansızlık). Genellikle pazar, hava durumu, yanma, kullanıcı gibi yeni veya soyut veya karmaşık veya karmaşık bir şey için simüle edilir. İşte uçuş, kara delik, borsa, simülasyonlar.

En sonunda:

  1. Simulator, Emulator'dan daha geniştir
  2. Simülatör, taklitleri daraltma yeteneği ile daha genel süreçleri / genel olarak şeyleri taklit etme / modelleme eğilimindedir (örneğin, bilinen bazı modelleri temsil eden ön ayarlı kapasitör simülatörü)
  3. Emülatör belirli donanım aygıtlarını belirli özelliklere, bilinen özelliklere ve özelliklere (örn. SNES emülatörü, Intel 8087 veya Roland TB-303) taklit etme eğilimindedir.

Kelime kökenli

Hepsi Latince'den geliyor ve şu anlama geliyor:

  • öykünmek "eşit olmak" tır (daha agresif ve anlaşılır - rekabet gibi görünür)
  • benzetmek "benzer olmak" tır (daha kurnaz ve aldatıcı gibi görünür - taklit)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.