Sanal Makine (Virtual Machine), ana (fiziksel) bilgisayar sisteminin sanal bir temsilidir. Ana bilgisayar sisteminin sunduğu deneyimi kullanıcıya sunar. Sanal CPU’su, ağ arayüzü, belleği ve depolama alanı bulunur. Ana bilgisayarda bulunan yetenek ve özelliklere sahiptir. Sanal makine uygulamaları dağıtmak ve ilgili görevleri gerçekleştirmek için ana bilgisayarın donanımını yazılımla değiştirir. Başka bir deyişle VM, bir bilgisayara birden fazla işletim sistemi kurulmasını sağlar. Aynı zamanda uygulamaların geliştirilmesi, ana bilgisayarın işletim sistemi ile uyumsuz olan yazılımları çalıştırmak ve işletim sistemlerini yedeklemek için kullanılır. VM kurulduğunda gerçekleştirilen işlem, ana bilgisayarın içine sanal bilgisayar yerleştirmek gibi düşünülebilir.
Sanal Makine (Virtual Machine) Nasıl Çalışır?
Sanal Makine, uygulama penceresinde bir işlem olarak çalışır. Başka bir deyişle bir uygulama penceresi olarak sunulur. VM’nin işletim sistemi, günlük dosyası, NVRAM ayar dosyası, sanal disk dosyası ve yapılandırma dosyası ve uygulamaları bulunur. Ana bilgisayara benzer şekilde çalışır.
Sanal makine, sanallaştırma (virtualization) tekniğini kullanılır. Sanallaştırma tekniği, VM’leri oluşturan, yöneten ve çalıştıran hiper yönetici adı verilen yazılımla gerçekleştirilir. VM’lerin sanal olması nedeniyle birden fazla VM tek bir sunucuda bulunabilir. Sunucu, VM’leri yönetmek için hiper yöneticiyi kullanılır. Hiper yönetici, VM’nin donanımını sunucudaki fiziksel bileşenlerle birleştirir ve sanal bir ortam oluşturur. Örneğin, internet kafelerde kullanılan sistemler gibi.
Sanal Makine Neden Kullanılır ve Kimler Kullanır?
Sanal makine, fiziksel kaynakların sanal bilgisayarlar arasında paylaşılması gerektiğinde ve bir yazılımı çalıştırmak için farklı bir işletim sistemine ihtiyaç duyulduğunda kullanılır. VM, bir kodun sistemin geri kalanından ayrı şekilde çalıştırılabildiği sanal alandır. Bu nedenle, VM yeni yazılımları test etmek ve kötü amaçlı olabilecek kodların çalıştırılması için kullanılır. Aynı zamanda bilgisayarların işletim sisteminde çalışmayan yazılımları çalıştırmak için de kullanılır.
Sanal makine her bilgisayar kullanıcısı tarafından kullanılabilir. Ancak genellikle sanal makineyi siber güvenlik uzmanları ve yazılımcılar daha sık kullanır.
Sanal Makine Avantajları Nelerdir?
Sanal makine, fiziksel bilgisayarlara göre çeşitli avantajlar sunar:
- Enerji Tasarrufu: Ana bilgisayarda birden fazla VM çalışabilir. Bu nedenle, harcanan toplam enerji düşer ve enerji tasarrufu sağlanır.
- Maliyet Tasarrufu: VM eski uygulamaları desteklediği için yeni bir işletim sistemi maliyetini ortadan kaldırır. Aynı zamanda ana bilgisayarda birden fazla VM çalıştırılabildiği için kullanıcılar başka bir işletim sistemi çalıştırmak istediklerinde yeni bir sunucu satın almak zorunda kalmaz.
- Esneklik: Mevcut işletim sistemine VM klonlanabilir. Bu nedenle, VM hızlı ve kolay bir şekilde oluşturulabilir.
- Güvenlik: VM, kötü amaçlı yazılımlara karşı taranabilen bir dosyadır. VM hızlı ve kolay bir şekilde oluşturulabildiği için güvenlik tehlikesi ile karşı karşıya olan bir VM kolay bir şekilde silinebilir ve yeniden oluşturulabilir.
Sanal Makine (Virtual Machine) Dezavantajları Nelerdir?
Sanal makinenin potansiyel bazı dezavantajları vardır:
- Ana bilgisayarda birden fazla VM çalıştırıldığında altyapı yetersiz kalırsa sistemin kaynaklarını tükenir ve kararsız performans ortaya çıkar.
- VM tek başına düşük verimlidir.
Sanal Makine Türleri Nelerdir?
İki farklı sanal makine türü bulunur:
- Sanal sistem makinesi
- Sanal işlem makinesi
Sanal Sistem Makinesi
Sanal sistem makinesi, fiziksel bilgisayar işletim sisteminin işlevlerinin hepsini sağlar. Ana bilgisayarın kaynaklarına erişim sağlar ve kullanıcıya ana bilgisayarın sunduğu donanım özelliklerini birebir karşılar.
Sanal İşlem Makinesi
Sanal işlem makinesi, tek kullanımlık bir işlemi destekler. Başka bir deyişle işlem başladığında oluşturulur ve sona erdiğinde yok edilir. Bilgisayar programını platform dışında bir ortamda yürütmeyi amaçlar.
Ethereum Virtual Machine ve MetaVirtualMachine
Ethereum Virtual Machine (EVM), pek çok sayıda yürütülebilir projeye sahip merkeziyetsiz bir bilgisayar gibi çalışan hesaplama makinesidir. EVM, Ethereum’un tüm işletim yapısının temelini oluşturan sanal makine görevindedir. Ethereum node’ları, blockchain ağında fikir birliğini korumak için EVM üzerinde çalışır. EVM içerisindeki kod sadece kendi içerisinde kalır. Başka bir deyişle EVM içindeki kodun ağa veya diğer işlemlere erişimi yoktur. Blockchain ağındaki her görevi gerçekleştirmek için merkeziyetsiz bir şekilde ve ana bilgisayar gibi çalışır.
Ethereum virtual machine, işleyiş olarak kendini her ne kadar kanıtlamış olsa da transfer işlemlerinin onaylanma ve blok oluşturma süresi, işlemler için ödenen ücretler konusunda verimsiz kalmaktadır.
MetaVirtualMachine (MVM), özgün fikir birliği yapısı ve node’lar arası yüksek hızlı haberleşme ve senkronizasyon yeteneğine sahiptir. MVM, EVM tarafından sağlanan güvenlik ve uyuma ek olarak hızlı transfer onayını sağlayarak EVM tarafından sunulan potansiyeli geliştirerek ileriye taşır.