Kompilyatsiya vaqtida bog’lanish (compile-time). Agar xotira manzili apriori ma'lum bo'lsa, kompilyator absolyut manzillar bilan kod yaratishi mumkin. Xotirada dastur joylashuvidagi har qanday o'zgarish kompilyatsiya qilinishi kerak. Ushbu yondashuv xotirasi kam bo'lgan dastlabki kompyuter tizimlari uchun yoki rezident absolyut adreslaridan foydalanish bilan tavsiflangan OT yadrosining qismlari - tizim modullarini qayta ishlash va bajarish uchun xosdir. Foydalanuvchi dasturlari uchun bu yondashuv noqulay, chunki u yetarli darajada egiluvchanlikni, xususan, kodni boshqa xotira maydoniga o'zgarishsiz qayta yuklash imkoniyatini bermaydi.
Yuklash vaqtida bog’lash (load-time). Dasturni xotiraga yuklash - bu dastur bajarilishidan oldin uni tizim tomonidan qayta ishlash bosqichi. Dastur yuklanadigan xotira maydonining boshlang'ich manzili o'zgarishi uchun va bu dastur kodini o'zgartirish zaruratiga olib kelmasligi uchun quyidagi usul qo'llaniladi. Qayta joylashtiriladigan kod (relocatable code) yaratiladi - bunda adreslash joyni ko'chirish registrining (relocation register) qiymatiga nisbatan, xotiradagi manzil esa ko'chirish registri va buyruqda hisoblanadigan manzil yig'indisiga teng bo’ladi. Xuddi shunday, kodni xotiraning boshqa joyiga ko’chirib o’tkazish zarurati bo’lganda faqat ko’chirish registrining qiymatini o’zgartirish talab etiladi. Shunga o’xshash yondoshuv an’naviy dasturlash tillarida yozilgan dasturlar uchun keng qo’llaniladi.
Bajarilish vaqtida bog’lash (runtime) yoki dinamik (keyin) bog’lash. Agar jarayon bajarilish vaqtida xotiraning bir segmentidan boshqasiga o’tkazilishi mumkin bo’lsa qo’llaniladi. Bajarilish vaqtida bog’lanishni tatbiq qilish uchun adreslarni akslantirishning apparatli qo’llab-quvvatlashi talab etiladi – masalan, chegara va baza registrlari. Ko'pgina tizimlar foydalanuvchi dasturlari uchun birinchi navbatda bajarilish vaqtidagi bog’lanishdan foydalanadi.
Foydalanuvchi dasturlarini ko’p bosqichli qayta ishlash
Xotiraga dasturni joylashtirish va adreslashning barcha tafsilotlarini yaxshiroq tushunish uchun har qanday OTda foydalanuvchi dasturini ko'p bosqichli qayta ishlashning umumiy sxemasini ko'rib chiqamiz. 1-rasmda ushbu sxema tasvirlangan.
Do'stlaringiz bilan baham: |