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.

Yorumlar

  1. viensdans

    3 klasik senkronizasyon probleminin aciklamasi yapacak birisi?
    üretici tüketici problemi
    yazma okuma problemi
    ve filosoflarim aksam yemegi problemi

  2. Hakan

    Merhaba hocam, semaphorelarda linuxde x dilinde Cigarette-smokers problemini nasıl yapabilirim POSIX ile yardımcı olur musunuz acaba bana?

Şadi Evren ŞEKER için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir