Friday, March 23, 2007

VMware diye birşey varmış...


Malum tezim sebebiyle C ile uğraşıyorum. Ve yine doğal olarak gcc kullanmam gerekiyor çünkü yazdığım kodun Unix için çalışması bekleniyor. Daha önce belirttiğim gibi cygwin + make + notepad++ kullanıyordum. Hem bir önceki gönderide bahsettiğim konu yüzünden hemde artık "zamanı geldi" diyerek Linux'a bulaşmaya karar verdim. Fakat sıfırdan sistem kurmadan önce bir başka alternatifi merak ettim. Veeee VMware'i denemeye karar verdim. (Evet bir türlü Windows'tan kopamadım :( ). VMware kendi bilgisayarınıza bir bilgisayar daha (sanal makine-virtual machine) kurmanıza yarayan bir program. Kurduğunuz yeni bilgisayar aynen bağımsız bir bilgisayar gibi çalışıyor. VMware her sanal uygulama için standart bir ortam sunuyor. Mesela sizin network kartınızı kullanıyor fakat içinde çalışan uygulama network kartını başka bir sürücü ile görüyor. Kısacası sizin bilgisayarınızdaki network kartı, CD-ROM, harddisk, USB, ses kartı gibi donanımların hepsinin çalıştırdığı programlar (işletim sistemleri) tarafından tarafından kullanılabilmesini sağlıyor. Dolayısıyla kurduğunuz sanal işletim sisteminin normal işletim sisteminden pek bir farkı kalmıyor. (sanal ortamda sanal işletim sistemi - daha neler görücez bakalım :P) Tabiki de aynı hafızayı, işlemciyi vs. paylaştığı için belli bir performans kaybı yaratabilir fakat şu anda daha önce kurduğum linuxlar ile (tamam fazla kurmadım ama denedim :))) hemen hemen aynı performansta çalışıyor. Aynı şekilde Windows'da da pek bir sorun yaşamadım. Gerçi bu dediklerim iki sistemi de fazla zorlamadan kullanmış olmamdan kaynaklanıyor olabilir. Yine de şu anda zorlamam için bir sebebim yok.
VMware'in bir başka ilginç yanı ise kurulan sanal sistemin network üzerinde ayrı bir makine olarak görünmesi. Kendi IP'si var. Network üzerinde diğer makineler ile aynı şekilde görünüyor.

VMware'in bir çok ürünü var. Bir çoğu paralı olarak kullanılabiliyor. Fakat VMwarePlayer ve VMwareServer parasız olarak kullanilabiliyor. Eski sunucu uygulamalarını yeni sunuculara taşımak için (eski işletim sisteminizi VMware üzerine kurarak aynı platformu sağlayabilirsiniz) veya virus koruması (virüs yeseniz de olan VMware sistemine oluyor :) ) gibi durumlar için gayet kullanışlı . VMware'in sitesinde hazır olarak indirebileceğiniz işletim sistemleri ve uygulamalar bulunuyor. Linux'u makineye sıfırdan kurmaktan korkanlar veya üşenenler için (sanırım bu kategoriye giriyorum:) ) veya acaba hangisini kurayım diye düşünmekten çatlayanlar ve hepsini merak edenler (sanırım bu kategorilere de giryorum:) ) için kurulumu çok kolay bir şekilde yapabileceğiniz bir secenek.
Şu anda VMwarePlayer kullanıyorum. VMware player ile sadece daha önceden hazırlanmış bir konfigurasyonu kullanabiliyorsunuz. Dolayısıyla VMware'i indirdikten(30 MB) sonra bu linkten bir kaç tane önceden hazırlanmış işletim sistemi indirdim ve denedim (Resimlerde görebilirsiniz :) ) şu anda Ubuntu-6.10-Edgy Eft ve Debian-4-etch (Debian Testing etch beta 3 official snapshot (20060810)) deniyorum. Memnunum :) artık bu sistemlerin de değerlendirmelerini yapabileceğim bir seviyeye gelirsem onu yazarım :))
Dün rastladığım bir habere göre SUN'da SOLARIS sistemini VMware için kullanılabilecek halde yayımlıyor. [link1][link2]

Denemesi kolay, dileyenler bir denesin derim :)))
Ayrıca Linux'taki oyunlarda canınız sıkıldığında iyi geliyor :)

