VirtualBox Nedir?

VirtualBox, InnoTek firması tarafından geliştirilen bir "sanal makine yazılımı"dır. Sanal makine de ne ola ki? Bilgisayarınızda aynı anda birden fazla işletim sistemi çalıştırabilmenizi sağlayan programa sanal makine deniyor. İyi de bunu zaten yapamıyor muyduk? Bilgisayarımızda aynı anda birden fazla işletim sistemi varken, açılışta hangisini başlatacağımızı belirleyebiliyorduk. Ama hayır, biz "aynı anda" çalıştırmaktan bahsediyoruz. Nasıl yani?

Diyelim ki, bilgisayarınızda Pardus açık. Ama siz, bir yandan Windows açıp Photoshop ve AutoCad gibi Linux'ta olmayan programları kullanmak; aynı anda farklı Linux dağıtımlarını tanıyıp, öğrenmek; bir yandan da OpenBSD, MacOS gibi adını sıkça duyup bir türlü neye benzediğini öğrenemediğiniz işletim sistemlerini kullanmak istiyorsunuz. Hem de canınız sıkıldığında farklı bir pencereye geçerek kullandığınız işletim sistemini anında değiştirmek, gerekirse tam ekran yaparak, sadece o işletim sistemi açıkmış gibi çalışmak istiyorsunuz. VirtualBox ile bunların hepsi mümkün :)

Hmm, demek ki VirtualBox, bilgisayarınızda bir işletim sistemi açıkken başka işletim sistemlerini de aynı anda farklı pencerelerde çalıştırabilmeyi sağlıyormuş. Peki bunun başka avantajları, kullanım alanları var mı? Elbette. Örneğin kişisel web sayfanızı hazırlıyorsunuz. Ama yaptığınız sayfanın diğer işletim sistemlerinde de aynı şekilde görünüp görünmediğini kontrol etmek istiyorsunuz. Ya da bir yazılım geliştiricisisiniz ve geliştirdiğiniz uygulamayı çeşitli şartlarda (sürümleri ve yüklü programları farklı işletim sistemleri) kontrol etmek istiyorsunuz. Hatta bilgisayarda kişisel işleri için Windows kullanan ve Linux'u kurup denemek için yeni bir disk bölümü oluşturmak istemeyen bir kullanıcısınız. Tüm bu senaryolarda sanal makine kurulumu size uygun bir çözüm.

Bahsettiğimiz işleri yapabilen Xen, qemu, Microsoft Virtual PC, VMware gibi farklı yazılımlar da var. VirtualBox, bunlar arasında iyi bir yere sahip. Bunun nedenleri olarak, zengin özelliklerini, yüksek performansını, kullanışlı arayüzünü ve GPLv2 ile dağıtılan bir açık kaynak kodlu sürümünün de olmasını gösterebiliriz. Aynı zamanda ücretli bir sürümü de bulunan VirtualBox, bu sürümde USB kontrolü, uzak masaüstü bağlantısı(RDP) gibi bazı ek avantajlar sunuyor.

VirtualBox'ın, Linux, Mac OS X (Intel işlemci kullanan sürümleri) ve Windows üzerine kurulabilen versiyonları mevcut. Sanal makinelerin kurulduğu işletim sistemlerine ev sahibi sistemler deniyor. VirtualBox, bunun yanında DOS, Windows, Linux, OS/2, OpenBSD, FreeBSD gibi farklı işletim sistemlerini çalıştırabiliyor. Bunlara da misafir işletim sistemleri diyoruz.

Bu teknik olarak nasıl mümkün oluyor?

Farklı yöntemlerle çalışan sanal makine yazılımları mevcut. Ama biz VirtualBox'tan bahsettiğimize göre diğerlerini boşverip bunun nasıl çalıştığına bakalım. VirtualBox, bilgisayarınızın donanımını farklı işletim sistemleri arasında paylaştırır. Yani işlemcinizi, belleğinizi, sabit diskinizi normalde tek bir işletim sistemi kullanacakken bu sayede birden fazla işletim sistemi kullanabilir. Misafir işletim sistemleri böylece "sanal" bir makinede çalıştıklarını fark etmeden, gerçek bir donanım üzerinde çalışıyormuş gibi işlem yaparlar.

