Linker ve Loader Arasındaki Fark

Yazar: Laura McKinney
Yaratılış Tarihi: 3 Nisan 2021
Güncelleme Tarihi: 8 Mayıs Ayı 2024
Anonim
Derleyici ve Yorumlayıcı (Arasındaki Farklar ve Çevirici)
Video: Derleyici ve Yorumlayıcı (Arasındaki Farklar ve Çevirici)

İçerik


Linker ve Loader, bir programın yürütülmesinde büyük rol oynayan yardımcı programlardır. Bir programın Kaynak kodu yürütmeden önce derleyici, montajcı, bağlayıcı, yükleyici ilgili sırayla geçer. Bir yandan, nerede bağlayıcı assembler tarafından oluşturulan nesne kodlarını alır ve bunları yürütülebilir modülü oluşturmak için birleştirir. Diğer taraftan, yükleyici bu çalıştırılabilir modülü yürütmek için ana belleğe yükler. Karşılaştırma tablosu yardımıyla Linker ve loader arasındaki farkı tartışalım.

  1. Karşılaştırma Tablosu
  2. Tanım
  3. Anahtar Farklılıklar
  4. Sonuç

Karşılaştırma Tablosu

Karşılaştırma için temelbağlayıcıyükleyici
TemelBir kaynak programın çalıştırılabilir modülünü oluşturur.Yürütülebilir modülü ana belleğe yükler.
GirişBir assembler tarafından oluşturulan nesne kodunu girdi olarak alır.Bir linker tarafından oluşturulan çalıştırılabilir modülü alır.
fonksiyonYürütülebilir bir modül oluşturmak için bir kaynak kodun tüm nesne modüllerini birleştirir.Adresleri yürütmek için ana bellekteki yürütülebilir bir modüle tahsis eder.
Tür / YaklaşımBağlantı Editör, Dinamik linker.Mutlak yükleme, Taşınır yükleme ve Dinamik Çalışma zamanı yükleme.


Linker'un tanımı

Birleştirici, bir kaynak programın nesne kodunu oluşturur ve bağlayıcıya verir. Bağlayıcı bu nesne kodunu alır ve çalıştırılabilir kod program için ve Yükleyiciye verin.

Üst düzey bir dil, programlar bazı yerleşik kütüphaneler ve başlık dosyaları. Kaynak program, tanımı yerleşik kütüphanelerde saklanan bazı kütüphane fonksiyonlarını içerebilir. Bağlayıcı bu işlevi yerleşik kütüphanelere bağlar. Yerleşik kütüphanelerin bulunamaması durumunda derleyiciye bilgi verir ve derleyici daha sonra hatayı oluşturur.

Bazen büyük programlar denilen alt programlara ayrılır modüller. Şimdi bu modüller derlendiğinde ve birleştirildiğinde, kaynak programın nesne modülleri üretilir. Bağlayıcı, kaynak programın tek bir çalıştırılabilir dosyasını üretmek için tüm nesne modüllerini birleştirme / bağlama sorumluluğuna sahiptir. İki tip bağlayıcı var.


Bağlantı Düzenleyicisi: Değiştirilebilir, çalıştırılabilir bir modül oluşturan bir bağlayıcıdır.

Dinamik Bağlayıcı: Yük modülü / çalıştırılabilir modül üretilinceye kadar bazı harici modüllerin bağlantılarını korur / erteler. Burada bağlama yükleme süresi veya çalışma süresi boyunca yapılır.

Yükleyicinin tanımı

Halen yürütülecek program bilgisayarın ana hafızasında bulunmalıdır. Bu sorumluluğundadır , yükleyici Bir işletim sisteminde, linker tarafından oluşturulan bir programın yürütülebilir dosyasını / modülünü yürütmek için ana belleğe yüklemek için bir program. Bellek alanını ana bellekteki çalıştırılabilir modüle tahsis eder.

Üç çeşit yükleme yaklaşımı vardır:

  • Mutlak yükleme
  • Değiştirilebilir yükleme
  • Dinamik çalışma zamanı yükleme

Mutlak yükleme: Bu yaklaşım, bir programın yürütülebilir dosyasını bir programa yükler. aynı ana hafıza yeri Her seferinde Ama bazı Dezavantajları Bir programcı gibi modülleri ana belleğe yüklemek için atama stratejisinin farkında olmalıdır. Programa, programa bir miktar ekleme ve silme dahil olmak üzere değiştirilecek olması durumunda, programın tüm adreslerinin değiştirilmesi gerekir.

Değiştirilebilir yükleme: Bu yaklaşımda, derleyici veya montajcı yapar gerçek ana hafıza adresini üretme. Göreceli adresleri üretir.

Dinamik Çalışma Zamanı yüklemesi: Bu yaklaşımda, bir programın mutlak adresi, çalıştırılabilir bir modülün talimatı gerçekten gerçekleştirildiğinde üretilir. Çok esnektir, yüklenebilir modül / çalıştırılabilir modül içine yüklenebilir ana belleğin herhangi bir bölgesi. Yürütme programı, aralarında kesintiye uğrayabilir ve bu sefer farklı bir ana hafıza adresinde diske ve ana hafızaya geri alınabilir.

  1. Bağlayıcı ve yükleyici arasındaki temel fark, bağlayıcının yürütülebilir bir programın dosyası ise yükleyici, linkerden elde edilen çalıştırılabilir dosyayı içine yükler. yürütme için ana bellek.
  2. Bağlayıcı nesne modülü assembler tarafından oluşturulan bir programın. Bununla birlikte, yükleyici çalıştırılabilir modül linker tarafından üretilir.
  3. Bağlayıcı, oluşturulacak programın tüm nesne modülünü birleştirir. çalıştırılabilir modüller Aynı zamanda kütüphane işlevi nesne modülünde yerleşik kütüphaneler yüksek seviye programlama dili. Öte yandan, yükleyici çalıştırılabilir bir dosyaya yer ayırır Ana bellekteki modül.
  4. Bağlayıcı olarak sınıflandırılabilir bağlantı editörü, ve dinamik bağlayıcı yükleyici olarak sınıflandırılabilir mutlak yükleyici, yer değiştirebilir yükleyici ve dinamik çalışma zamanı yükleyici.

Sonuç:

Bağlayıcı, bir programın nesne modüllerini montajcıdan alır ve bir programın çalıştırılabilir bir modülünü oluşturmak için bunları birbirine bağlar. Yürütülebilir modül daha sonra yükleyici tarafından yürütülmesi için ana belleğe yüklenir.