Pengikatan alamat adalah cara instruksi dan data (yang berada di disk sebagai file yang dapat dieksekusi) dipetakan ke alamat memori. Sebagian besar system memperbolehkan sebuah proses user (user process) untuk meletakkan di sembarang tempat dari memori fisik. Sehingga, meskipun alamat dari komputer dimulai pada 00000, alamat pertama dari proses user tidak perlu harus dimulai 00000. Pada beberapa kasus, program user akan melalui beberapa langkah sebelum dieksekusi (Gambar 1-1). Alamat pada source program umumnya merupakan alamat simbolik. Sebuah compiler biasanya melakukan pengikatan alamat simbolik (symbolic address) ke alamat relokasi dipindah (relocatable address). Misalnya compiler mengikatkan alamat simbolik ke alamat relokasi "14 byte from the beginning of this module". Editor Linkage mengikatkan alamat relokasi ini ke alamat absolute (absolute addresses) "74014".
Instruksi pengikatan instruksi dan data ke alamat memori dapat dilakukan pada saat :
• Compile time : Jika lokasi memori diketahui sejak awal, kode absolut dapat
dibangkitkan, apabila terjadi perubahan alamat awal harus dilakukan kompilasi ulang. Misalnya : program format .com pada MS-DOS adalah kode absolut yang diikat pada saat waktu kompilasi
• Load time : Harus membangkitkan kode relokasi jika lokasi memori tidak diketahui pada saat waktu kompilasi.
• Execution time : Pengikatan ditunda sampai waktu eksekusi jika proses dapat
dipindahkan selama eksekusi dari satu segmen memori ke segmen memori lain. Memerlukan dukungan perangkat keras untuk memetakan alamat (misalnya register
basis dan limit).
Tidak ada komentar:
Posting Komentar