Sistem Çağrısı ve Kesinti
Tipik bir işlemci talimatları tek tek yürütür. Ancak, işlemcinin geçici olarak durması ve geçerli talimatı tutması ve başka bir program veya kod segmenti yürütmesi (başka bir yerde ikamet etmesi) 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 bu tür olaylardır. Sistem çağrısı, sistemde yerleşik bir altyordam çağrısıdır. Kesme, 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 arabirim sağlar. Bir programın işletim sisteminin çekirdeğinden (kendisi için izni olmayan) bir hizmet istemesi gerektiğinde, bir sistem çağrısı kullanır. Kullanıcı düzeyindeki işlemler, işletim sistemiyle doğrudan etkileşim kuran işlemlerle aynı izinlere sahip değildir. Örneğin, harici I / O cihazı ile 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. Bu gibi olaylara kesinti denir. Kesintilere yazılım veya donanım hataları neden olabilir. Donanım kesmeleri (basitçe) Kesmeler olarak adlandırılırken, yazılım kesmeleri İstisnalar veya Tuzaklar olarak adlandırılır. Bir kesinti (yazılım veya donanım) yükseltildiğinde, kontrol, kesintinin neden olduğu koşulları işleyebilen ISR (Kesme Hizmeti Rutini) adı verilen özel bir alt rutine aktarılır..
Yukarıda belirtildiği gibi, Kesme terimi genellikle donanım kesintileri için ayrılmıştır. Harici donanım olaylarının neden olduğu program kontrol kesintileridir. Burada, CPU'nun dışındaki harici araçlar. 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) gibi birçok farklı kaynaktan gelir. kart, vb.). Bu, yürütme programıyla ilgili bir olay nedeniyle donanım kesintilerinin neredeyse hiç gerçekleşmediği anlamına gelir. Örneğin, kullanıcı tarafından klavyede bir tuşa basma gibi bir olay veya dahili bir donanım zamanlayıcı zaman aşımı bu tür kesintileri artırabilir ve CPU'ya belirli bir cihazın biraz ilgilenmesi gerektiğini bildirebilir. Böyle bir durumda CPU yaptığı her şeyi durduracaktır (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 altyordamın çağrılmasıdır, Kesme ise işlemcinin geçici olarak geçerli yürütmeyi tutmasına neden olan bir olaydır. Bununla birlikte, önemli bir fark, sistem çağrılarının senkronize olması, kesilmelerin 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 klavyeye bir tuşa basılması gibi beklenmedik bir olay nedeniyle kesintiler her zaman meydana gelebilir. Bu nedenle, herhangi bir sistem çağrısı gerçekleştiğinde, işlemci yalnızca nereye geri döneceğini hatırlamak zorundadır, ancak bir kesinti durumunda, işlemci hem geri dönülecek yeri hem de sistemin durumunu hatırlamak zorundadır. Sistem çağrısından farklı olarak, bir kesmenin mevcut programla bir ilgisi yoktur..