Sistem Çağrısı ve Kesme Arasındaki Fark

Anonim

Sistem Çağrısı vs Kesme

Tipik bir işlemci talimatları tek tek yürütür. Ancak, işlemcinin geçici olarak durması ve mevcut talimatı tutması ve bazı başka program veya kod bölümlerini yürütmesi (başka bir yerde bulunan) vesileler olabilir. Bunu yaptıktan sonra, işlemci normal yürütmeye geri döner ve bıraktığı yerden devam eder. Bir sistem çağrısı ve bir kesme böyle vesilelerdir. Bir sistem çağrısı, sisteme kurulmuş bir altprogram çağrısıdır. Bir kesme, harici donanım olaylarının neden olduğu bir program denetiminin kesilmesidir.

Sistem Çağrısı Nedir?

Sistem çağrıları, bilgisayarda çalışan programların işletim sistemi ile konuşmak için bir arabirim oluşturmasını sağlar. Bir program işletim sisteminin çekirdeğinden bir hizmet istemek durumunda (buna kendisi için izin verilmemektedir) bir sistem çağrısı kullanmaktadır. Kullanıcı düzeyindeki işlemlerin, işletim sistemiyle doğrudan etkileşime giren işlemler için aynı izinleri yoktur. Örneğin, dış I / O cihazı ile iletişim kurmak veya diğer işlemlerle etkileşim kurmak için, bir program sistem çağrılarını kullanmalıdır.

Kesme 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. Buna benzer olaylara kesmeler denir. Kesilme, yazılım veya donanım hatalarından kaynaklanabilir. Yazılım kesmelerine İstisnalar veya Tuzaklar denirken donanım kesmeleri (basitçe) Kesmeler denir. Bir kesme (yazılım veya donanım) yükseldiğinde, denetim kesme tarafından artan koşulları işleyebilen ISR (Kesme Hizmeti Yordamı) adı verilen özel bir altprograma aktarılır.

Yukarıda belirtildiği gibi, Kesme terimi genellikle donanım kesmeleri için ayrılmıştır (999). Harici donanım olaylarından kaynaklanan program denetimi kesintileri. Burada, harici CPU harici anlamına gelir. Donanım kesmeleri genellikle zamanlayıcı çipi, çevresel aygıtlar (klavye, fare, vb.), G / Ç bağlantı noktaları (seri, paralel, vb.), Disk sürücüleri, CMOS saati, genişletme kartları kart, video kartı vb.). Bu, donanım kesmelerinin, yürütülmekte olan programla ilgili bazı olaylar nedeniyle hemen hemen hiçbir zaman gerçekleşmediği anlamına gelir. Örneğin, kullanıcı tarafından klavyede bir tuşa basılması gibi bir olay veya bir iç donanım zamanlayıcı zaman aşımı, bu tür bir kesmeyi artırabilir ve CPU'ya belirli bir aygıta dikkat çekmek gerektiğini bildirebilir. Böyle bir durumda CPU herhangi bir şey yapmadan durur (yani, mevcut programı duraklar), cihazın istediği hizmeti sağlar ve normal programa geri döner. Sistem Araması ve Kesme arasındaki fark nedir?

Sistem çağrısı, sistemde yerleşik bir altprogramın çağrısıdır; Interrupt, işlemcinin mevcut yürütmeyi geçici olarak tutmasına neden olan bir olaydır. Bununla birlikte, sistem çağrılarının eşzamanlı olduğu, ancak kesmeler olmadığı büyük bir farktır. Sistem çağrılarının sabit bir zamanda (genellikle programcı tarafından belirlendiği) gerçekleştiği anlamına gelir, ancak kullanıcı tarafından klavyede bir tuşa basılması gibi beklenmeyen bir olay nedeniyle kesmeler her an gerçekleşebilir. Bu nedenle, herhangi bir zamanda bir sistem çağrısı gerçekleştiğinde, işlemcinin yalnızca nereye döneceğini hatırlaması gerekir, ancak bir kesme 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 kesme işlemi, o anki programla ilgisi yoktur.