Sistem Çağrısı ve İşlev Çağrısı
Tipik bir işlemci talimatları tek tek yürütür. Ancak işlemcinin geçerli talimatı durdurması ve başka bir program veya kod segmenti yürütmesi (başka bir yerde ikamet etmek) 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 işlev çağrısı bu tür olaylardır. Sistem çağrısı, sistemde yerleşik bir altyordam çağrısıdır. İşlev çağrısı, programın kendi içindeki bir alt yordama yapılan çağrıdır.
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 bunu yapma 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, bir harici G / Ç cihazı ile iletişim kurmak veya diğer işlemlerle etkileşim kurmak için bir program sistem çağrılarını kullanır.
İşlev Çağrısı nedir?
Bir işlev çağrısına alt rutin çağrı da denir. Bir altyordam (prosedür, fonksiyon, yöntem veya rutin olarak da bilinir), belirli bir görevi yerine getirmekten sorumlu daha büyük bir programın parçasıdır. Daha büyük program ağır bir iş yükü yürütebilir ve altyordam, kalan program kodlamasından bağımsız olan basit bir görevi yerine getirebilir. Bir işlev, birden çok kez ve farklı yerlerden (diğer işlevlerin içinden bile) çağrılabilecek şekilde kodlanır. Bir işlev çağrıldığında, işlemci işlev kodunun bulunduğu yere gidebilir ve işlevin talimatlarını tek tek yürütebilir. İşlevleri tamamladıktan sonra, işlemci tam olarak kaldığı yere geri dönecek ve bir sonraki talimattan başlayarak yürütmeye devam edecektir. İşlevler, kodun yeniden kullanımı için mükemmel bir araçtır. Birçok modern programlama dili fonksiyonları desteklemektedir. Bir işlev koleksiyonuna kütüphane denir. Kütüphaneler genellikle yazılım paylaşımı ve ticareti için kullanılır. Bazı durumlarda, programın tamamı bir dizi alt program olabilir (örneğin, dişli kod derlemesi).
Sistem Çağrısı ile İşlev Çağrısı arasındaki fark nedir?
Sistem çağrısı, sistemde yerleşik bir altyordamın çağrılmasıdır, işlev çağrısı ise program içindeki bir altyordamın çağrılmasıdır. İşlev çağrılarının aksine, sistem çağrıları, bir programın ayrıcalığı olmayan bir görev gerçekleştirmesi gerektiğinde kullanılır. Sistem çağrıları, işletim sistemi çekirdeğine giriş noktalarıdır ve programa bağlı değildir (işlev çağrıları gibi). Sistem çağrılarının aksine, işlev çağrıları taşınabilir. Bir sistem çağrısının zaman ek yükü, bir işlev çağrısının ek yükünden daha fazladır, çünkü kullanıcı modu ile çekirdek modu arasında bir geçiş yapılması gerekir. Sistem çağrıları çekirdek adres alanında yürütülürken, işlev çağrıları kullanıcı adres alanında yürütülür.