Simulator atau Emulator? Apa bedanya?


523

Sementara saya mengerti apa arti simulasi dan emulasi secara umum, saya hampir selalu bingung tentang mereka. Asumsikan bahwa saya membuat perangkat lunak yang meniru perangkat keras / perangkat lunak yang ada, apa yang harus saya sebut? Simulator atau emulator?

Adakah yang bisa menjelaskan perbedaan dalam hal pemrograman?

Bonus: Apa perbedaan dalam bahasa Inggris antara kedua istilah ini? (Maaf, saya bukan penutur asli :))


3
Dalam pengembangan aplikasi seluler, iPhone memiliki simulator sementara Android memiliki emulator. Lebih lanjut di sini - stackoverflow.com/questions/4544588/...
Vishnu Haridas

1
Saya menemukan pendapat Wikipedia tentang ini informatif: en.wikipedia.org/wiki/Emulator#Emulation_versus_simulation
AmigoNico

ini juga bisa membantu dalam menjelaskan ini: programmers.stackexchange.com/questions/134746/…
Hakan Fıstık

Jawaban:


463

Persaingan adalah proses meniru perilaku yang bisa diamati secara lahiriah agar sesuai dengan target yang ada. Keadaan internal dari mekanisme persaingan tidak harus secara akurat mencerminkan keadaan internal dari target yang ditiru.

Simulasi, di sisi lain, melibatkan pemodelan keadaan yang mendasari target. Hasil akhir dari simulasi yang baik adalah bahwa model simulasi akan meniru target yang disimulasikan.

Idealnya, Anda harus dapat melihat ke dalam simulasi dan mengamati properti yang juga akan Anda lihat jika Anda melihat ke dalam target asli. Dalam praktiknya, mungkin ada beberapa jalan pintas ke simulasi karena alasan kinerja - yaitu, beberapa aspek internal simulasi sebenarnya bisa menjadi persaingan.

MAME adalah emulator game arcade; Hyperterm adalah emulator terminal (tidak terlalu baik). Tidak perlu memodelkan mesin arcade atau terminal secara detail untuk mendapatkan perilaku meniru yang diinginkan.

Flight Simulator adalah simulator; SPICE adalah simulator elektronik. Mereka memodelkan sebanyak mungkin setiap detail target untuk mewakili apa yang dilakukan target dalam kenyataan.

EDIT: Respons lain menunjukkan bahwa tujuan emulasi adalah untuk dapat menggantikan objek yang ditiru. Itu poin penting. Fokus simulasi lebih pada pemodelan keadaan internal target - dan simulasi tidak selalu mengarah pada persaingan. Secara khusus, simulasi dapat berjalan jauh lebih lambat daripada waktu nyata. SPICE, misalnya, tidak dapat menggantikan sirkuit elektronik yang sebenarnya (bahkan jika mengasumsikan ada semacam perangkat magis yang secara sempurna menghubungkan sirkuit listrik ke simulasi SPICE.) Simulasi Simulasi tidak selalu mengarah pada persaingan -


33
Dengan definisi ini, apakah karena itu tidak mungkin untuk mensimulasikan dunia nyata dalam perangkat lunak? Saya tidak berpikir kita dapat secara akurat mewakili keadaan mendasar dari dunia nyata - hanya meniru sifat yang dapat diamati ... untuk saat ini.
Dolph

8
Saya tidak setuju dengan model "[Simulasi] ini sebanyak mungkin setiap detail target untuk mewakili apa yang target lakukan dalam kenyataan." Simulasi memiliki model sistem target dengan detail yang cukup berdasarkan tujuan simulasi. Sebagai contoh, Flight Simulator mungkin tidak memodelkan ikan di laut karena tidak berguna untuk tujuan simulasi.
Hamdi

18
Persis jawaban yang berlawanan di sini: stackoverflow.com/questions/2174638/…
smwikipedia

3
Tampaknya kebanyakan orang menggunakan kata-kata ini dengan cara lain, seperti dalam: simulasi umumnya terjadi pada tingkat yang lebih tinggi daripada emulasi (meskipun kedua kata tersebut jarang digunakan bersama dalam konteks tertentu). Lihat misalnya Android Emulator versus Apple's Simulator. Saya mengusulkan beralih di sekitar kata-kata dalam jawaban ini untuk tetap konsisten dengan mayoritas definisi, dan untuk mencegah kebingungan bagi pengunjung masa depan.
penerbang

