Yazan : Åžadi Evren ÅžEKER
Bilgisayar bilimlerinde özellikle de işletim sistemi ve müşterek programlamada (concurrent programming, eş zamanlı programlamada) sıkça kullanılan bir eşleme (synchronization) yöntemidir. Yani birden fazla işin (process) aynı anda çalışması halinde birbirleri için risk arzettikleri kritik zamanlarda (critical sections) birbirlerini beklemesini sağlayan bir mekanizmadır.
Basitçe bir değişken veya bir mücerret veri yapısı (abstract data type, soyut veri tipi, adt) üzerine kurulmuş olup, bu veri yapısı içerisindeki bilgiye ve fonksiyonlara göre çalışmaktadır.
Semaforların çalışması sırasında bölünmezlik (atomicity) ön plandadır. Yani bir semafor’un içerisinde yapılan birden fazla iÅŸ, program tarafından sanki tek bir iÅŸ gibi algılanmalı ve araya baÅŸka iÅŸin girmesine izin verilmemelidir.
Semaforlar kullanım alanları ve tasarımları itibariyle ikiye ayrılır:
- ikili semaforlar (binary semaphores)
- tam sayı semaforları (integer semaphores)
ilk semafor tipi olan ikili semaforlar sadece iki işlem (process) arasında eşleme (Synchornization) sağlar ve üçüncü bir iş için tasarlanmamıştır. Tam sayı semaforları ise istenilen miktarda işlemi kontrol edebilir.
3 klasik senkronizasyon probleminin aciklamasi yapacak birisi?
üretici tüketici problemi
yazma okuma problemi
ve filosoflarim aksam yemegi problemi
Merhaba hocam, semaphorelarda linuxde x dilinde Cigarette-smokers problemini nasıl yapabilirim POSIX ile yardımcı olur musunuz acaba bana?
X dili ile C dilini mi kastediyorsunuz?
POSIX uyumlu dil. örneğin c olabilir.
hocam merhaba ,
veri madenciliği kitabınızı mail olarak atar mısınız ?