Kesilme Fırtınası

Kısaca: Kesme fırtınası, işletim sistemlerinde işlemcinin, işlemci zamanının büyük kısmını harcayan aşırı sayıda ve düzensiz olarak oluşan kesintilere maruz kalması olayına denir. ...devamı ☟

düzenle-tr

Kesilme Fırtınası (Interrupt Storm)

İşletim sistemlerinde işlemcinin, işlemci zamanının büyük zamanını harcayan aşırı sayıda ve düzensiz olarak oluşan kesintilere maruz kalması olayına “interrupt storm” denir. “interrupt storm” tipik nedeni kesinti limit oranlarını desteklemeyen donanımlardır.(interrupt rate limiting).

Arka Plan(background)

interrupt storm” zaman paylaşımlı işletim sistemlerde non-preemptible olaylardır. Çünkü “interrupt storm” düşük algılama sistem duyarsızlığına(?) ya da sistemin tamamen donmasına neden olur. Bu durum genelde live lock olarak bilinir. Böyle bir durumda, sistem çok fazla işlemci kesintisine maruz kalır, başka hiçbir iş tamamlanamaz. Herhangi bir kullanıcı çıktısı ve network faaliyeti olmadığı için işlem de hiçbirşey yokmuş gibi görünür.“interrupt storm” bazen trashing gibi algılanabilir çünkü ikisininde belirti aynıdır ancak sebepleri farklıdır.

“interrupt storm” un birçok farklı neden i vardır bunların içinde ayarlanmamış donanım, hatalı sürücüler ya da kusurlu işletim sistemleri sayılabilir. En modern donanım düzenleme yöntemleri “interrupt storm” oluşma olasılığını azaltıcıdır. Örneğin bazı Ethernet denetleyicisi "interrupt rate limiting" i yerine getirir.Denetleyici her iki gecikme arasındaki minumum bekleme süresi için bir çok Ethernet kontrolleri rate limiting oluşturur.

En sık karşılaşılan interrupt storm APIC(gelişmiş programlanabilir kesilme denetleyicisi) kontrolü altındaki, diğer sinyalleri APIC`ı kesilmek üzere arkalayan(behind) arızalı bir sürücüdür(driver). Bunun üzerine OS bu kesilmede tüm sürücülere kesilmenin hardware`den kaynaklanıp kaynaklanmadığını sorar. Arızalı sürücüler her zaman “evet” açıklamasını verir, ancak hardware`in bir araya toplanmasıyla kesilmenin hardware kaynaklı olmadığı sonucu çıkar ve bu cevap daha fazla sürdürülmez. İlk başta(orijinde) kesilmeye uğrayan cihaz kendi kesilme servisine ulaşamaz, yeniden kesilir ve böylece döngü yeniden başlar. Interrupt storm altındaki sistem ölüme kilitlenir. Bu bazı ana kartlardaki (motherboards) ses kartları( sound cards) serilerinden sound blaster live`da problem oluşturur ve sadece bir (kernel debugger) çekirdek ayıklayıcı arızalı sürücüyü kaldırarak bu sorunu kırabilir.

Pek çok OS ( polling mode)oylama modu görevini yapar bu cihazlar için kesilmeleri engeller. Bu modda OS periyodik olarak donanımı gelen görevler için sorgular.Kesilme sayısı arttıkça ve kesilme modunun etkinliği azaldıkça OS durakalyan cihazı(interrupting device) kesilme modundan oylama moduna çevirebilir. Aynı şekilde eğer oylama modu kesilme modundan daha az etkin hale gelirse OS cihazı yeniden kesilme moduna çevirebilir. Hardware`in kesilme hızı limiti(interrupt rate limiting) bu tarz oylama modlara olan ihtiyacı gereksiz hale getirir.

DİKKAT



Optimum(en uygun) sonuçlar için durakalama hızı limitinin dikkatlice ayarlanması gereklidir. Örneğin, kesilme hızı limiti olan bir Ethernet kontrolörü durakalamalar arasında networkten gelecek paketleri tamponlayacaktır. Eğer hız çok fazla olursa, kontrolörün tamponlaması taşacak(overflow) ve bazı paketler düşecektir. Hız, kesilmelar arasındaki tamponlamanın hızının ne olacağını ve kesilme ile tamponlamaya geçiş arasındaki interrupt latency(kesilme süreci, kesilme latansı)nı hesaba katarak ayarlanmalıdır.



Kesilme hafiflemesi



Yazılımsal ve donanımsal yaklaşımlar vardır. NAPI ile aralarında:
  • Sistem kesilme durumunda çalışmaya başlar.
  • Kesilme tutucu kesilmeyi engeller ve tehlikelere karşı olayları tutar (olaya örnek olarak gelen Ethernet paketi)
  • İşlem aygıtı seçer,olay numaralarını işler ve kesilmeye izin verir.


Başka bir donanımsal destek yaklaşımıda olay kuyruğunun durumu boştan doluya döndüğünde aygıt kesilme yaratır.

Aygıt(device)

  • DMA`in boş olmadığı durumda RX FIFO`deki descriptors kuyruğun durumu düşer.
  • Kuyruğa durum ekle ve FIFO`nun girişini doğru olarak ayarla.
  • Giriş boş ise kesilme yaratır.
  • Kuyruk göstergesini arttır.
CPU (Kesilme yöneticisi)
  • Kesilmeyi onayla (eğer donanım onay gerektirirse)
  • Baştaki geçerli olan tüm DMA açıklamalarını yönet.
  • Kesilmeden geri dön.

Kaynaklar

Vikipedi

İlgili konular

ana kart ethernet

Bu konuda henüz görüş yok.
Görüş/mesaj gerekli.
Markdown kullanılabilir.