25 Şubat 2017 Cumartesi

Asynchronous and Synchronous


Merhabalar, bu blog ta asenkron(eş zamansız) ve senkron(eş zamanlı) terimleri üzerine notlarımı yazacağım.

Önce terimleri haberleşme(serial communication) açısından ele alalım.

Asynchronous Communication

  • Taraflar belirlenen bir zaman aralığında veri gönderip alırlar.(Baud Rate:9600)
  • Taraflar arasındaki haberleşme zaman aralığı farklı ise anlamsız veri transferi olur.
  • Donanımsal olarak extra bir ihtiyaç yoktur.
  • Arduino serial asenkron haberleşmeye olanak sağlamaktadır.
  • Veri gönderim hızı düşüktür.
Synchronous Communication
  • Tasarlanması için donanımsal olarak bir clock gereklidir.
  • Clock sinyaline göre veri gönderilir ve alınır.
  • Design aşaması asenkrondan daha zordur.
  • Yüksek hızda veri gönderilebilir.
  • SPI(Serial Peripheral Interface) ve RS232 destekleyen yapılardır.
*RS232 Her iki bağlantı türünüde destekler.


Şimdide yazılım açısından bu terimlere bakalım.

Synchronous Software
  • Aynı anda sadece bir işlem yürütülür.
    • Örneğin C/C++ gibi dillerde kodlarımız tek tek, sırayla işlenir.
  • Bir işlem yürütülürken diğerleri bloklanır.

Asynchronous Software
  • Belirli zamanda birden fazla iş yapılması
    • Örneğin JavaScript te setTimeOut ile sistemi manipüle ederek asenkron kod çalıştırılabilir. 
    • AJAX(Asynchronous JavaScript and XML) yine bu şekilde çalışan bir kütüphanedir.
  • Bir diğer aşamaya geçmek için anlık durumun bitmesi beklenmez. Bloklama durumu söz konusu değildir.

Source: http://tutorials.jenkov.com/software-architecture/index.html


Hiç yorum yok:

Yorum Gönder