Sistem Çağrısı ve Kesinti
Tipik bir işlemci talimatları birer birer yürütür. Ancak işlemcinin geçici olarak durması ve mevcut talimatı tutması ve başka bir program veya kod segmenti (başka bir yerde bulunan) yürütmesi gereken durumlar olabilir. Bunu yaptıktan sonra işlemci normal yürütmeye döner ve kaldığı yerden devam eder. Bir sistem çağrısı ve bir kesinti böyle durumlardır. Sistem çağrısı, sistemde yerleşik bir alt programa yapılan çağrıdır. Kesinti, harici donanım olaylarının neden olduğu bir program kontrol kesintisidir.
Sistem Çağrısı nedir?
Sistem çağrıları, bilgisayarda çalışan programlara işletim sistemiyle konuşmak için bir arayüz sağlar. Bir programın işletim sisteminin çekirdeğinden (kendi iznine sahip olmadığı) bir hizmet istemesi gerektiğinde, bir sistem çağrısı kullanır. Kullanıcı düzeyindeki işlemler, işletim sistemiyle doğrudan etkileşime giren işlemlerle aynı izinlere sahip değildir. Örneğin, harici G/Ç cihazıyla iletişim kurmak veya diğer işlemlerle etkileşim kurmak için bir programın sistem çağrılarını kullanması gerekir.
Kesinti nedir?
Bir bilgisayar programının normal yürütülmesi sırasında, CPU'nun geçici olarak durmasına neden olabilecek olaylar olabilir. Bunun gibi olaylara kesinti denir. Kesintiler, yazılım veya donanım hatalarından kaynaklanabilir. Donanım kesintileri (basitçe) Kesintiler olarak adlandırılırken, yazılım kesintileri İstisnalar veya Tuzaklar olarak adlandırılır. Bir kesme (yazılım veya donanım) oluşturulduğunda, kontrol, kesme tarafından oluşturulan koşulları işleyebilen ISR (Kesme Hizmeti Rutini) adlı özel bir alt programa aktarılır.
Yukarıda belirtildiği gibi, Kesinti terimi genellikle donanım kesintileri için ayrılmıştır. Harici donanım olaylarının neden olduğu program kontrol kesintileridir. Burada harici, CPU'nun harici anlamına gelir. Donanım kesintileri genellikle zamanlayıcı yongası, çevresel aygıtlar (klavyeler, fare vb.), G/Ç bağlantı noktaları (seri, paralel vb.), disk sürücüleri, CMOS saati, genişletme kartları (ses kartı, video vb.) gibi birçok farklı kaynaktan gelir. kart, vb). Bu, yürütülmekte olan programla ilgili bazı olaylar nedeniyle donanım kesintilerinin neredeyse hiç gerçekleşmediği anlamına gelir. Örneğin, kullanıcının klavyede bir tuşa basması veya dahili donanım zamanlayıcısının zaman aşımına uğraması gibi bir olay, bu tür bir kesmeyi artırabilir ve CPU'ya belirli bir cihazın biraz dikkat etmesi gerektiğini bildirebilir. Böyle bir durumda CPU her ne yapıyorsa durdurur (yani mevcut programı duraklatır), cihazın gerektirdiği hizmeti sağlar ve normal programa geri döner.
Sistem Çağrısı ve Kesinti arasındaki fark nedir?
Sistem çağrısı, sistemde yerleşik bir alt yordama yapılan bir çağrıdır, Kesme ise işlemcinin geçerli yürütmeyi geçici olarak tutmasına neden olan bir olaydır. Ancak önemli bir fark, sistem çağrılarının eşzamanlı, kesmelerin ise senkronize olmamasıdır. Bu, sistem çağrılarının sabit bir zamanda (genellikle programcı tarafından belirlenir) gerçekleştiği anlamına gelir, ancak kullanıcı tarafından klavyede bir tuşa basılması gibi beklenmedik bir olay nedeniyle herhangi bir zamanda kesintiler meydana gelebilir. Bu nedenle, bir sistem çağrısı olduğunda, işlemcinin yalnızca nereye döneceğini hatırlaması gerekir, ancak bir kesinti durumunda, işlemcinin hem geri döneceği yeri hem de sistemin durumunu hatırlaması gerekir. Bir sistem çağrısından farklı olarak, bir kesmenin genellikle geçerli programla hiçbir ilgisi yoktur.