emülatör ve sanal makine


4

Aradaki fark ve ilişkilerin ne olduğunu merak ediyordum. emülatörü ve sanal makine ? Biri diğerinin özel bir çeşidi midir, diğerinde diğer çeşitler nelerdir? Bağlantılı Vikipedi makalelerinden bu sorular hakkında pek bir şey anlamadım.

Yanıtlar:


3

Terimler en yaygın şekilde kullanıldığı için, bir emülatör, bir platform için tasarlanmış kodu başka bir platformda çalıştıran herhangi bir uygulamadır.

Sanal makine, bir platform için sanallaştırılmış bir ortamda bir platform için tasarlanan kodu, örneğin VMWare ve VirtualBox Bir x86 PC'de bir x86 PC için tasarlanmış kod çalıştırmak - bu, bir işletim sisteminin diğerlerinin yanı sıra diğerlerinin üzerinde çalıştırılmasını mümkün kılar.

Öykünme ve sanallaştırma arasındaki fark, öykünme ile tüm işletim ortamının yazılımda simüle edilmesidir, oysa sanallaştırma ile yapılacak işin bir kısmı doğrudan ana CPU'ya aktarılır. Modern x86 işlemcilerinin çoğu, bu işlevi hızlandıracak donanıma sahiptir. Bu sanallaştırmayı konuk yazılımı tarafından gerçekleştirilen her bir işleme yanıt olarak biraz işlem yapmak zorunda olan emülatörlere kıyasla çok hızlı hale getirir.

Popüler bir PC emülatörü Bochs . X86 donanımını oldukça doğru bir şekilde taklit ettiği için (hız pahasına), işletim sistemi düzeyinde hata ayıklama için çok yararlı olabilir.


Teşekkürler! Yani "platform" derken CPU mimarisini mi kastediyorsunuz?
Tim

CPU mimarisi ve programın ihtiyaç duyabileceği herhangi bir diğer özel donanım demek istiyorum - x86 PC'leri ile çok genel donanım kullanabilirsiniz; Bir ARM platformu için yazılan kodu diğerine çalıştırmayı deniyorsanız, CPU mimarisi büyük ölçüde aynı olsa bile Nintendo DS'unuzu cep telefonunuzda sanallaştıramazsınız, çünkü çok daha zor olan tüm grafik donanımını taklit etmeniz gerekir.
user55325

Ayrıca bir "sanal makine" (JVM veya .NET çalışma zamanı ortamı gibi genel emülatörler gibi genel sanal makineler var) farkını da belirledim, ancak dahili kod içinde dahili olarak yerel kodda çok fazla derleme yapıyorlar. ).
user55325
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.