Semafor (Semaphore, Flama, İşaret)
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.
« Atomluluk (Atomicity) | Aks-i Müfret (Palindrome) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Semafor (Semaphore, Flama, İşaret)' isimli yazı 30 Mar 2009 tarihinde, saat: 16:30 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 1180 defa okunmuştur.
Benzer yazıları Programlama Dilleri, bilgisayar felsefesi, işletim sistemleri kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Visual Basic ile Gösterici (Pointer) Kullanımı
- Hasse Çizgeleri (Hasse Diagrams)
- Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )
- Integral Kriptoanalizi ( Toplam Tecessüsü , Integral Cryptoanalysis)
- Diferansiyel Kriptoanalizi ( Fark Tecessüsü , Differential Cryptoanalysis)
- Sierpinski Üçgeni (Sierpinski Triangle)
- C ile programlamaya giriş final sınavı çözümleri
- Çok Seviyeli Sıralar (Multi Level Queues)
- Çift Özetleme (Double Hashing)
- İkinci Dereceden Sondalama (Quadratic Probing)
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Sıralama işleminiz poligonu...
- Şadi Evren ŞEKER: bahsettiğiniz sıralama algoritması...
- Abdurrahman ulusoy: merhaba hocam. gelişigüzel...
- Oguz Okutan: Merhaba hocam.. Fonksiyonlarda degere göre...
- Şadi Evren ŞEKER: Null, NULL, nil veya null olarak...
- Fatih Kabakci: hocam merhabalar,...
- kara: Çok güzel anlatılmış gerçekten teşekkürler...
- Şadi Evren ŞEKER: Bahsettiğiniz şekil dönüşümü...
- Caner: Kullanıcıdan açı girdisi almıyorsanız...
- Furkan Yediyildiz: Algoritmanin mantigi cok güzel...
- havva: çok sağolun çok güzel açıklamalar var tşk...
- Şadi Evren ŞEKER: typedef komutu, bir yapıdan yeni bir...
- fatih kabakci: hocam ben structures ile ilgili bir sorum...
- Şadi Evren ŞEKER: evet, yukarıda açıklanan, herhangi...
- Abdurrahman ulusoy: fi açısından teta kadar döndürme...
- Şadi Evren ŞEKER: Hayır yok, bir noktanın, herhangi...
- Abdurrahman ulusoy: Bu durumda yukarıdaki formüllerin...
- Abdurrahman ulusoy: Merhaba hocam Üstteki mesajımda...
- mustafa ekmekcioğlu: merhaba şadi bey ben hacettepe...
- Şadi Evren ŞEKER: Talebiniz üzerine...
Yakın Yazılar
Semafor (Semaphore, Flama, İşaret)
SNR (Signal to Noise Ratio, İşaret Gürültü Oranı, S/N)
Özel isim (hususî isim, proper noun)
Uyum (Agreement, Kabul, Bağıt, Mutabakat)
Soyut İsim (mücerret, abstract noun)
İlgi Belirsizliği (reference ambiguity)
2 geçişli çeviriciler (2 pass assemblers)
Varlık-Ağaç Modelleme (Tree Model)
Bilgi Çıkarımı (Information Extraction)
Bağlantılar