Not: Hüseyin'den görüpte bulaştım. Teşekkürlerimi sunarım ;)

Wednesday, March 14, 2007

ilk

Bu da benim ilk yazım...
Bundan sonra hedefim 2 aydır yazamadığım bloglarımı yazmak.
Başlamam sebep olan da kendisini biliyor 'kanımca'
gizemimizi de yarattıktan sonra başlıyoruz:)
hadi hayırlı olsun :)

Uzun yıllar sonra tekrar C'ye geri dönüş yaptım hayırlı mı olacak, şer mi olacak...
Tez için herşeyi yapıcaz artık napalım :))

Windows altında çalışmak durumunda olduğum için çok güzel olduğunu duyduğum Cygwin ile işe başladım... Eski kitaplarımı açtım (How to program C)... öncelikle HelloWorld efsanesi ile işe başladım her şey süper giderken sıra hocam'ın bana göndermiş olduğu kodları çalıştırmaya geldi.

Veeeee taaaak "preprocessor"ler çok fena vurdu. Kitaplar karıştırıldı, "man gcc" hatmedildi ve aranan cevap bulundu. bu kadar basit olduğunu görünce bir utanma söz konusu oldu ama kimse bilmiyo çaktırmayın :))


Veee daha sonra (ve öncesinde olan compile sorunlarını saymıyorum bile) süper ötesi bir hata ile karşılaştım:

23653 [sig] gen 2080 d:\dev\cse\thesis\bin\gen.exe: *** fatal error - called with threadlist_ix -1
make: *** [run-gen] Hangup

araştırmalarım sonucu (Google tabii ki de :) ) öğrendim ki cygwin'e has bir sorunmuş.
Korktuğum yerden vurdu beni. Yılandan korkmam Pointer'lardan korktuğum kadar en sonda yapılması gereken free() fonksiyonu patlatıyo. Şu anda bir çözüm göremiyorum ama Linux kurmayı düşünüyorum.

Şu C için neler yapmadım (sanırım fazla bişey yapmadım :( ). NetBeans'in, Eclipse'in 'C Development Pack" lerini denedim, Visual Studio 6.0 denedim. Notepad denedim. Fakat hep karşılaştığım (ve Turbo C'de zerre sorun yaratmayan :) ) sorun şu oldu: "main()" fonksiyonu olan 2-3 tane c dosyasını aynı proje içinde kullanamadım bir türlü. Yıllar yılı Java ile uğraşa uğraşa o kadar alışmışım ki buna ne yapacağımı bilemiyorum. Şu anda Cygwin, make, Notepad++ kombinasyonu ile çalışıyorum. Fakat
eğer windows ile çalışmaya devam edeceksem Eclipse opsiyonu nu ciddi ciddi düşünmem gerekiyor sanırım, şu ana kadar en az uğraştıran oydu :). Netbeans Java için ant tabanlı ve dolayısıyla C için de make tabanlı bir yapıya büründüğü için ve o kadar make dosyalarını yönetmekte aşırı derecede zorlandığım için biraz uzak alternatif gibi görünüyor. Visual Studio ise aşırı derecede korkutuyor. Birisi derse ki gel ben sana "Kim korkar Visual Studio'dan" kursu vericem derse minnettar olurum :)
Aslında şu anda kullandığım kombinasyonu da oturttuğum için pek zorlanmıyorum ama o "Turbo C"nin mavi üzerine sarı ve beyaz fontlarla sıcacık ekranına kendimi atmamak için zor tutuyorum :))

Bu kadar Tez için yaptıklarımdan bahsettim tezimin konusu söylemeden de geçmeyelim:
"Locality Aware Task Scheduling in Heteregeneous Computing Environments"
"Bu nedir? yenir mi?" dediğinizi duyar gibi oluyorum.

Not: Televizyonun sesiymiş :)