1
Saya pikir jawaban ini mengganti 2 istilah. Semua sumber lain menjelaskannya sebagai: simulasi = perilaku duplikat; emulation = duplikat inner work. Yang mengarah pada kesimpulan sebagai berikut: keduanya merupakan istilah SUBJECTIVE.
metalim

351

Jika simulator penerbangan dapat memindahkan Anda dari A ke B maka itu akan menjadi emulator-penerbangan.

Sebuah emulator dapat menggantikan yang asli untuk penggunaan nyata .
PC Virtual mengemulasi PC.

Simulator adalah model untuk studi dan analisis.

Emulator harus selalu beroperasi dekat dengan waktu nyata. Untuk simulator yang tidak selalu demikian. Simulasi geologis dapat dilakukan 1000 tahun / detik atau lebih.


6
@Henk Contoh "kokpit" Anda sangat fantastis meskipun saya memahaminya setelah saya membaca jawaban Toybuilder. Terima kasih :)
AraK

1
Virtual PC tidak meniru, itu virtualisasi. QEmu, di sisi lain, memang meniru. Dalam kedua kasus, nama harus menjadi petunjuk.
Jörg W Mittag

24
Saya pikir akan lebih aman untuk mengatakan bahwa PC Virtual mengemulasi PC. CARA mengemulasi PC melalui virtualisasi, tetapi itu lebih merupakan detail implementasi. Anda mungkin berpendapat bahwa virtualisasi perangkat keras adalah superset dari emulasi, yang dapat memberikan dukungan CPU yang dipercepat, akses perangkat keras eksklusif, dll.
Lee B

Tunggu, bukankah Virtual PC menyediakan replika PC nyata 1: 1? (Maksud saya, virtualisasi sistem secara umum tidak hanya mensimulasikan perilaku eksternal tetapi cukup banyak setiap sudut dan celah sistem, tidak seperti virtualisasi aplikasi di mana misalnya, tumpukan jaringan tidak diciptakan kembali).
Camilo Martin

1
Di mana saya dapat menemukan emulator penerbangan tersebut?
Jerry Dodge

175

Simulasi = Untuk analisis dan studi

Emulasi = Untuk penggunaan sebagai pengganti

Simulator adalah lingkungan yang dimodelkan tetapi emulator adalah yang mereplikasi penggunaan seperti pada perangkat atau sistem asli.

Simulator meniru aktivitas dari sesuatu yang disimulasikan. Itu "muncul" (banyak yang bisa pergi dengan ini "muncul", tergantung pada konteksnya) menjadi sama dengan hal yang disimulasikan. Misalnya, simulator penerbangan "tampaknya" menjadi penerbangan nyata bagi pengguna, meskipun itu tidak memindahkan Anda dari satu tempat ke tempat lain.

Emulator, di sisi lain, sebenarnya " melakukan " apa yang ditiru oleh benda, dan dengan melakukan itu juga " tampaknya melakukan hal yang sama ". Emulator dapat menggunakan seperangkat protokol yang berbeda untuk meniru hal yang sedang ditiru, tetapi hasil / hasil selalu sama dengan objek aslinya. Sebagai contoh, EMU8086 mengemulasi mikroprosesor 8086 di komputer Anda, yang jelas tidak berjalan di 8086 (= protokol yang berbeda ), tetapi output yang diberikannya adalah apa yang sebenarnya diberikan oleh 8086.


9
Jawaban paling jelas yang pernah saya lihat. Bagi saya, hanya dapat ditingkatkan dengan menghilangkan kalimat tambahan atau mengintegrasikannya ke dalam definisi kontras Anda yang sangat baik :-D
doughgle

40

Ini perbedaan fokus. Emulator 1 fokus pada menciptakan kembali perilaku suatu sistem, tanpa memperhatikan bagaimana fungsi sistem secara internal. Simulator 2 fokus pada pemodelan komponen suatu sistem. Anda menggunakan emulator ketika Anda sangat peduli tentang apa yang dilakukan sistem, dan simulator ketika Anda peduli bagaimana melakukannya.

Adapun makna bahasa Inggris mereka secara umum, emulasi adalah "usaha untuk menyamakan atau untuk unggul dalam kualitas atau tindakan ", sementara simulasi adalah "untuk memodelkan , mereplikasi, menduplikasi perilaku, penampilan atau sifat". Tidak banyak perbedaan. Emulasi berasal dari æmulus , "berjuang, menyaingi," dan terkait dengan "meniru" dan "gambar," yang menunjukkan kemiripan permukaan-tuas. "Simulasi" berasal dari similis "seperti", seperti halnya kata "serupa," yang mungkin menunjukkan kesesuaian yang lebih dalam.

