Linux Signal Handler tam olarak ne zaman çalışır?
Linux signal handlerı tam olarak ne zaman çağırıyor ve neden öyle çalışıyor?
Linux Signal Handler tam olarak ne zaman çalışır?
Linux signal handlerı tam olarak ne zaman çağırıyor ve neden öyle çalışıyor?
Öncelikle çoğu Operating System’de 2 mod olduğunu anlamamız lazım. Bunlar Kernel ve User modlarıdır. Kernel donanımla doğrudan bağlantıya geçebilir ve çok daha kritik işlemler yapabilirken, User modu ona göre çok daha kısıtlıdır. (kendi güvenliğimiz için)
Bence bana CPU’mun tam kontrolünü vermek çok iyi olmazdı.
Her neyse, Signal Handler da bu 2 mod arasında Kernel modunda User moduna geçerken çalışır. Bunun sebebi tamamen güvenliktir. Eğer kerneldan hemen sonra user modu çalışsaydı aşağıdaki sıkıntılar çıkabilirdi.
-
Aynı stack alanını kullanmaları(eğer user fonksiyonu çökerse kernel yani herşey çöker)
-
Kernel ring 0(ayrıcalık seviyesi) User ring 3 olduğu için bunlar doğrudan birbirleriyle çalışamazlar çünkü ayrı seviyedeler.
Tam olarak bu yüzden Signal handler, bu geçişi daha da güvenli kılar. Kernel’ın işinin tamamen bittiğine emin olduktan sonra topu direkt usera atmaktansa önce bir Signal Handler çalışır ve sonra user fonksiyonu çalışır.
Artık CPU ring 3'e düşürülür ve user fonksiyonu güvenlice çalıştırılabilir.

메타데이터
- post_id
- d80b0dfdaca7
- slug
- linux-signal-handler-tam-olarak-ne-zaman-çalışır-d80b0dfdaca7
- url
- https://medium.com/@ffurkan.senol/linux-signal-handler-tam-olarak-ne-zaman-%C3%A7al%C4%B1%C5%9F%C4%B1r-d80b0dfdaca7
- canonical_url
- https://medium.com/@ffurkan.senol/linux-signal-handler-tam-olarak-ne-zaman-%C3%A7al%C4%B1%C5%9F%C4%B1r-d80b0dfdaca7
- author_url
- https://medium.com/@ffurkan.senol
- status
- ok
- fetched_at
- 2026-06-23 19:38:28