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