Blog ' da Ara

Loading

14 Mart 2012

Latch Nedir Ve Latch Contention Sebepleri

      

Latch Nedir?
Latch SGA içerisindeki shared data yapısını korumak amacıyla ile geliştirilmiş düşük seviyeli seri data erişim mekanizmasıdır.Yani prosesiın SGA içerisinde memory parçasının tutmmasıdır.Proses bittiğinde ise ilgili latch başka bir prosese verilir. Latch İşletim sisteminden bağımsız değildir. Çünkü bir prosesin ne zaman biteceği ve ne kadar süreceği işletim sistemine bağlıdır.
                Latch bir çeşit lock dır.Şöyleki bir den çok kod betiklerinin aynı memory birimini kullanmaya çalışması ile meydana gelir. Çünkü latch tutan proses eğer sonlandırılırsa ilgili latch temizlenmiş olacaktır.
                Latch ve Enqueue arasındaki farklar Nelerdir?
                Enqueue bir oracle lock mekaizması olmasına karşın , birkaç prosesion aynı zmaanlı olarak bir kaynağı kullanımına izin verebilir.Tablo lock ları burada en iyi örnektir.Çünkü iki proses bir tabloyu share modda yada share update modda  lock edebilir.
                Latch ve enqueue arasındaki en belirgin fark burada Enqueue İşletim sistemi lock mekanizması tarafından oluşturulabilir ve .Latch ise işletim sistemi lock larından bağımsız olarak meydana gelir.Enqueue  kullanıcının lock içerisinde veri girişine izin verir. Eğer bir proses bir kaynağı lock edebilecek yapıya sahip değilse işletim sistemi tarafında enqueu mekanizmasında FIFO yasasına göre bekelmeye girer.
                Diğer bir önemli fark ise latchler enqueu ler gibi kaynağı sürekli tutamazlar.Çünkü belli zamanlama ile proses tekrarlanır ve eğer multi prosessor varsa spin yapabilir. Dolayısıyla beleten tüm prosesler aynı anda işlem yapmayı denerler.