Normalde işletim sistemleri, işlemciye belli komutlar gönderir. VirtualBox, bu komutları direk işlemciye yollamak yerine kendi kontrol eder. Eğer işlemcinin direk uygulaması için uygun bir komutsa olabilecek en hızlı şekilde bu işlemi işlemcide gerçekleştirir. Buraya kadar her şey basitmiş gibi gözüküyor. Bu sanal makineler basit programlarmış! Ancak misafir işletim sisteminin gönderdiği her komut, direk uygulamak için uygun olmuyor. Ya sanal işletim sistemimiz sabit diske erişmek isterse? Aslında sanal sabit diske erişmek yerine direk donanıma erişmesine engel olmalıyız! İşte VirtualBox bu noktada devreye giriyor ve ev sahibi işletim sistemini etkileyebilecek komutları kendisi değerlendirip ve uyguluyor. Oluşabilecek hatalara karşı da "dynamic recompiler", "code scanning", "patching" gibi gelişmiş teknikler kullanıyor.

VirtualBox, misafir işletim sistemini kandırarak kendini şöyle bir donanımda çalışıyormuş gibi gösteriyor:

  • 8MB'lık standart bir VESA ekran kartı
  • Intel ICH AC'97 ses kartı
  • AMD PCNet ethernet kartı

Bunların yanında VirtualBox, CD-ROM, Floppy gibi araçlarınızı misafir işletim sistemine bağlayabilmenize olanak sağlıyor. Sabit diskinizde .vdi uzantılı dosyalar oluşturan program, sanal disk görüntüleri (Virtual Disk Images) denen bu dosyaları, misafir işletim sistemine sabit disk olarak gösteriyor. Böylece bilgisayarınızda 10GB'lık bir dosya oluşturarak, 10GB'lık bir sabit diskiniz varmış gibi üzerine farklı işletim sistemleri kurabiliyorsunuz.

Kuralım, Kullanalım

Bu kadar laf kalabalığından sonra programı kullanmanın vakti geldi. http://www.virtualbox.org adresinde Linux ve Windows için indirilebilir dosyalar bulabilirsiniz. Biz, VirtualBox'ı Pardus üzerinde çalıştıracağız. Pardus'ta programı kurmak için Pardus menüsünden "paket yöneticisi" yazılımını çalıştırıyoruz. "Yeni paketleri göster" kısmından "VirtualBox" ismini aratarak çıkan paketi seçip yüklüyoruz. (Üstteki "paketleri kur" düğmesi ile) İşlem tamamlandığında programa, Pardus menüsünde Programlar->Sistem->VirtualBox yolunu izleyerek ulaşabileceğiz.

Artık kurulumu tamamladığımıza göre kullanmaya başlayabiliriz demektir! Şimdi VirtualBox'ı çalıştıralım. Karşımıza çıkan ilk ekranda, menüden "New" seçeneği ile yeni bir sanal makine oluşturuyoruz. Bu sanal makine daha sonra VirtualBox ana penceresinin sol tarafında görünecek. Birden çok sanal makine oluşturup, istediğimiz kadarını aynı anda çalıştırabiliriz. Ama her şeyin bir sınırı var tabii. Sanal makinelerin de en önemli sınırı RAM kullanımı. Bir makineyi çalıştırdığımız anda RAM'imizin bir kısmını sanal makineye ayırıyoruz. Ayarlarla belirleyebildiğimiz bu RAM miktarı izin verdiği ölçüde sanal makine çalıştırabiliriz. İşlemci, ağ kartı, sabit disk gibi diğer donanımlar ise, aynı anda birden fazla işletim sisteminde yoğun bir çalışma yapmadığımız sürece yeterli olacaktır.

