Kesme öncelik düzeyi - Interrupt priority level

Kesme öncelik düzeyi ( IPL ) Mevcut sistem bir parçası olan kesme gösterir devlet, kesme istekleri halen kabul edilecektir. IPL, bir kayıt listeleri ile donanım belirtilebilir Programlanabilir Kesme Kontrolör veya ipliklerin bir bit maskesi veya tamsayı değer ve kaynak kodu ile yazılımda

genel bakış

Gibi (tüm devre dışı kesmeler) 0 (tüm kesmeler etkin) ya da 1: IPL göre bir tam sayı, sadece iki değeri ile, tek bir bit kadar küçük olabilir MOS Technology 6502 . Bununla birlikte, bazı mimarileri her değer aynı veya daha düşük seviyede olanlar bloke ederken, daha yüksek bir seviyeye belirtmek kesme istekleri sağlayan değerler daha geniş bir yelpazede, izin verir.

Kesme isteklerine farklı öncelikler atama kesme karşı sistem verimi dengelemeye çalışırken yararlı olabilir gecikme kesme bazıları türlü diğerlerinden daha çabuk cevap gerekir, ancak bir atamak için mantıklı şekilde işleme miktarı, büyük olmayabilir: kesmenin bu tür yüksek öncelik.

Kesme seviyesinin kontrolü de veri yapılarını çekirdek erişimini eşitlemek için kullanıldı. Böylece, seviye-3 zamanlayıcı kesme işleyici geçici aslında süreç bağlamları geçiş yapmadan önce, sonra alt sırt 3'e, herhangi bir gerçek zamanlayıcı veri yapılarını erişmeden önce 7'ye IPL yükseltecektir. Ancak, oldu değil senkronizasyon sisteminin bütünlüğünü yok edebilecek bunu beri, girilen alındığı aşağıda IPL düşürmek için bir kesme işleyicisi için izin verdi.

Tabii ki, çok işlemcili sistemler burada ele alınmamıştır kendi komplikasyonları, ekleyin.

Ne olursa olsun donanım destekleyebilir ne, tipik UNIX tipi sistemler sadece iki seviye faydalanmak: Minimum (bütün engelli kesmeleri) ve maksimum (tüm kesmeler etkin).

OpenVMS IPLs

Şimdiye kadar dağıtılan daha ayrıntılı IPL-dağıtım sistemi bir örnek olarak, VAX bilgisayarı ve ilgili VMS 16 altındaki değerler ise, işletim sistemi, 0 ila 31 Öncelikleri 16, 32 öncelik düzeylerini destekler ve yukarıda dış donanım gelen talepleri olan için kullanılabilir yazılım kesmesi (kendi faaliyetlerini planlamak için işletim sistemi tarafından dahili olarak kullanılır). Tüm değerler gerçekte kullanılan, ama burada daha önemli olanlardan bazıları şunlardır gibidir:

  • seviye 31 "güç düşüşlerinden" kesme içindir.
  • seviye 24 saat kesme içindir. Bu G / Ç kesmeler daha yüksek bir öncelik olduğuna dikkat edin.
  • düzeyleri 20-23 I / O cihazları için kullanılır.
  • seviyeleri 8-11 için kullanılan çatal kesmeleri . Bir sürücü bir aygıt kesme (öncelik 20-23) aldığında, bu kadar yüksek bir önceliğe mümkün olduğunca az işlem yapmak gerekiyordu; zaman kaybına operasyonlar yapılması gerekiyorsa bunun yerine, bu 8-11 aralığında bir yazılım kesmesi isteyerek ertelenmiş edilmelidir; Bu kesme tetiklendiğinde, ileri işleme devam edecektir. Buna benzer "alt yarıları" ve onların halefleri olan Linux kernel.
  • düzeyi 7 işlem zamanlayıcı veri yapılarına erişim senkronize etmek için kullanılır.
  • 4. seviye I / O sonrası görevler-olduğu, bir son tamamlanması için kullanılan Qio uygulama işlemi dönen sonuçlar dahil olmak üzere isteğe.
  • 3. seviye işlem yeniden programlama kesme için kullanılır. Daha yüksek kesme seviyelerinde yürütme Herhangi kodu (bir süreçtir reschedule sürmekte olabileceğini beri) bir akım süreç bağlamı olduğunu varsaymak izin verilmez. Özellikle, sayfa hataları bu veya daha yüksek seviyelerde izin verilmez.
  • 2. seviye işlem başına veri yapılarına erişim senkronize etmek için kullanılır. Çekirdek, bir işlem bağlamında erişim ihtiyacı her zaman, bu işlemi bir gönderir özel çekirdek AST IPL 2 proses bağlamında yürütür.
  • düzeyi 0 sıradan uygulama kodunu içeren olmayan kesme kod yürütülmesi, normal düzeydedir.

Alfa donanım IPLs için yerel destek içerir. Ne zaman OpenVMS için taşıdık oldu Itanium 2001 yılında, IPL şeması Itanium donanımı tarafından sağlanan özellikler kullanılarak simüle edilmiştir.

Ayrıca bakınız