Referensi:

  1. Wikipedia: Emulator
  2. Wikipedia: Simulasi Komputer
  3. Wiktionary: emulasi
  4. Wiktionary: simulasi
  5. Etymology Online: emulasi
  6. Etymology Online: simulasi

Jawaban Anda berbeda dari yang lain. Apakah Virtual PC simulator atau Emulator menurut Anda?
Mikaël Mayer

@ MikaëlMayer: Banyak jawaban berbeda dari yang lain, dengan hanya beberapa yang serupa. Saya akan menganggap jawaban saya setara (dalam hal-hal itu akan diklasifikasikan dengan cara yang sama) untuk Toybuilder dan cdiggens, dan kompatibel dengan Jörg's. Itu bertentangan hanya dengan Pontus dan Aeolai.
outis

@ MikaëlMayer Virtual PC adalah emulator. Itu dapat melakukan segala hal yang dapat dilakukan PC nyata.
Seorang pengguna

1
@Pri Lihat jawaban utas ini tentang Virtual PC. Keduanya, tergantung dari perspektif. Misalnya Anda masih bisa mengatakan itu simulasi karena tidak bisa memanaskan seperti komputer sungguhan.
Mikaël Mayer

Terima kasih telah kembali @ MikaëlMayer, tetapi jujur ​​saja, beberapa kali kami tidak dapat benar-benar membedakan apakah suatu sistem adalah emulator atau simulator. Berbagai perdebatan dimulai. Semoga saya benar! Sedikit perbedaan yang didasarkan pada penggunaan, makna bahasa Inggris, fungsionalitas, keterjangkauan. Tetapi ketika saya menerapkan semua jawaban dalam studi kasus saya, ini bukan hal yang mudah
Pengguna

19

Saya tidak berpikir emulator dan simulator dapat dibandingkan. Keduanya meniru sesuatu, tetapi bukan bagian dari cakupan penalaran yang sama, keduanya tidak digunakan dalam konteks yang sama.

Singkatnya: sebuah emulator dirancang untuk menyalin beberapa fitur orginial dan bahkan dapat menggantinya di lingkungan nyata. Simulator tidak dirancang untuk menyalin fitur asli, tetapi hanya untuk terlihat mirip dengan aslinya untuk manusia. Tanpa fitur asli, simulator tidak dapat menggantikannya di lingkungan nyata.

Sebuah emulator adalah perangkat yang meniru sesuatu yang cukup dekat sehingga dapat diganti dengan hal yang nyata. Misalnya Anda ingin sirkuit berfungsi seperti sirkuit ROM (hanya baca memori), tetapi juga ingin menyesuaikan konten hingga itu yang Anda inginkan. Anda akan menggunakan emulator ROM, kotak hitam (kemungkinan berbasis CPU) dengan antarmuka fisik dan listrik yang kompatibel dengan ROM yang ingin Anda tiru. Emulator akan dicolokkan ke perangkat menggantikan ROM yang sebenarnya. Motherboard tidak akan melihat perbedaan apa pun saat bekerja, tetapi Anda dapat dengan mudah mengubah konten emulasi-ROM. Mengatakan sebaliknya emulator akan bertindak persis seperti hal yang sebenarnya dalam konteks motherboard-nya (mungkin sedikit lebih lambat karena model internal yang sebenarnya) tetapi akan ada fungsi tambahan (seperti menulis ulang) yang hanya terlihat oleh desainer, di luar konteks motherboard. . Jadi definisi emulator adalah: sesuatu yang meniru aslinya, memiliki semua fitur fungsionalnya,

Sebuah simulator digunakan dalam konteks pemikiran lain, misalnya simulator pesawat, simulator mobil, dll Simulasi akan mengurus hanya beberapa aspek dari hal yang sebenarnya, biasanya yang berkaitan dengan bagaimana manusia akan melihat dan mengendalikannya. Simulator tidak akan melakukan fungsi hal-hal nyata, dan tidak dapat dipertahankan untuk itu. Simulator pesawat tidak akan terbang atau membawa seseorang, itu bukan tujuannya sama sekali. Simulator tidak dimaksudkan untuk bekerja, tetapi untuk menampakkan kepada pilot, entah bagaimana, menyukai hal yang sebenarnya untuk tujuan selain yang normal, misalnya untuk memungkinkan pelatihan di lapangan (termasuk dalam situasi yang tidak biasa seperti kegagalan semua mesin). Jadi definisi simulator adalah: sesuatu yang dapat muncul untuk manusia, sampai batas tertentu, seperti aslinya, tetapi tidak dapat menggantikannya untuk penggunaan aktual. Selain itu pilot akan tahu bahwa simulator adalah simulator.