Şimdi kaldığımız yere geri dönelim ve sanal makineyi oluşturmaya devam edelim. Yeni pencerede kuracağımız işletim sisteminin adını ve türünü seçip devam ediyoruz. Biz, bilgisayarımıza OpenSUSE kurup incelemeye karar verdik. Daha sonra işletim sistemine ayıracağımız bellek miktarını belirleyeceğiz. Varsayılan olarak gelen miktarı genelde değiştirmek gerekmez. Biz donanımımız yeterli olduğundan daha yüksek performans için 128MB'ı 256MB'a çıkarıyoruz. Sihirbazın sonraki aşamasında bizden bir sabit disk görüntüsü (vdi) dosyası belirlememiz istenecek. Daha önce bir vdi dosyası oluşturmadığımız için "new" tuşuna basıyoruz. Artık yeni bir sihirbazla karşı karşıyayız. İlk iki adımda "Next" tuşuna bastıktan sonra, üçüncü adımda dosya adını ve boyutunu belirliyoruz. Bunun için boş yer bulunan bir disk bölümünü seçmemiz gerekiyor. İşlemleri bitirdikten sonra yeni sanal makinemizi oluşturmuş oluyoruz. Yeni yarattığımız makine, ana pencereye eklenmiş olacak. "Settings" seçeneğine basıp çıkan pencerede makinenin kurulumunu yapacağımız CD/DVD sürücüyü ya da iso dosyasını seçmemiz gerekiyor. Artık gönül rahatlığıyla makinemizi çalıştırabiliriz :)

Makinemizi çalıştırdığımızda, gerçek bilgisayarların bios ekranına karşılık gelen bir başlangıç ekranı ile karşılaşıyoruz. Hemen ardından, seçtiğimiz CD/DVD çalıştırılacak ve açılış menüsü ile karşılaşacağız. Yeni makinemizi istediğimiz gibi kullanıp işletim sistemini yükleyebiliriz. Kurulum işlemi tamamlandığında ise sanal makinemizi yeniden başlatıp yeni işletim sistemimizi rahatça kullanabiliriz.

Bilmemiz gerekenler

Bir sanal makineyi çalıştırıp açılan pencereyi tıkladığınızda, fareniz artık o işletim sisteminin imlecini hareket ettirmeye başlar. Bundan kurtulmak için klavyenin sağ tarafındaki ctrl tuşuna basmanız yeterli. Bu tuş, aynı zamanda menüde "host" ismiyle görünen kısayolları kullanmanızı sağlar. Örneğin, host+f, pencerenizi tam ekran yaparken, host+r sanal makinenizi yeniden başlatır. Bu host tuşu (sağ ctrl) aynı zamanda, sanal makinenizde ctrl+alt tuşlarına basmanızı sağlar. Böylece normalde ctrl+alt+del kombinasyonu, ev sahibi işletim sisteminizde işlem yaparken, misafir işletim sisteminde bu işi yapmak için host+del kombinasyonunu kullanabilirsiniz.

undefined Sanal makinenize bağlı ağ kartı, cd-rom sürücü, disket sürücü gibi aygıtları da "Devices" menüsünden kontrol edebileceğimizi unutmamak gerekiyor. Böylece kurulum yaparken CD değiştirmek, ağ bağlantısını açıp-kapatmak gibi işler kolayca yapılabiliyor. "Machine" menüsünde de işinize yarayabilecek bazı kısayollar bulunuyor.

"Guest Additions" denen eklentiler sayesinde misafir işletim sisteminde birkaç uygulama yükleyip, ev sahibi ve misafir işletim sistemleri arasında dosya paylaşma, pencere boyutu değiştiğinde misafir işletim sisteminin çözünürlüğünün değişmesi gibi işlemleri yapabiliyorsunuz. Bu eklentileri yükleyebilmek için sanal makineniz çalışırken "Devices" menüsünden "Install Guest Additions" seçeneğini seçerek, sanal makinenize Windows ve Linux için bazı eklentilerin olduğu bir CD takmış oluyorsunuz.

Sonuç

Kullandığımız süre boyunca VirtualBox'tan oldukça memnun kaldık. Performans açısından sanal makineye kurulduğunu hissettirmiyor, tamamen gerçek donanımda çalışıyormuş hissi veriyordu. Hatta donanım algılama gibi işlemler otomatik geçildiğinden yer yer ev sahibi işletim sisteminden bile daha hızlı çalışabiliyordu. Kullanışlılığı ve zengin özellikleri de bizi oldukça memnun etti. Özetle, ister amatör, ister profesyonel bir kullanıcı olun, farklı işletim sistemleri kurmanız gerekiyorsa VirtualBox'ı denemenizi şiddetle tavsiye ederiz :D