Yanıtlar:
Evet, kavramlar farklı.
A simulation
, başka bir şeye benzer davranan , ancak tamamen farklı bir şekilde uygulanan bir sistemdir . Bir sistemin temel davranışını sağlar, ancak simüle edilen sistemin tüm kurallarına uyması gerekmeyebilir. Size bir şeyin nasıl çalıştığı hakkında bir fikir vermek için var.
Örnek
Bir uçuş simülatörünü örnek olarak düşünün. Bir uçağı uçuruyor gibi görünüyor ve hissediyorsunuz, ancak uçağı uçma gerçekliğinden tamamen bağlantınız kesildi ve bu kuralları uygun gördüğünüz gibi bükebilir ya da kırabilirsiniz. Örneğin, Londra ve Sidney arasında baş aşağı bir Airbus A380 ile uçmadan uçun.
Bir emulation
, tam olarak başka bir şey gibi davranan ve taklit edilen sistemin tüm kurallarına uyan bir sistemdir. Etkili bir şekilde, öykünmüş sistemin girişleri ve çıkışları ile uyumlu olan, ancak orijinal öykünmüş sistemin ortamına göre farklı bir ortamda çalışan, ikili bir sisteme sahip olan tam bir replikasyondur. Kurallar sabittir, değiştirilemez veya sistem başarısız olur.
Örnek
MAME sistemi bu çok öncül etrafında inşa edilmiştir. Uzun zaman önce unutulmuş, neredeyse tamamen donanıma uygulanan ya da donanım sistemlerinin donanım yazılımına uygulanan tüm eski arcade sistemleri, mümkün olan en yüksek puana ulaştığınızda ortaya çıkabilecek orijinal hatalara ve çökmelere kadar taklit edilebilir.
Bir simülasyon besbelli sorgunuzla ilgili özellikleri korumak ve alakasız olanları bırakmak istiyorum - o şeyin bazı özellikleri çoğalır ve diğerlerini dışarıda bırakır başka bir şey inşa edilmiş bir modeldir.
Örneğin, sabahın erken saatlerinde banliyö trafiğinin bir simülasyonu banliyö adlarını ve belki de kimliklerini (gerçek bir Commuter
nesne kümesi yerine bir sayaç değişkeni kullanarak) dışarıda bırakır , ancak varış oranlarını göz ardı edemez.
Öykünme , yazılımın kendisini değiştirmeden, platform B'ye platform A için oluşturulan X yazılımının çalıştırılmasıdır. Bu, B üzerinde çalışan bir A modeli oluşturmayı gerektirir ve kodun yürütülmesini içeren A ile ilgili her şeyin modellenmesi gerekir. (Teoride, bu özel yazılımın hiç kullanılmayacağını bildiğiniz opcod desteğini ihmal edebilirsiniz, ancak bu nadirdir - bir öykünücü yapmak zor bir iştir ve tam bir iş yapmak ve bir tortudan daha fazla tekrar kullanmak için daha değerlidir. Bu sadece S için çalışır)
Her ikisi de başka bir şeyin işini yapan bir şey demektir.
Aradaki fark, "Simülasyon" un bilinçli bir seviyede (kullanıcıya göre) gerçekleşmesi ve tipik olarak gerçeğe dokunmadan bir gerçeğin sonucunu öngörmesi için sonuçlandırılmasıdır.
“Öykünme” bilinçsiz bir seviyede gerçekleşir ve altta yatan bir bileşenin, kullanıcıya göre eski olanla farklı bir bileşenle değiştirilmesi amacı vardır.
Başka bir deyişle, simülasyon “paralel bir dünyada” olurken, öykünme “değiştirilmiş bir dünyada” olur.
Teknik olarak, ikisi de aynı şeyi yapıyor: gerçek bir şeymiş gibi davranan bir ortamda bir şeyler yapın.
Bununla birlikte, kavramsal olarak önemli bir fark vardır.
Bir simülasyonun gerçek dünyadan belirli bir dereceye kadar çıkarılması gerekiyordu; Bir simülasyonun çıktısı, simüle ettiği şeye doğrudan bağlı değildir. Örneğin, bir uçak simülatörü aslında uçmuyor ve pilot aslında gerçek bir hava trafik kontrolörü ile iletişim kurmuyor.
Bir simülasyon genellikle güvenli bir ortamda bazı gerçek hayat süreçlerini test etme veya tahmin etme hedefine sahiptir ; simülasyonun gerçek dünyayla bağlantısı kesildiği için, gerçekten kötü bir şey olamaz (kaza yapan uçak simülatörü asla gerçek insanları öldürmez).
Bir öykünme , aksine, gerçek şeyin yerine geçen bir hedefi vardır: Bir daha sofistike programlanabilir CPU kullanarak basit bir mikro kontrol taklit örneğin, o CPU orijinal mikrodenetleyici yerine kullanılabilir; fiziksel olarak bazı makinelere bağlanacak ve bu makineyi tıpkı mikrodenetleyicinin yaptığı gibi kontrol edecek.
Amaç bir bir öykünme özgün modüller mevcut değildir (veya tek korumak için eğer çok pahalı hale gelmiştir) ne zaman fonksiyonel eşdeğerleriyle donanım veya yazılım bileşenlerini değiştirmektir. Öykünme, aynı zamanda donanımın daha esnek kullanılması hedefine de hizmet edebilir - aynı programlanabilir mikrodenetleyici, daha kolay denetleyiciler için iki katına çıkarılabilir, öykünme modunu gerektiği gibi değiştirir.
"technically"
, tamamen farklılar. Tarif ettiğiniz kavramsal fark, bu farkın temelini oluşturur.
Etimoloji kesin olarak kesin olmamakla birlikte, sempati arasındaki farkı düşünün, "Nasıl hissetmesi gerektiğini hayal edebiliyorum" ve empati "Bunun nasıl hissettirdiğini biliyorum." Bir simülasyon, bir sorunun görsel temsilini içerebilir, ama olmayabilir. Örneğin, bir şey veya toplam gelir veya ortalama hız için kaç kişinin sıraya girdiğini temsil eden sayı sütunlarını yazdırabilir. Gerçekliğe uyan bazı özelliklere ve bazılarının eşleşmediği özelliklere sahiptir.
Genellikle başka bir platform gibi görünen bir platform bağlamında kullanılan emülasyon, çok daha tamamlandı. Böylece, Windows Phone geliştiricileri, telefon uygulamalarını, bir telefona benzeyen ve aynı şekilde davranan bir emülatördeki bir Windows makinesinde çalıştırabilir veya hata ayıklayabilir. Eski Commodore 64 oyunlarınızı da bir emülatörde çalıştırabilirsiniz.
Kelimeler kesin değil. Uçuş simülatörlerinin çoğu, benim görüşüme göre emülatörlere benziyor, ancak isim çok sürükleyici olmadıkları bir zamana bağlı kaldı. Bazı insanlar emülatör kelimesini çapraz platform vakası için ayırır ve başka herhangi bir şey için reddeder. Konuşurken aynı şeyi yaparsanız, muhtemelen asla yanlış düşünülmeyeceksiniz, ancak bazı insanların iki kelime arasındaki sınırı biraz farklı bir şekilde yerleştirebileceğini ve birisinin gerçekten doğru olması için "bu bir emülasyon olduğunu" söylediğinde ödenek alabileceğini ve tam bir simülasyon.
Her iki terim de kavram olarak benzerdir - taklit etme.
Simülasyon veya Simülatörler, temel işlevsellik (özellikle temel metodolojisi) açısından hedef modele çok benzeyen çoğaltılmış bir sistem üretmek için yazılımı kullanmaktadır.
Öte yandan emülatörler, hedef sisteme kıyasla daha fazla dış benzerliğe odaklanmaktadır. Fonksiyonların “nasıl” taklit edildiğine dair asgari endişesi vardır. Emülatörler, genel olarak, orijinal sisteme kıyasla tamamen farklı bir ortamda (örneğin farklı bir İşletim sistemi) çalışırken kullanılır.