Saya tidak berpikir kita akan melihat simulator ROM, karena ROM tidak berinteraksi dengan manusia, kita juga tidak akan melihat emulator pesawat, karena pesawat tidak dapat memiliki pengganti melakukan fungsi yang sama di dunia nyata.

Dalam pandangan saya model di dalam sebuah emulator atau simulator dapat berupa apa saja, dan tidak harus mirip dengan model aslinya. Model emulator ROM kemungkinan akan berupa perangkat lunak dan bukan perangkat keras, MS Flight Simulator tidak dapat lebih dari perangkat lunak itu.

Perbandingan kedua istilah ini akan bertentangan dengan jawaban yang saat ini dipilih (dari Toybuilder) yang menempatkan perbedaan pada model internal, sedangkan saran saya adalah perbedaannya adalah apakah palsu dapat atau tidak dapat digunakan untuk melakukan fungsi aktual di dunia nyata ( untuk beberapa perpanjangan yang diterima, memang).

Perhatikan bahwa simulator pesawat juga harus mensimulasikan bumi, matahari, angin, dll, yang bukan bagian dari pesawat, sehingga simulator pesawat harus meniru beberapa aspek pesawat, serta lingkungan dari pesawat. Pesawat karena tidak digunakan di lingkungan yang sebenarnya ini, tetapi di ruang pelatihan.

Ini adalah perbedaan besar dengan emulator yang hanya mengemulasi asli, dan tujuannya adalah untuk digunakan di lingkungan asli tanpa perlu meniru itu. Kembali ke konteks pesawat ... apa yang bisa menjadi emulator pesawat? Mungkin sebuah kereta yang akan menghubungkan dua bandara - sebenarnya dua tangga pesawat - yang membawa penumpang, dengan pramugari di dalam, dengan interior mobil yang tampak seperti kabin pesawat yang sebenarnya, dan dengan kapten yang mengatakan "nyonya dan tuan-tuan, ketinggian kami currenlty 10 km dan suhu di tempat tujuan kami adalah 24 ° C ". Manfaatnya sulit dilihat, ...

Sebagai kesimpulan, emulator adalah hal yang nyata dimaksudkan untuk bekerja, simulator adalah palsu yang dimaksudkan untuk menipu pengguna.


1
Ungkapan "ROM emulator" mengingatkan saya pada konsol video game virtual.
Joe Z.

11

Penjelasan Sederhana.

Jika Anda ingin mengubah PC (menjalankan Windows) ke Mac, Anda dapat melakukan salah satu dari ini:

(1) Anda cukup menginstal tema Mac di Windows Anda. Jadi, PC Anda terasa lebih seperti Mac, tetapi Anda tidak dapat benar-benar menjalankan program Mac.(SIMULATION)

(atau)

(2) Anda dapat memprogram PC Anda untuk berjalan seperti Mac (saya tidak yakin apakah ini mungkin: P). Sekarang Anda bahkan dapat menjalankan program Mac dengan sukses dan mengharapkan hasil yang sama seperti pada Mac.(EMULATION)

Dalam kasus pertama, Anda dapat mengalami Mac, tetapi Anda tidak dapat mengharapkan output yang sama seperti pada Mac.
Dalam kasus kedua, Anda dapat mengharapkan output yang sama seperti pada Mac, tetapi kenyataannya masih hanya berupa PC.


3
Ini sederhana dan sepenuhnya salah. (2) dekat dengan emulasi, tetapi (1) bukan emulasi atau simulasi.
Nick Bastin

10

Untuk memahami perbedaan antara simulator dan emulator, perlu diingat bahwa simulator mencoba meniru perilaku perangkat nyata. Misalnya, dalam kasus iOS Simulator, ini mensimulasikan perilaku nyata perangkat iPhone / iPad yang sebenarnya. Namun, Simulator itu sendiri menggunakan berbagai pustaka yang diinstal pada Mac (seperti QuickTime) untuk melakukan rendering sehingga efeknya terlihat sama dengan iPhone yang sebenarnya. Selain itu, aplikasi yang diuji pada Simulator dikompilasi menjadi kode x86, yang merupakan kode byte yang dipahami oleh Simulator. Perangkat iPhone asli, sebaliknya, menggunakan kode berbasis ARM.

Sebaliknya, emulator mengemulasi kerja perangkat nyata. Aplikasi yang diuji pada emulator dikompilasi ke dalam kode byte aktual yang digunakan oleh perangkat nyata. Emulator mengeksekusi aplikasi dengan menerjemahkan kode byte ke dalam bentuk yang dapat dieksekusi oleh komputer host yang menjalankan emulator.

