Anahtar Farkı – Bağlayıcı ve Yükleyici
Bilgisayara talimat vermek için bir bilgisayar programı kullanılır. Belirli bir programlama dili kullanılarak yazılmıştır. C, Java gibi programlama dilleri üst düzey programlama dilleridir ve insanlar tarafından anlaşılır ancak bilgisayar tarafından anlaşılmaz. Bu nedenle, yüksek seviyeli bir program, bir dil çevirmeni kullanılarak makine diline dönüştürülür. Yüksek seviyeli bir dil kullanılarak yazılmış bir program bir kaynak kodudur. Dönüştürmeden sonra çevrilen koda nesne kodu denir. Bağlayıcı ve yükleyici, program yürütme için kullanılan iki yazılım programıdır. Bu makalede Bağlayıcı ve Yükleyici arasındaki fark anlatılmaktadır. Linker, nesne kodunu başlık dosyaları gibi ek dosyalara bağlayan ve.exe uzantılı yürütülebilir bir dosya oluşturan yazılımdır. Yükleyici, bağlayıcı tarafından oluşturulan yürütülebilir dosyayı ana belleğe yükleyen sistem yazılımıdır. Linker ve Loader arasındaki temel fark budur.
Bağlayıcı nedir?
Bir bilgisayar programı, belirli bir görevi gerçekleştirmek için bilgisayara verilen bir dizi talimattır. Bir bilgisayar programı, bir programlama dili kullanılarak yazılabilir. Çoğu programlama dili üst düzey programlamadır. Programcı tarafından kolayca anlaşılabilir ve okunabilirler. Bu diller, İngilizce diline benzer bir sözdizimi izler. Yüksek seviyeli dillerin bazı örnekleri Java, C ve Python'dur. Üst düzey bir programlama dili kullanılarak yazılan bir program, kaynak kod, kaynak dosya veya kaynak program olarak bilinir. Kaynak kodun uzantısı, geliştirildiği dile bağlıdır. Kaynak kodu C++ ile yazılmışsa, dosya uzantısı.cpp. Kaynak kodu Python ile yazılmışsa uzantısı.py. şeklindedir.
Kaynak kodu bile programcı tarafından anlaşılabilir; bilgisayar tarafından anlaşılmaz. Bu nedenle, kaynak kod, bir dil çevirmeni kullanılarak makine tarafından anlaşılabilir bir biçime dönüştürülmelidir. Derleyici veya yorumlayıcı olabilir. Çevrilen kod, nesne kodu olarak bilinir. Nesne kodu makine dilindedir. Sıfır ve bir defadan oluşur. Bilgisayar nesne kodunu doğrudan anlayabilir..obj uzantısına sahiptir. Test.c olarak bir kaynak kodu varsa derleyiciden geçer ve dönüştürülen kod Test.obj olur.
Linker, nesne kodunu başlık dosyaları gibi ek dosyalara bağlayan ve.exe uzantılı yürütülebilir bir dosya oluşturan yazılımdır. Program yerleşik işlevleri kullanmış olabilir. Bu yerleşik işlevlerin işlevleri başlık dosyalarındadır. Yukarıda açıklanan örneğe göre, Test olan nesne kodu.obj, Linker kullanılarak gerekli başlık dosyalarıyla eklenir. Test.exe olarak bilinen yeni bir dosya oluşturur. Yürütülebilir bir dosyadır. Bu nedenle, bilgisayar tarafından yürütülebilir.
Yükleyici nedir?
Çalışması gereken bir program belleğe yerleştirilmelidir. Bağlayıcı, nesne kodunu ve başlık dosyalarını birbirine bağlar ve yürütülebilir dosyanın çıktısını verir. Yükleyici, bağlayıcı tarafından oluşturulan yürütülebilir dosyayı ana belleğe yükleyen sistem yazılımıdır. Bellek alanını ana bellekteki yürütülebilir modüle ayırır. Bu nedenle yükleyici, işletim sisteminin programları ve kitaplıkları yüklemekten sorumlu bir parçasıdır.
Şekil 01: Kaynak Kodun Belleğe yüklenme sırası
Bir program yüklemek birkaç adımdan oluşur. Program talimatını içeren yürütülebilir dosyanın içeriğini belleğe okumayı ve ayrıca yürütülebilir dosyayı çalıştırmak için gerekli hazırlık görevlerini gerçekleştirmeyi içerir. Yükleme tamamlandıktan sonra işletim sistemi, kontrolü yüklenen program koduna geçirerek programı başlatır. Gömülü sistemler gibi özel bilgisayar sistemlerinde genellikle yükleyici bulunmaz. Kod doğrudan ROM tarafından yürütülür.
Bağlayıcı ve Yükleyici Arasındaki İlişki Nedir?
Bağlayıcının çıktısı Yükleyiciye gider
Bağlayıcı ve Yükleyici Arasındaki Fark Nedir?
Bağlayıcı ve Yükleyici |
|
Linker, nesne kodunu başlık dosyaları gibi ek dosyalara bağlayan ve.exe uzantılı yürütülebilir bir dosya oluşturan yazılımdır. | Yükleyici, bağlayıcı tarafından oluşturulan yürütülebilir dosyayı ana belleğe yükleyen sistem yazılımıdır. |
Giriş | |
Bağlayıcı, nesne kodu olan dil çevirmeninin çıktısını alır. | Yükleyici, çıktıyı yürütülebilir dosya olan bağlayıcıdan alır. |
İşlevsellik | |
Bağlayıcı, nesne kodunu ve başlık dosyalarını birbirine bağlar ve yürütülebilir dosyanın çıktısını verir. | Yükleyici, bağlayıcıdan alınan yürütülebilir dosyayı ana belleğe yükler. |
Özet – Bağlayıcı ve Yükleyici
Bağlayıcı ve Yükleyici, program yürütmeyle ilgili iki yazılım bileşenidir. Bu makale, Bağlayıcı ve Yükleyici arasındaki farkı tartıştı. Linker, nesne kodunu başlık dosyaları gibi ek dosyalara bağlayan ve.exe uzantılı yürütülebilir bir dosya oluşturan yazılımdır. Yükleyici, bağlayıcı tarafından oluşturulan yürütülebilir dosyayı ana belleğe yükleyen sistem yazılımıdır. Bağlayıcı ve Yükleyici arasındaki fark budur.