Dr. Volkan Tunalı'nın Kişisel Blogu

Bilgisayar, Teknoloji, Bilim, Sanat

Simülatör mü Emülatör mü?

one comment

Simülatör ve Emülatör terimlerinin bilişim profesyonellerince bile sürekli karıştırıldığına şahit oluyorum. Gördüğüm kadarıyla ya rastgele bir biçimde terimler birbirinin yerine kullanılıyor ya da ikisi arasındaki farkı bilmeyenler tarafından sürekli simülatör olarak kullanılıyor. Bu yazıda ikisi arasındaki farkı örneklerle açıklayacağım.

Emülatör, bir sistemin işleyişini taklit eder ve taklit ettiği sistemin sunduğu özellikleri aynen sağlar. Böylece bu sistemi kullanan diğer sistemler için bunun gerçek sistemden bir farkı yoktur.

Simülatör ise gerçek bir sistemi sadece modeller, yani sadece işleyişini örnekler, gerçeğe benzer bir ortam oluşturmaya çalışır. Örneklediği sistemin çalışmasının anlaşılmasına yardımcı olur. Simülatör, gerçek sistemin yerine geçebilecek bir sistem değildir. Kullanım amacı bakımından emülatörden kesin bir şekilde ayrılır.

Mobil cihazlar için yazılım geliştirenler yazılımlarını önce emülatörde çalıştırıp test ederler, hata ayıklama işini bu şekilde yaparlar. Yani geliştirilen yazılım gerçek bir mobil cihazdaki koşulların aynısıyla çalışır. Yazılım için emülatörün gerçek cihazdan hiç farkı yoktur.

Emülatöre verilebilecek benzer bir örnek de sanal makina (virtual machine) adını verdiğimiz yazılımlardır. Bu yazılımlar gerçek bir bilgisayarı öylesine iyi bir şekilde emüle ederler ki üzerlerine kurulan işletim sistemi de sonrasında kurulan yazılımlar da tamamen gerçek disk, bellek ve işlemciye sahip gerçek bir bilgisayar üzerinde çalışıyormuş gibi çalışırlar.

90′ların başında henüz piyasada 386 ve 486 işlemciler varken, matematik işlemcisi (co-processor) olmayan 386 işlemcili PC’lerde meşhur AutoCAD yazılımının yanlış hatırlamıyorsam 10 sürümünü çalıştırabilmek için önce matematik işlemci emülatörünü çalıştırmak gerekiyordu. Böylece AutoCAD yazılımı yüksek hassaslıklı matematiksel işlemleri yapmak için bu emülatörü kullanmış oluyordu. Biraz yavaş olsa da AutoCAD yazılımı çalışabiliyordu.

Eski atari oyunlarını bugün PC’lerde aynen oynayabilmemize olanak sağlayan MAME gibi yazılımlar da atari cihazlarını mükemmel şekilde gerçekleyen emülatörlerdir.

Microsoft Flight Simulator gibi yazılımlar adından da anlaşılacağı gibi simülatördürler, gerçek bir uçuşu ve uçağı mümkün olduğunca gerçekçi bir biçimde örneklemeye çalışırlar. Eğer simülatör değil de emülatör olsalardı kullanıcıları gerçekten uçurmaları gerekirdi. :)

Elektrik/elektronik devre simülatörleri de gerçek bir devrenin çalışma prensiplerini modellerler. Elektrik/elektronik bileşenlerle kurulan devrelerin çalışmaları sırasındaki gerilim ve akım gibi değerlerin gerçeğe uygun olarak oluşmasına ve ölçümlenmesine olanak sağlarlar. Ama hiçbir zaman gerçek bir devrenin yerine geçebilecek bir ortam oluşturulamaz. Yani yapılan şey bir emülasyon değil simülasyondur.

Teknik terimleri en azından bu işlerle bir şekilde ilgisi olan teknik kişilerin doğru kullanması gerektiğine inanıyorum. Emülatör ve simülatör genelde çok karıştırılan iki terim. Bu yazıda bu ikisinin örneklerle net bir şekilde anlaşıldığını umuyorum.

Written by vtunali

Temmuz 17th, 2012 at 11:26 pm

Matlab ile Örnek Bir Konuşma Tanıma Uygulaması – Sonuç

7 comments

Matlab kullanarak örnek bir Konuşma Tanıma uygulamasının nasıl yapılabileceğine ilişkin Giriş ve Gelişme başlıklı iki yazı yazmıştım. Bu yazılara şu bağlantılardan ulaşabilirsiniz:

Matlab ile Örnek Bir Konuşma Tanıma Uygulaması – Giriş
Matlab ile Örnek Bir Konuşma Tanıma Uygulaması – Gelişme

Şimdi bu yazı serisini bir Sonuç yazısı ile sonlandırmak istiyorum.

