Message Queue tabanlı Event Driven yazılım geliştirme

Başlatan quarko, 12 Kasım 2016, 12:01:23

quarko

Merhabalar. Hepimiz bir şekilde elektronik cihazlarımızın yazılımlarını geliştirirken çeşitli sistemler kullanıyoruz. Ben şimdiye kadar hep "cooperative multitasking" yapısına benzer bir yapı kullanıyordum. Yani birtakım tasklarım var. Ama birbirini task switching ile kesmeden sıra ile işletiliyor. Ve her bir task kendi içerisinde state machine lara sahip. Bir ara preemptive multitasking te kullandım. Ama şuanki tecrübem ile message queue tabanlı olmak üzere event driven bir yazılım sisteminin en verimli olacağını düşünüyorum. Yani tasklarım olacak. Her bir taskın ana gövdesinde message queue dan gelecek mesajlara ait case lerim olacak. Hangi taska mesaj atılmışsa, o taska gidip ilgili kısım işletilecek. Tabi bunun da dezavantajları var. Mesela, Message Queue nun boyutu arttıkça sistem gerçek zamandan uzaklaşacak gibi. Buna benzer bir yapı kullanmayı tercih eden veya tecrübe etmiş arkadaşların yorumlarını öğrenmek istiyorum... Sizce bu gibi yazılım sistemleri (preemptive multitasking (RTOS), cooperative multitasking vs. vs.)ne gibi avantajlara veya dezavantajlara sahiptir ?
"Aslanlar kendi hikayelerini yazmadıkça, avcıların kahramanlık hikayelerini dinlemek zorundayız."

quarko

@CoDeR Hocam çok güzel anlattınız. Elinize emeğinize sağlık. Message Queue tabanlı event-driven bir yazılım sisteminin nasıl çalıştığını yeteri kadar biliyorum aslında. Bu verdiğiniz bilgiler de pekiştirmek adına çok faydalı oldu, çok teşekkür ederim.

Hepimiz elektronik cihazlara, genellikle C/C++ ile yazılımlar geliştiriyoruz. İlk başta C öğreniyoruz. Daha sonra projelerde bu öğrendiğimiz C bilgisini bir sistematik dahilinde adım adım geliştirmek suretiyle uyguluyoruz. Bu esnada ister istemez C öğrenirken tam olarak idrak edemediğimiz meseleleri derinden anlamış ta oluyoruz. Herşey güzel, buraya kadar. Ama bir eksik var. Bize C öğretirler de (veya kendimiz öğreniriz) nasıl geniş çapta projelerde bilgimizi kullanacağımız öğretilmez. Yani tuğlaları birbir dizip duvar örmeyi öğreniriz de, kocaman bir yapıyı inşa ederken izlememiz gereken metodları öğretmezler. Aslında işin gerçeği birçok kişi böyle bir sistematik olduğundan da habersizdir. Bu konuda şu sözün nedense cuk diye oturduğunu düşünüyorum. "vusülsüzlüğümüz usulsüzlüğümüzdendir."

Ayrıca linkini verdiğiniz kitabı edinip, okumaya çalışacağım hocam. Tekrar teşekkür ederim.
"Aslanlar kendi hikayelerini yazmadıkça, avcıların kahramanlık hikayelerini dinlemek zorundayız."

quarko

Kesnlikle hak veriyorum hocam. Birçoğu küçükte olsa bir yapı inşa etmiş değiller. Ama kesinlikle istisnalar vardır, dediğiniz gibi. Yiğidi öldür hakkını ver demişler.
"Aslanlar kendi hikayelerini yazmadıkça, avcıların kahramanlık hikayelerini dinlemek zorundayız."