Semafor ve Monitör Arasındaki Fark

Semafor ve Monitör Arasındaki Fark
Semafor ve Monitör Arasındaki Fark

Video: Semafor ve Monitör Arasındaki Fark

Video: Semafor ve Monitör Arasındaki Fark
Video: SPSS'te Bağımsız İki Grubun Karşılaştırılması (Parametrik - Non Parametrik Koşullar) 2024, Temmuz
Anonim

Semafor ve Monitör

Semafor, paralel programlama ortamlarında birden çok işlemin ortak bir kaynağa veya kritik bir bölüme aynı anda erişmemesini sağlamak için kullanılan bir veri yapısıdır. Semaforlar, kilitlenmelerden ve yarış koşullarından kaçınmak için kullanılır. Monitor, aynı anda birden fazla işlemin ortak bir kaynağa erişmesini önlemek için kullanılan bir programlama dili yapısıdır, bu nedenle karşılıklı dışlamayı garanti eder. Monitörler bu görevi gerçekleştirmek için koşullu değişkenleri kullanır.

Semafor nedir?

Semafor, kritik bölümlere karşılıklı dışlama sağlamak için kullanılan bir veri yapısıdır. Semaforlar esas olarak bekleme (tarihsel olarak P olarak bilinir) ve sinyal (tarihsel olarak V olarak bilinir) olarak adlandırılan iki işlemi destekler. Bekleme işlemi, semafor açılıncaya kadar bir işlemi engeller ve sinyal işlemi başka bir işlemin (iş parçacığının) girmesine izin verir. Her semafor, bir bekleme süreci kuyruğu ile ilişkilendirilir. Bir iş parçacığı tarafından bekleme işlemi çağrıldığında, semafor açıksa, iş parçacığı devam edebilir. Bir iş parçacığı tarafından bekleme işlemi çağrıldığında semafor kapatılırsa, iş parçacığı engellenir ve kuyrukta beklemesi gerekir. Sinyal işlemi bir semafor açar ve kuyrukta bekleyen bir iş parçacığı varsa bu işlemin ilerlemesine izin verilir ve kuyrukta bekleyen iş parçacığı yoksa sinyal sonraki iş parçacıkları için hatırlanır. Mutex semaforları ve sayma semaforları olarak adlandırılan iki tür semafor vardır. Mutex semaforları, bir kaynağa tek bir erişime izin verir ve sayma semaforları, birden çok iş parçacığının bir kaynağa (birkaç birimi olan) erişmesine izin verir.

Monitör Nedir?

A monitör, paylaşılan verilere erişimi kontrol etmek için kullanılan bir programlama dili yapısıdır. Monitörler, paylaşılan veri yapılarını, prosedürleri (paylaşılan veri yapıları üzerinde çalışan) ve eşzamanlı prosedür çağrıları arasındaki senkronizasyonu kapsar. Bir izleyici, verilerinin yapılandırılmamış erişimlerle karşı karşıya kalmamasını sağlar ve adımların (izleyicinin verilerine prosedürleri aracılığıyla erişen) meşru bir şekilde etkileşime girmesini garanti eder. Bir monitör, belirli bir zamanda yalnızca bir iş parçacığının herhangi bir izleme prosedürünü yürütmesine izin vererek karşılıklı dışlamayı garanti eder. Başka bir iş parçacığı monitörde bir yöntemi çağırmaya çalışırsa, bir iş parçacığı monitörde zaten bir yordam yürütürken, ikinci yordam engellenir ve kuyrukta beklemesi gerekir. Hoare monitörleri ve Mesa monitörleri olarak adlandırılan iki tür monitör vardır. Esas olarak zamanlama anlambilimlerinde farklılık gösterirler.

Semafor ve Monitör arasındaki fark nedir?

Paralel programlama ortamlarında karşılıklı dışlamayı sağlamak için hem semaforlar hem de monitörler kullanılsa da, bu görevi gerçekleştirmek için kullanılan tekniklerde farklılık gösterirler. Monitörlerde, karşılıklı dışlamayı sağlamak için kullanılan kod tek bir yerdedir ve daha yapılandırılmıştır, semaforlar için kod ise bekleme ve sinyal fonksiyon çağrıları olarak dağıtılır. Ayrıca, semaforları uygularken hata yapmak çok kolaydır, monitörleri uygularken hata yapma şansı çok azdır. Ayrıca, monitörler durum değişkenlerini kullanırken semaforlar kullanmaz.

Önerilen: