Kritik bölge
Ortak veriye dokunan, bu yüzden aynı anda yalnızca tek bir yürütme akışının çalıştırabileceği kod parçası.
Sorunu 1965’te Edsger Dijkstra ortaya koydu: birkaç süreç bir değişkeni paylaşıyor ve biri içerideyken hiçbiri giremiyor. Sıradan bir işletim sisteminde çözüm kilittir: bekleme uzun sürebiliyorsa mutex, bölüm birkaç komutluksa spinlock. Windows hafif kilidine doğrudan CRITICAL_SECTION adını verecek kadar ileri gitti.
Tek çekirdekli bellenimde rakip genellikle bir kesmedir ve burada hiçbir kilit işe yaramaz: kesme işleyicisi ana döngüyü bekleyemez. Bunun yerine kesmeler kapatılır (__disable_irq() ya da ARM’de cpsid i), iş yapılır ve kesmeler yeniden açılır. Kesmeler kapalıyken geçen her mikrosaniye doğrudan sistemin kesme gecikmesine eklenir; bu yüzden kısa tutun, ayrıca önceki durumu kaydedip geri yükleyin, körlemesine yeniden açmayın; yoksa iç içe bir bölüm dıştakinin altındaki zemini çeker.