Disyorkan, 2024

Pilihan Editor

Perbezaan Antara Pemasang dan Pemuat

Linker and Loader adalah program utiliti yang memainkan peranan penting dalam pelaksanaan program. Kod sumber sebuah program melalui pengkompil, penghimpun, penghubung, loader dalam susunan masing-masing, sebelum pelaksanaan. Di satu pihak, di mana penghubung menghubungkan kod objek yang dihasilkan oleh penghimpun dan menggabungkannya untuk menghasilkan modul boleh laku. Di sisi lain, loader memuat modul yang boleh dieksekusi ke memori utama untuk pelaksanaan. Marilah kita membincangkan perbezaan antara Pemasang dan pemuat dengan bantuan carta perbandingan.

Carta Perbandingan

Asas untuk PerbandinganPemancarLoader
AsasIa menjana modul program sumber yang dapat dilaksanakan.Ia memuat modul yang boleh dilaksanakan ke memori utama.
InputIa diperlukan sebagai input, kod objek yang dihasilkan oleh penghimpun.Ia mengambil modul luaran yang dihasilkan oleh penghubung.
FungsiIa menggabungkan semua modul objek kod sumber untuk menghasilkan modul yang boleh dilaksanakan.Ia memperuntukkan alamat ke modul boleh laku dalam memori utama untuk pelaksanaan.
Jenis / PendekatanEditor Linkage, Dynamic linker.Pembebanan mutlak, memuatkan Relocatable dan beban Dinamik Run-time.

Definisi Penender

Assembler menghasilkan kod objek program sumber dan menyerahkannya kepada penyambung. Penaut mengambil kod objek ini dan menghasilkan kod executable untuk program, dan menyerahkannya kepada Loader.

Bahasa tingkat tinggi, program mempunyai beberapa perpustakaan terbina dalam dan fail header . Program sumber mungkin mengandungi beberapa fungsi perpustakaan yang definisinya disimpan dalam perpustakaan terbina dalam. Pautan ini menghubungkan fungsi ini ke perpustakaan terbina dalam. Sekiranya perpustakaan terbina dalam tidak dijumpai ia memberitahu kepada pengkompil, dan pengkompil kemudian menghasilkan ralat.

Kadangkala program besar dibahagikan kepada subprogram yang dipanggil modul . Sekarang apabila modul ini disusun dan dipasang, modul objek program sumber dihasilkan. Penautan mempunyai tanggungjawab menggabungkan / menghubungkan semua modul objek untuk menghasilkan satu fail boleh laku dari program sumber. Kami mempunyai dua jenis penghubung.

Editor Linkage : Ia adalah penghubung yang menjana modul yang boleh dipindahkan dan boleh dieksekusi.

Linker Dinamik : Ia menundukkan / menunda hubungan beberapa modul luar sehingga modul beban / modul boleh laku dihasilkan. Di sini, penyambungan dilakukan semasa masa beban atau masa berjalan.

Takrifan Loader

Oleh kerana program yang perlu dilaksanakan sekarang mesti berada di memori utama komputer. Ia adalah tanggungjawab loader, sebuah program dalam sistem operasi, untuk memuatkan file / modul yang boleh dilaksanakan dari suatu program, yang dihasilkan oleh penghubung, ke memori utama untuk pelaksanaan. Ia memperuntukkan ruang memori kepada modul boleh laku dalam memori utama.

Terdapat tiga jenis pendekatan pemuatan:

  • Pemuatan mutlak
  • Pemuatan yang boleh dibebaskan
  • Beban jangka masa dinamik

Pemuatan mutlak : Pendekatan ini memuatkan fail boleh laku program ke lokasi memori utama yang sama setiap kali. Tetapi ia mempunyai beberapa kekurangan seperti seorang pengaturcara mesti menyedari strategi tugasan untuk memuatkan modul ke ingatan utama. Sekiranya program itu diubah suai melibatkan beberapa penyisipan dan penghapusan dalam program, maka semua alamat program perlu diubah.

Pemuatan yang boleh dibebaskan: Dalam pendekatan ini, pengkompil atau penghimpun tidak menghasilkan alamat memori utama yang sebenarnya . Ia menghasilkan alamat relatif.

Pemuatan Dynamic Run-Time : Dalam pendekatan ini, alamat mutlak untuk suatu program dijana apabila suatu arahan modul yang boleh dilaksanakan sebenarnya dilaksanakan. Ia sangat fleksibel, modul boleh dimuatkan / modul boleh laku boleh dimuatkan ke mana-mana kawasan memori utama . Program pelaksana boleh terganggu di antara dan boleh ditukar ke cakera dan kembali ke memori utama kali ini di alamat memori utama yang berbeza.

Perbezaan Utama Antara Pemasang dan Pemuat

  1. Perbezaan utama antara penghubung dan pengangkut ialah penghubung menghasilkan file eksekusi dari suatu program sedangkan loader memuat file yang dapat dieksekusi yang diperoleh dari penghubung ke memori utama untuk pelaksanaan .
  2. Pemaut menghubungkan modul objek suatu program yang dihasilkan oleh penghimpun. Walau bagaimanapun, loader mengintip modul boleh laku yang dijana oleh penghubung.
  3. Linker menggabungkan semua modul objek program untuk menghasilkan modul yang boleh dilaksanakan yang juga menghubungkan fungsi perpustakaan dalam modul objek ke perpustakaan terbina dalam bahasa pengaturcaraan peringkat tinggi. Di sisi lain, loader memperuntukkan ruang kepada modul boleh laku dalam memori utama.
  4. Penautan boleh diklasifikasikan sebagai editor linkage, dan linker dinamik sedangkan loader dapat diklasifikasikan sebagai loader mutlak, loader relocatable dan loader time-dynamic dinamik .

Kesimpulan:

Penaut mengambil modul objek dari program dari assembler dan menghubungkannya bersama-sama untuk menghasilkan modul yang boleh dilaksanakan dari suatu program. Modul yang boleh dieksekusi kemudian dimuatkan oleh loader ke dalam memori utama untuk pelaksanaan.

Top