Untuk memahami perbedaan halus antara simulasi dan emulasi, bayangkan Anda mencoba meyakinkan seorang anak bahwa bermain dengan pisau itu berbahaya. Untuk mensimulasikan ini, Anda berpura-pura memotong diri Anda dengan pisau dan mengerang kesakitan. Untuk meniru ini, Anda benar-benar memotong diri sendiri.


7
Jangan coba ini di rumah anak-anak: D
Gearoid Murphy

9

Emulator adalah model sistem yang akan menerima input valid apa pun yang diterima oleh sistem yang ditiru, dan menghasilkan output atau hasil yang sama. Jadi perangkat lunak Anda adalah sebuah emulator, hanya jika itu mereproduksi perilaku sistem yang ditiru secara tepat.


Terima kasih. Saya pikir ini adalah definisi Emulasi yang sangat tepat. Jadi, misalnya Wine adalah simulator karena ia tidak harus memberikan output yang persis sama seperti yang didefinisikan pada Windows?
AraK

6
Berhati-hatilah untuk mencoba menyemir WINE menjadi salah satu / atau emulator atau simulator. WINE adalah lapisan kompatibilitas, yang membuat binari dari satu sistem berjalan pada lapisan API biner dari sistem lain. Anda mungkin menyebutnya adaptor. Saya kira simulator juga bukan cara yang buruk untuk memahaminya, tetapi tidak terlalu dekat dengan emulator.
Lee B

WINE adalah emulasi, dalam spektrum ini. Ini memiliki tampilan luar yang menghubungkan binari Windows tetapi jika Anda melihat ke internal Anda tidak akan belajar apa-apa tentang Windows.
Nick Bastin

9

Beberapa tahun yang lalu saya datang dengan pepatah yang sangat singkat yang, saya percaya, menangkap esensi perbedaan dengan sangat baik:

Simulator adalah emulator pada sebuah misi.

Maksud saya adalah Anda menggunakan emulator ketika Anda tidak dapat menggunakan hal yang nyata, dan Anda menggunakan simulator ketika Anda tidak dapat menggunakan hal yang nyata dan Anda ingin mencari tahu tentang hal itu .


8

Dalam bahasa yang kurang lebih normal: Jika perangkat lunak Anda dapat melakukan semua hal yang dapat dilakukan sistem tiruan, ini adalah emulator. Jika hanya mendekati hasil dari sistem (IT atau lainnya), itu adalah simulator.


5

Simulator: mirip dengan penerjemah. yaitu benar-benar mengeksekusi kode nyata sejalan dengan baris untuk meniru perilaku

Emulator: ini adalah executable yang serupa. yaitu mengambil kode yang dikompilasi dan menjalankannya.


4

Sebuah emulator adalah alternatif dari sistem nyata tetapi simulator digunakan untuk mengoptimalkan, memahami dan memperkirakan sistem nyata.


3

Perbedaan antara kedua istilah ini agak kabur. Datang dari dunia tempat "Emulator" adalah perangkat keras yang memungkinkan Anda men-debug sistem tertanam. Dan ingat produk yang memungkinkan Anda untuk memiliki ICE (In Circuit Emulation) kemampuan untuk men-debug platform PC, saya menemukan penggunaan istilah "Emulation" menjadi sedikit keliru untuk perangkat lunak yang SIMULAT perilaku perilaku perangkat keras.

Pembenaran saya untuk penggunaan istilah ini saat ini adalah Emulasi adalah bahwa ia mungkin "menambah" fungsionalitas, dan hanya berkaitan dengan perkiraan "wajar" dari perilaku sistem.

ICE: (In Circuit Emulation) Sepotong perangkat keras yang dicolokkan ke papan di tempat prosesor yang sebenarnya. Ini memungkinkan Anda untuk menjalankan sistem seolah-olah prosesor yang sebenarnya ada. Biasanya ini memiliki varian prosesor pada mereka untuk benar-benar menjalankan perangkat lunak dengan logika lem untuk memungkinkan pengguna untuk memutuskan eksekusi dan satu langkah di bawah kontrol perangkat keras. Beberapa juga akan memberikan kemampuan logging. Sebagian besar sistem pengembangan prosesor modern telah menggantikan emulasi tipe ICE dengan JTAG Emulation, di mana JTAG hanya berbicara kepada prosesor melalui tautan serial tujuan khusus dan semua eksekusi dilakukan oleh prosesor yang terpasang di papan.

