Kernel space'den user space'e event oluşturmak

Başlatan Gökhan BEKEN, 02 Ekim 2015, 12:51:42

Gökhan BEKEN

Yapmak istediğim şu, user space'de yazdığım program, kernel space'de çalışan programa, /dev/modulAdi şeklinde erişiyor, ve istediğim kadar buffer dolduruyor, ancak verinin hazır olup olmadığını bilmediğim için, senkron çalıştıramıyorum.
Bana öyle bir şey lazım ki, kerneldeki buffer dolduğu an, user space'deki çalışan programımda event oluşsun ve kesme fonksiyonuma dallansın.
Yani manüel değil otomatik olması gerekiyor. Bunun nasıl yapıldığını bulamadım. Bilenlerden yardım istiyorum.

Sorunun, geçmişi için şu linke bakabilirsiniz: https://www.picproje.org/index.php/topic,52174.msg474992.html#msg474992
Özel mesaj okumuyorum, lütfen göndermeyin.

mufitsozen

Normal olarak semaphore'larla yapilabilir. Thread'inizi okuyup hangi OSla calistiginiza bakamadim ama unix varyanti bir isletim sistemi kullandiginizi dusunuyorum.

application da sem_wait, kernel mode'dada sem_post yaparsiniz.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

Gökhan BEKEN

Evet hocam linux için sordum. Raspberry pi üzerinde çalışıyor kodlarım. Dediklerinizi araştıracağım.
Şu an sürekli while içinde veri var mı diye soruyorum, kernel uygulaması eğer veri hazır ise gönderiyor, hazır değilse göndermiyor,
ve user uygulaması veri okuyamazsa pas geçiyor, okursa işleme alıyor.
Böyle yapınca mantık olarak çalışması lazım ama gecikme oluyor ve boş yere sürekli sorgu yapıyorum.
Bu yüzden otomatikleştirmem lazım.
Özel mesaj okumuyorum, lütfen göndermeyin.