Saya sering melihat Simulasi dan Emulasi dalam ilmu komputer. Kedua istilah ini tampaknya bersinonim. Apakah ada perbedaan antara Simulasi dan Emulasi ?
sumber
Saya sering melihat Simulasi dan Emulasi dalam ilmu komputer. Kedua istilah ini tampaknya bersinonim. Apakah ada perbedaan antara Simulasi dan Emulasi ?
Ya, konsepnya berbeda.
A simulation
adalah sistem yang berperilaku mirip dengan sesuatu yang lain, tetapi diterapkan 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.
Contoh
Pikirkan simulator penerbangan sebagai contoh. Ini terlihat dan terasa seperti Anda menerbangkan pesawat, tetapi Anda benar-benar terputus dari kenyataan menerbangkan pesawat, dan Anda dapat membengkokkan atau melanggar aturan-aturan yang Anda inginkan. Sebagai contoh, menerbangkan Airbus A380 terbalik antara London dan Sydney tanpa merusaknya.
An emulation
adalah sistem yang berperilaku persis seperti sesuatu yang lain, dan mematuhi semua aturan sistem yang ditiru. Ini secara efektif merupakan replikasi lengkap dari sistem lain, sampai 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.
Contoh
Sistem MAME dibangun di sekitar premis ini. Semua sistem arcade lama yang telah lama dilupakan, yang diimplementasikan hampir seluruhnya dalam perangkat keras, atau dalam firmware sistem perangkat keras mereka dapat ditiru hingga bug dan crash asli yang akan terjadi ketika Anda mencapai skor setinggi mungkin.
Sebuah simulasi adalah model dibangun dari sesuatu yang lain yang mereproduksi beberapa fitur yang hal dan daun lain di luar - jelas Anda ingin mempertahankan fitur relevan dengan permintaan Anda, dan meninggalkan yang tidak relevan.
Sebagai contoh, simulasi lalu lintas komuter dini hari meninggalkan nama-nama komuter, dan mungkin bahkan identitas mereka (menggunakan variabel counter daripada set
Commuter
objek yang sebenarnya ), tetapi tidak dapat mengabaikan tingkat kedatangan mereka.Emulation adalah menjalankan perangkat lunak X yang dibuat untuk platform A pada platform B, tanpa mengubah perangkat lunak itu sendiri. Ini membutuhkan pembuatan model A yang berjalan pada B, dan jelas itu harus memodelkan segala sesuatu tentang A yang melibatkan eksekusi kode. (Secara teori Anda bisa menghilangkan dukungan untuk opcode yang Anda tahu perangkat lunak khusus ini tidak akan pernah digunakan, tetapi itu jarang - melakukan emulator adalah kerja keras, dan jauh lebih bermanfaat untuk melakukan pekerjaan menyeluruh dan memiliki sesuatu yang dapat digunakan kembali daripada kludge yang hanya berfungsi untuk S.)
sumber
Keduanya berarti sesuatu melakukan pekerjaan dari sesuatu yang lain.
Perbedaannya adalah bahwa "Simulasi" terjadi pada tingkat sadar (sehubungan dengan pengguna) dan diselesaikan biasanya untuk mengantisipasi hasil dari suatu kenyataan tanpa menyentuh realitas itu sendiri.
"Emulasi" terjadi pada tingkat yang tidak disadari , dan memiliki tujuan untuk mengganti komponen yang mendasarinya dengan komponen lain yang berbeda yang - dalam hal pengguna - berfungsi sebagai yang lama.
Dengan kata lain, simulasi terjadi di "dunia paralel", sementara emulasi terjadi di "dunia yang diganti".
sumber
Secara teknis, mereka berdua melakukan hal yang sama: melakukan sesuatu di lingkungan yang bertindak seolah-olah itu adalah hal yang nyata.
Namun secara konseptual, ada perbedaan penting.
Sebuah simulasi seharusnya terlepas dari dunia nyata untuk tingkat tertentu; output dari simulasi tidak terhubung langsung ke hal yang disimulasikan. Misalnya, simulator pesawat tidak benar-benar terbang, dan pilot tidak benar-benar berkomunikasi dengan pengendali lalu lintas udara nyata.
Sebuah simulasi biasanya memiliki tujuan pengujian atau memprediksi beberapa proses kehidupan nyata di lingkungan yang aman; karena simulasi terputus dari dunia nyata, tidak ada hal buruk yang bisa terjadi (simulator pesawat jatuh tidak pernah membunuh orang sungguhan).
Sebaliknya, sebuah emulasi memiliki tujuan menggantikan yang asli: misalnya, jika Anda meniru mikrokontroler sederhana menggunakan CPU yang dapat diprogram lebih canggih, CPU dapat digunakan sebagai pengganti mikrokontroler asli; itu akan secara fisik terhubung ke beberapa mesin, dan itu benar-benar akan mengendalikan mesin itu seperti mikrokontroler.
The Tujuan dari emulasi adalah untuk mengganti perangkat keras atau perangkat lunak komponen dengan setara fungsional ketika modul asli tidak tersedia (atau telah menjadi terlalu mahal, jika hanya untuk menjaga). Emulasi juga dapat melayani tujuan menggunakan perangkat keras secara lebih fleksibel - mikrokontroler yang dapat diprogram yang sama dapat berfungsi ganda untuk beberapa pengontrol yang lebih sederhana, mengganti mode emulasi sesuai kebutuhan.
sumber
"technically"
Mereka sangat berbeda. Perbedaan konseptual yang Anda gambarkan merupakan dasar perbedaan ini.Sementara etimologinya tidak sepenuhnya akurat, pikirkan perbedaan antara simpati, "Saya bisa membayangkan seperti apa rasanya" dan empati, "Saya tahu bagaimana rasanya." Simulasi mungkin termasuk representasi visual dari suatu masalah, tetapi mungkin tidak. Misalnya, mungkin saja mencetak kolom angka yang menunjukkan berapa banyak orang yang berbaris untuk sesuatu atau total pendapatan atau kecepatan rata-rata. Ini memiliki beberapa karakteristik yang sesuai dengan kenyataan, dan beberapa yang tidak.
Emulasi, yang sering digunakan dalam konteks satu platform yang berpura-pura menjadi platform lain, jauh lebih lengkap. Jadi pengembang Windows Phone dapat menjalankan atau men-debug aplikasi telepon mereka pada mesin Windows di emulator, yang terlihat seperti telepon dan juga berperilaku seperti itu. Anda juga dapat menjalankan game Commodore 64 di emulator.
Kata-katanya tidak tepat. Kebanyakan simulator penerbangan lebih seperti emulator menurut pendapat saya, tetapi namanya telah berubah sejak saat mereka tidak begitu mendalam. Beberapa orang mencadangkan kata emulator untuk kasing lintas platform dan menolaknya untuk apa pun. Anda mungkin tidak akan pernah dianggap salah jika Anda melakukan hal yang sama ketika berbicara, tetapi pahamilah bahwa beberapa orang mungkin menempatkan batas antara dua kata sedikit berbeda, dan membuat kelonggaran ketika seseorang mengatakan "ini adalah emulasi" untuk yang benar-benar akurat dan simulasi lengkap.
sumber
Kedua istilah ini sangat mirip dalam konsep - meniru.
Simulasi atau Simulator menggunakan perangkat lunak untuk menghasilkan sistem yang direplikasi yang sangat mirip dengan model target sehubungan dengan fungsionalitas inti yang mendasarinya (terutama metodologi dasarnya).
Emulator, di sisi lain, lebih fokus pada kesamaan eksterior jika dibandingkan dengan sistem target. Ini memiliki kepedulian minimum untuk "bagaimana" fungsinya ditiru. Secara umum, emulator digunakan ketika bekerja di lingkungan yang sama sekali berbeda (Misalnya sistem Operasi yang berbeda) dibandingkan dengan sistem aslinya.
sumber