Perangkat Lunak EMULATOR: Sebuah emulator 0x86 hanya berkaitan dengan kemampuan untuk mengeksekusi bahasa rakitan 0x86, tidak menyediakan model perilaku siklus per siklus yang akurat dari prosesor 0x86 KHUSUS. Bochs adalah contohnya. QEMU melakukan ini, tetapi juga memungkinkan "virtualisasi" menggunakan modul kernel khusus.

SIMULATOR: Texas Instruments menyediakan model perilaku CYURLE ACCURATE dari prosesor yang ada untuk pengembangan perangkat lunak yang dimaksudkan untuk menjadi SIMULASI yang akurat dari perilaku inti prosesor KHUSUS bagi pengembang untuk digunakan sebelum memiliki perangkat keras yang berfungsi.

Fungsionalitas penambahan perangkat lunak EMULATOR: BLEEM tidak hanya memungkinkan Anda untuk menjalankan Perangkat Lunak Playstation, tetapi juga memungkinkan tampilan menjadi output dengan resolusi lebih tinggi daripada yang dapat disediakan oleh Playstation, dan juga memanfaatkan kemampuan GPU yang lebih canggih yang tersedia. (Yaitu pencampuran dan penghalusan tekstur yang lebih baik.)


3

Keduanya adalah model dari objek yang Anda miliki beberapa sarana untuk mengendalikan input dan mengamati output dari.

Perbedaan utamanya adalah:

  • Dengan emulator , Anda ingin output persis sama dengan objek yang Anda tiru akan menghasilkan.
  • Dengan simulator , Anda ingin properti tertentu dari output Anda mirip dengan apa yang akan dihasilkan objek.

Biarkan saya memberi contoh - misalkan Anda ingin melakukan beberapa pengujian sistem untuk melihat bagaimana menambahkan sensor baru (seperti termometer) ke suatu sistem akan mempengaruhi sistem. Anda tahu bahwa termometer mengirim pesan 8 kali per detik berisi pengukurannya.

Simulasi - jika Anda belum memiliki termometer, tetapi Anda ingin menguji bahwa laju pesan ini tidak akan membebani sistem Anda, Anda dapat mensimulasikan sensor dengan melampirkan unit yang mengirim nomor acak 8 kali per detik. Anda dapat menjalankan tes apa pun yang tidak bergantung pada nilai aktual yang dikirim sensor.

Emulasi - misalkan Anda memiliki termometer yang sangat mahal yang mengukur hingga 0,001 C, dan Anda ingin melihat apakah Anda dapat bertahan dengan termometer yang lebih murah yang hanya mengukur hingga 0,5 C. Anda dapat meniru termometer yang lebih murah menggunakan termometer mahal dan kemudian membulatkan pembacaan ke 0,5 C terdekat dan menjalankan tes yang mengandalkan nilai suhu.

Perhatikan bahwa simulasi juga dapat digunakan untuk memperkirakan atau memprediksi perilaku. Simulasi analisis elemen hingga digunakan dalam banyak aplikasi, termasuk prediksi cuaca dan terowongan angin virtual.

Definisi istilah:

  • emulasi - melampaui atau sama persis dengan
  • mensimulasikan - meniru penampilan atau karakter

Catatan - ini sangat mirip dengan jawaban untuk pertanyaan yang telah ditandai sebagai dup yang satu ini ( stackoverflow.com/questions/2174638/… ). Saya memang menambahkan definisi istilah-istilah (ditanyakan dalam pertanyaan tetapi belum dijawab) dan juga menambahkan beberapa info tentang kegunaan untuk simulasi (analisis elemen hingga) untuk sesuatu yang lebih dari meniru perangkat.
Jay Elston

2

Pertanyaan ini mungkin paling baik dijawab dengan melihat praktik sejarah.

Di masa lalu, saya telah melihat emulator konsol game di PC untuk PlayStation & SEGA.

Simulator adalah lumrah ketika merujuk pada perangkat lunak yang mencoba meniru tindakan nyata, seperti mengemudi atau terbang. Gran Turismo dan Microsoft Flight Simulator muncul dalam pikiran sebagai contoh klasik dari simulator.

Adapun perbedaan linguistik, emulasi biasanya merujuk pada tindakan menyalin karakteristik atau perilaku terpuji seseorang (atau sesuatu). Emulasi berbeda dari imitasi, di mana seseorang disalin untuk tujuan ejekan.

Makna linguistik dari kata kerja 'simulasi' pada dasarnya adalah untuk berpura-pura atau meniru seseorang atau sesuatu.