Giriş ve Gelişme yazılarımdan sonra beklediğim gibi, bana bu konuda e-posta ile ulaşanların sayısı sıfıra yaklaştı. Umarım gerçekten yararlı olmuştur; bu konuda geri bildirim gelmediği için bilgim yok. Keşke bu yazılardan yararlananlar yaptıkları çalışmalar hakkında kısaca bilgi verseler, bu alanda yapılan çalışmaları bilmek gerçekten hoşuma gider. Nadiren de olsa konuşma tanımayı kullanan değişik uygulamalar (cihaz denetimi vb.) yapmayla ilgili bilgi ve fikir almak için e-posta ile ulaşanlar oluyor, bu da bana örnek uygulamanın deneyenler tarafından kullanılabilir olduğunu ve işe yaradığını gösteriyor.

Yazımı Konuşma Tanıma alanında çalışan herkese başarılar dileyerek bitirmek istiyorum. Kolay gelsin.

Written by vtunali

Nisan 4th, 2011 at 1:55 am

YKTE Hastalığı

leave a comment

Günümüzde yazılım geliştiriciler arasında sık görülen, bulaşıcılığı hayli yüksek bir hastalıktan bahsetmek istiyorum: YKTE hastalığı. Muhtemelen ilk kez duyuyorsunuz bu hastalığı çünkü ben şimdi uydurdum. Ama yazılım geliştirmeyle ilgili çalışmışlığınız varsa semptomlarını mutlaka sıkça görmüşsünüzdür. Yazdığı Kodu Test Etmeme hastalığından bahsediyorum. Genelde genç, sektöre yeni girmiş, henüz yeterince deneyim sahibi olmamış yazılımcıların bu hastalığa kolay yakalandığını görüyorum. Geliştirilen programın neredeyse hiç test edilmemesiyle kendini belli eden bir hastalık bu. YKTE hastaları kodlamayı zevkli bulurlar ama kodlarını test etmek onlar için yapılabilecek en sıkıcı iştir. Genellikle bu kişilere tatlı dilli uyarılar işe yaramadığı gibi sert çıkışların da çare olmadığını biliyorum. Hatta çoğu zaman yazılımcılar yoğun iş planı, zaman kısıtı gibi bahaneler öne sürerek hastalıklarını kabullenmeyip hastalıklarının daha da ilerlemesine göz yumuyorlar.

Genç arkadaşlar, kod geliştirmeyi iyi bildiğine inananlar, “tasarım kalıplarını yedim bitirdim” diyenler, “cool coder” olduğunu iddia edenler; yazdığınız kodu adam akıllı test etmiyorsanız, “nasıl olsa ufak bir değişiklik yaptım, kesin sorun çıkmaz” diyorsanız, “ben yazdım, biri bi’ test ediversin, sorun çıkarsa bakarız”ı alışkanlık edindiyseniz, gerçekçi ve anlamlı veriler/girdiler yerine uyduruk şeylerle test etmeyi yeterli buluyorsanız, bir an önce YKTE hastalığından kurtulmaya bakın, çünkü işinizi iyi yapmıyorsunuz, işinizi doğru yapmıyorsunuz, işinizi eksik yapıyorsunuz, yazılım geliştirmeyi eksik biliyorsunuz. Kusura bakmayın, böyle devam ettiğiniz sürece en iyi yaptığınız işler bile başarısız görülmeye mahkum.

Ben şuna inanırım, kodlamak/geliştirmek 1 birim ise test etmek 3 birim özeni/zamanı/dikkati hakeder. Çevremdeki deneyimli yazılımcıların da aynı düşüncede olduğunu biliyorum. Eğer işinize önem veriyorsanız, yazılım geliştirme alanında profesyonellik hedefliyorsanız kendinizi tanıyın, iyi olduğunuz şeyleri bildiğiniz kadar hatalarınızı da bilin ve YKTE gibi sorunlarınız varsa bunlardan kurtulmaya bakın.

Written by vtunali

Mart 17th, 2011 at 5:55 pm

Çocuklar İçin Tehlikeli 5 Şey

one comment

TED‘de Gever Tulley’in ilginç bir konuşmasını seyrettim. Tinkering Okulu‘nun kurucusu olan Tulley, çocuklarınızın yapmasına izin vermeniz gereken 5 tehlikeli şeyi ayrıntılarıyla açıklıyor. Çocuk sahibi olanlar ya da olmayı planlayan herkesin vakit ayırıp sonuna kadar seyretmesini öneririm. Videoda Türkçe altyazı seçeneği de var.

Written by vtunali

Şubat 5th, 2011 at 1:37 pm

Posted in Genel

Tagged with , , , ,

Spam (İstenmeyen İleti) Azalıyormuş

leave a comment

turk.internet.com’daki habere göre dünya çapında spam (istenmeyen, yığın ileti) miktarında düşüş yaşanmaktaymış.

Ama ben her gün yüzlerce spam ileti temizlemeye devam ediyorum. “Spam artık önemli bir sorun değil” diyen var mı? Ne yazık ki spam tespit algoritmaları akıllandıkça spam’ciler daha yaratıcı yöntemler buluyorlar.

Spam demişken, Türk Telekom’un 25 numaralı SMTP portunu kapatması kimin işini zorlaştırdı ve kimin işine yaradı acaba?

Written by vtunali

Ocak 10th, 2011 at 2:22 am

Posted in Bilişim-Teknoloji

Tagged with , ,