2

Dalam ilmu komputer, baik simulasi dan emulasi menghasilkan output yang sama, dari input yang sama, yang dilakukan oleh sistem aslinya; Namun, persaingan juga menggunakan proses yang sama untuk mencapainya dan dibuat dari bahan yang sama . Simulasi menggunakan proses yang berbeda dari sistem asli. Juga patut dicatat adalah replikasi istilah, yang merupakan perantara dari keduanya - menggunakan proses yang sama tetapi dibuat dari bahan yang berbeda.

Jadi jika saya ingin menjalankan game Super Mario Bros lama di PC, saya menggunakan emulator SNES , karena menggunakan kode komputer (proses) yang sama atau serupa untuk menjalankan game, dan menggunakan bahan yang sama atau serupa (chip silikon) . Namun, jika saya ingin menerbangkan jet Boeing 747 di PC saya, saya menggunakan simulator penerbangan karena menggunakan proses yang sama sekali berbeda dari aslinya (tidak ada sayap, lift atau aerodinamika yang sebenarnya terlibat!).

Berikut adalah definisi yang tepat diambil dari glosarium ilmu komputer:

Simulasi adalah model sistem yang menangkap koneksi fungsional antara input dan output sistem, tetapi tanpa harus didasarkan pada proses yang sama dengan, atau mirip dengan, orang-orang dari sistem itu sendiri.

Replikasi adalah model sistem yang menangkap koneksi fungsional antara input dan output sistem dan didasarkan pada proses yang sama dengan, atau mirip dengan, yang dari sistem itu sendiri.

Emulasi adalah model dari beberapa sistem yang menangkap koneksi fungsional antara input dan output dari sistem, berdasarkan pada proses yang sama dengan, atau mirip dengan, orang-orang dari sistem itu, dan yang dibangun dari bahan yang sama dengan sistem itu .

Referensi: Universitas Terbuka, M366 Glosarium 1.1, 2007


2

Simulasi adalah sistem yang berperilaku mirip dengan sesuatu yang lain, tetapi diimplementasikan dengan cara yang sama sekali berbeda. Ini memberikan perilaku dasar suatu sistem tetapi mungkin tidak selalu mematuhi semua aturan sistem yang disimulasikan. Itu ada di sana untuk memberi Anda ide tentang bagaimana sesuatu bekerja.

Persaingan adalah sistem yang berperilaku persis seperti yang lain, dan mematuhi semua aturan sistem yang ditiru. Ini secara efektif merupakan replikasi lengkap dari sistem lain, hingga menjadi biner yang kompatibel dengan input dan output sistem yang ditiru, tetapi beroperasi di lingkungan yang berbeda dengan lingkungan dari sistem yang ditiru asli. Aturannya sudah diperbaiki, dan tidak bisa diubah atau sistem gagal.


2

Definisi kata-kata menggambarkan perbedaan yang terbaik. Pencarian Google memberikan definisi simulasi dan meniru berikut:

mensimulasikan meniru penampilan atau karakter.

meniru pertandingan atau mengungguli (seseorang atau prestasi), biasanya dengan meniru.

Simulasi meniru sistem. Sebuah emulasi mensimulasikan suatu sistem dengan sangat baik sehingga dapat menggantikannya atau bahkan dapat melampauinya.

Dalam komputasi, emulasi akan menjadi penurunan pengganti untuk sistem yang ditiru. Sering kali bahkan akan mengungguli sistem yang ditiru. Misalnya, emulator konsol game biasanya melakukan peningkatan seperti kompatibilitas perangkat keras yang lebih besar, kinerja yang lebih baik, dan peningkatan kualitas audio / video.

Simulasi, di sisi lain, dibatasi oleh mereka menjadi model. Mereka adalah upaya terbaik untuk meniru suatu sistem, tetapi bukan pengganti untuk itu. Ada emulator perangkat keras karena perangkat keras dapat ditiru dan akan sulit membedakannya. Tidak ada Farmulator Emulator karena tidak ada persaingan yang bisa menggantikan pertanian aktual. Kami hanya dapat mensimulasikan model pertanian untuk mendapatkan wawasan tentang cara bertani yang lebih baik.


1

PC Virtual mencoba meniru Komputer, dari sudut pandang Programmer TETAPI, pada saat yang sama, ini mensimulasikan Komputer dari sudut pandang Insinyur Listrik .


0

Emulator:

Pertimbangkan situasi yang hanya Anda ketahui bahasa Inggris dan Anda berada di Tiongkok. Untuk berinteraksi dengan orang Tionghoa, Anda memerlukan penerjemah. Sekarang, peran penerjemah adalah bahwa ia akan mencari masukan dari Anda dalam bahasa Inggris dan mengonversikannya ke bahasa Mandarin dan dan memberikan masukan itu kepada orang China dan mendapat tanggapan dari orang China dan mengonversi ke bahasa Inggris dan memberikan hasil kepada Anda dalam bahasa Inggris. Sekarang penerjemah dan orang Cina adalah emulator. Kombinasi keduanya akan memberikan fungsionalitas yang sama seperti jika Anda berkomunikasi dengan orang Inggris. Jadi perangkat keras mungkin berbeda tetapi fungsionalitasnya akan sama.

Simulator:

Saya tidak bisa memberikan contoh yang lebih baik daripada SPICE atau simulator penerbangan. Keduanya akan menggantikan perilaku komponen perangkat keras dengan perangkat lunak atau model matematika yang akan berperilaku mirip dengan perangkat keras.

Pada akhirnya itu tergantung pada konteks solusi mana yang lebih baik sesuai dengan kebutuhan proyek.


0

Simulator adalah sesuatu yang lebih luas daripada Emulator dan sepertinya dualitas dari istilah ini terlalu dipikirkan dalam tulisan di atas.

Emulator

Orang-orang memutuskan untuk menggunakan emulasi kata baru di "dunia komputer" ketika mereka mulai mengganti beberapa bagian perangkat keras dari sistem yang ada secara langsung - meniru perilaku mereka dan mengandalkan sifat komputasi untuk memastikan tidak merusak sesuatu dan meninggalkan segala sesuatu di dalam negara setara. Jadi kami telah meniru bagian ini! (dan keseluruhan masih berfungsi seperti sebelumnya)

Emulator biasanya digunakan dalam arti sempit di bidang digital sebagai pengganti dan virtualisasi - menghadirkan dalam bentuk digital sebagai bagian dari perangkat lunak - dari sesuatu yang diketahui dan ada sebelumnya (chip virtual, papan sirkuit, perangkat elektronik). Jadi ketika dunia menjadi lebih digital dan membawa kata emulator ke massa, massa menambahkan ketidakpastian padanya (atau alasan tambahan).

Simulator

Pertama-tama, saya melihat banyak komentar tentang emulator melakukan atau mengganti sesuatu yang nyata tetapi simulator tidak.

TETAPI simulator penerbangan digunakan untuk hal yang nyata - ini melatih pilot, memberi mereka keahlian dan pengetahuan dan itu menggantikan pesawat nyata yang mahal dan menghemat banyak uang. Dan kita tidak bisa hanya mengatakan emulator-pesawat karena kita memiliki perasaan batin bahwa ini jauh lebih dari itu, jadi kita menyebutnya simulator :) Simulator pesawat bisa berisi radar atau transponder yang diemulasi itu benar.

Kontra-pernyataan bahwa simulator digunakan untuk analisis dan studi (dan emulator untuk sesuatu yang nyata), tetapi analisis dan studi itu tidak kurang merupakan hal yang nyata daripada papan GSM yang ditiru (bahkan lebih di era informasi yang kita tinggali). Analisis menambah nilai pada bisnis, memangkas biaya atau menunjukkan keuntungan tidak kurang dari perangkat keras yang diganti (ditiru).

Simulator mirip dengan pemodelan sesuatu yang tidak dapat kita peroleh karena alasan tertentu (biaya, teknologi, ketidakmungkinan fisik). Biasanya disimulasikan untuk sesuatu yang baru atau tidak berwujud atau kompleks atau tidak diketahui oleh kita seperti pasar, cuaca, pembakaran, pengguna. Jadi inilah penerbangan, lubang hitam, bursa efek, simulasi.

Jadi akhirnya:

  1. Simulator lebih luas dari Emulator
  2. Simulator cenderung meniru / memodelkan lebih banyak proses global / hal-hal secara umum dengan kemampuan mempersempit imitasi (misalnya simulator kapasitor dengan preset yang mewakili beberapa model yang diketahui)
  3. Emulator cenderung meniru perangkat perangkat keras tertentu dengan spesifikasi tertentu, karakteristik dan sifat yang diketahui (misalnya emulator SNES, Intel 8087 atau Roland TB-303)

Adapun kata asal

Semua berasal dari bahasa Latin dan berarti:

  • meniru adalah "untuk menjadi sama" (sepertinya lebih agresif dan langsung - persaingan)
  • mensimulasikan adalah "menjadi serupa" (sepertinya lebih licik dan rumit - imitasi)
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.